/**
 * Editorial look, site-wide.
 *
 * Carries the editorial homepage's type and controls onto every page: serif
 * display headings, small letter-spaced uppercase labels, square buttons and
 * frameless product cards. Loaded last, after halfticket.css, so it layers
 * over the base theme without editing it — delete this file's enqueue to get
 * the previous look back.
 */

:root {
	--pl-font-serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
	--pl-ed-sand: #f5f0ea;
	--pl-ed-line: #e7e2dc;
	--pl-ed-track: 0.2em;

	/* Square corners everywhere — panels, cards, fields, images. Only the
	   fully-round radius (icon buttons, avatars) is left alone. */
	--pl-radius-sm: 0;
	--pl-radius: 0;
	--pl-radius-lg: 0;
	--pl-radius-xl: 0;
	--pl-radius-2xl: 0;
}

/* ---- display headings ---- */

.pl-section-head__title,
.pl-shop-title,
.pl-pdp__title,
.pl-checkout__title,
.pl-contact__title,
.pl-cta__title,
.pl-story__title,
.pl-hero__title,
.pl-wishlist__title,
.pl-features__title,
.pl-post__title,
.pl-auth__pagetitle,
.pl-journal h1,
.pl-prose h1,
.pl-prose h2,
.related.products > h2,
.upsells.products > h2,
.cart_totals h2,
.woocommerce-products-header__title,
.entry-title,
.page-title {
	font-family: var(--pl-font-serif);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.1;
	color: var(--pl-text-primary);
}

/* The serif has a smaller x-height, so it needs more size to hold its weight. */
.pl-section-head__title { font-size: clamp(2rem, 4vw, 2.75rem); }
.pl-shop-title,
.pl-checkout__title,
.pl-contact__title,
.pl-auth__pagetitle,
.pl-wishlist__title { font-size: clamp(2.25rem, 5vw, 3.25rem); }
.pl-pdp__title { font-size: clamp(1.875rem, 3.5vw, 2.5rem); }
.pl-cta__title,
.pl-story__title { font-size: clamp(2rem, 4.5vw, 3rem); }
.pl-prose h2,
.related.products > h2,
.upsells.products > h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
.cart_totals h2 { font-size: 1.75rem; }
.pl-post__title { font-size: 1.375rem; line-height: 1.2; }

.pl-story__title { font-style: italic; }

/* page.php prints its <h1> with an inline 2rem; the serif needs more. */
.pl-section-head__title[style] { font-size: clamp(2.25rem, 5vw, 3.25rem) !important; }

/* ---- eyebrows & small labels ---- */

.pl-eyebrow,
.pl-hero__eyebrow,
.pl-tile__eyebrow,
.pl-post__cat,
.pl-card__cat {
	font-family: var(--pl-font-sans);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: var(--pl-ed-track);
	text-transform: uppercase;
}

.pl-eyebrow,
.pl-card__cat { color: var(--pl-text-muted); }

/* "View all"-style links: underlined uppercase, like the homepage. */
.pl-section-head__link,
.pl-post__more,
.pl-tile__cta {
	padding-bottom: 0.25rem;
	border-bottom: 1px solid currentColor;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: var(--pl-ed-track);
	text-transform: uppercase;
	color: var(--pl-text-primary);
}

.pl-section-head__link:hover,
.pl-post__more:hover { color: var(--pl-primary-ink); }
.pl-section-head__link span,
.pl-post__more span { display: none; }

/* ---- buttons ---- */

.pl-btn,
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.pl-pdp .single_add_to_cart_button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.checkout-button,
.woocommerce button#place_order,
.pl-card__foot .added_to_cart {
	border-radius: 0;
	font-family: var(--pl-font-sans);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.pl-btn { font-size: 0.75rem; padding: 0.875rem 1.75rem; }
.pl-btn--sm { font-size: 0.6875rem; padding: 0.625rem 1rem; letter-spacing: 0.14em; }
.pl-btn--lg { font-size: 0.75rem; padding: 1rem 2.25rem; }

/* Primary fills go ink-black with a raspberry hover — the brand colour now
   marks interaction and sale prices rather than every button on the page. */
.pl-btn--primary,
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.pl-pdp .single_add_to_cart_button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.checkout-button,
.woocommerce button#place_order {
	background: var(--pl-text-primary);
	border-color: var(--pl-text-primary);
	color: #fff;
}

.pl-btn--primary:hover,
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.pl-pdp .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.checkout-button:hover,
.woocommerce button#place_order:hover {
	background: var(--pl-primary);
	border-color: var(--pl-primary);
	color: var(--pl-on-primary);
}

.pl-btn--outline { background: transparent; border-color: var(--pl-text-primary); color: var(--pl-text-primary); }
.pl-btn--outline:hover { background: var(--pl-text-primary); color: #fff; }

/* On dark panels an ink button vanishes, so invert it to white — the same
   treatment as the homepage hero and banner buttons. */
.pl-footer .pl-btn--primary,
.pl-footer .wpcf7-submit,
.pl-cta .pl-btn--primary,
.pl-hero .pl-btn--primary,
.pl-hero .pl-hero__btn--main {
	background: #fff;
	border-color: #fff;
	color: var(--pl-text-primary);
}

.pl-footer .pl-btn--primary:hover,
.pl-footer .wpcf7-submit:hover,
.pl-cta .pl-btn--primary:hover,
.pl-hero .pl-btn--primary:hover,
.pl-hero .pl-hero__btn--main:hover {
	background: var(--pl-primary);
	border-color: var(--pl-primary);
	color: var(--pl-on-primary);
}

.pl-cta .pl-btn--outline { border-color: rgb(255 255 255 / 0.7); color: #fff; }
.pl-cta .pl-btn--outline:hover { background: #fff; color: var(--pl-text-primary); }

/* Header account button keeps the brand fill — it's the one pink anchor
   in the chrome, as in the homepage design. */
.pl-header__signin.pl-btn--primary { background: var(--pl-primary); border-color: var(--pl-primary); }
.pl-header__signin.pl-btn--primary:hover { background: var(--pl-text-primary); border-color: var(--pl-text-primary); }

/* ---- product cards: frameless, image-led ---- */

.pl-card {
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
}

.pl-card:hover {
	border-color: transparent;
	box-shadow: none;
	transform: none;
}

.pl-card__media {
	border-radius: 0;
	background: var(--pl-ed-sand);
}

@media (hover: hover) {
	.pl-card:hover .pl-card__media img { transform: scale(1.04); }
}

.pl-card__body,
.pl-card--sm .pl-card__body { padding: 0.875rem 0 0; gap: 0.3125rem; }

.pl-card__title,
.pl-card--sm .pl-card__title {
	font-family: var(--pl-font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.4;
}

.pl-card__title a:hover { color: var(--pl-text-primary); text-decoration: underline; text-underline-offset: 3px; }

.pl-card__wishlist { width: 2.25rem; height: 2.25rem; box-shadow: none; color: var(--pl-text-primary); }
.pl-card__wishlist:hover,
.pl-card__wishlist[aria-pressed="true"] { color: var(--pl-primary-ink); }

.pl-price__now { font-size: 0.875rem; font-weight: 600; letter-spacing: 0; }
.pl-card .pl-price__now { color: var(--pl-primary-ink); }
.pl-price__was { font-size: 0.8125rem; }

/* ---- badges: small white labels, as on the homepage ---- */

.pl-badge {
	border-radius: 0;
	padding: 0.3125rem 0.5rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.pl-badge--sale { background: #fff; color: var(--pl-primary-ink); }
.pl-badge--limited { background: var(--pl-text-primary); color: #fff; }

/* ---- category tiles, panels, posts ---- */

.pl-tile,
.pl-hero,
.pl-hero.pl-hero--sale,
.pl-story__media,
.pl-post,
.pl-panel { border-radius: 0; }

.pl-tile__title {
	font-family: var(--pl-font-serif);
	font-weight: 500;
	font-size: 1.75rem;
	letter-spacing: 0;
}

.pl-panel--alt { background: var(--pl-ed-sand); }

.pl-post { border-color: var(--pl-ed-line); }
.pl-post:hover { box-shadow: none; border-color: var(--pl-text-primary); }

/* ---- form fields: square to match the buttons ---- */

.pl-input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wpcf7-form-control:not(.wpcf7-submit) { border-radius: 0; }
