/*
Theme Name: Alis - Rayures
Description: Thème enfant des Boucles d’Alis : rayures noires et blanches, typographie éditoriale et bijoux colorés.
Author: Les Boucles d’Alis
Template: boucles-d-alis
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: alis-rayures
*/

/* La Parisienne: a continuous striped backdrop behind white content panels.
   Loaded only when the Alis - Rayures child theme is active. */
body.bda-rayures {
	--bda-bg: #fff;
	--bda-surface: #fff;
	--bda-text: #111;
	--bda-muted: #595959;
	--bda-accent: #111;
	--bda-accent-soft: #f1f1f1;
	--bda-accent-hover: #363636;
	--bda-border: #d5d5d5;
	--bda-radius: 2px;
	--bda-tile-radius: 18px;
	--bda-shadow: 0 16px 48px rgb(0 0 0 / 12%);
	--rayures-shell: 1240px;
	--rayures-gutter: 112px;
	--rayures-band: 60px;
	--rayures-white-edge: calc(var(--rayures-band) / 4);
	/* White edge layers guarantee at least a quarter-band at both sides,
	   independently of viewport width and the repeating pattern's phase. */
	background-color: #fff;
	background-image:
		linear-gradient(#fff, #fff),
		linear-gradient(#fff, #fff),
		repeating-linear-gradient(90deg, #111 0 var(--rayures-band), #fff var(--rayures-band) calc(var(--rayures-band) * 2));
	background-size: var(--rayures-white-edge) 100%, var(--rayures-white-edge) 100%, auto;
	background-position: left top, right top, center top;
	background-repeat: no-repeat, no-repeat, repeat;
	color: var(--bda-text);
}

.bda-rayures .bda-header,
.bda-rayures .bda-footer {
	width: min(var(--rayures-shell), calc(100% - var(--rayures-gutter)));
	margin-inline: auto;
	background: #fff;
	border-inline: 1px solid #111;
}

.bda-rayures .bda-header {
	position: relative;
	top: auto;
	width: 100%;
	margin-top: 24px;
	border: 0;
	backdrop-filter: none;
}

.bda-rayures .bda-header__inner {
	width: min(var(--rayures-shell), calc(100% - var(--rayures-gutter)));
	margin-inline: auto;
	min-height: 78px;
	padding: 14px 38px;
}

.bda-rayures .bda-brand { gap: 12px; }
.bda-rayures .bda-brand__logo { width: 27px; height: 36px; }
.bda-rayures .bda-brand__name { display: none; }
.bda-rayures .bda-cart-link {
	min-height: 42px;
	padding: 10px 17px;
	border: 1px solid #111;
	border-radius: 0;
	background: #fff;
}
.bda-rayures .bda-cart-link:hover { background: #111; color: #fff; }

.bda-rayures .bda-main {
	width: min(var(--rayures-shell), calc(100% - var(--rayures-gutter)));
	margin-inline: auto;
	min-height: 60vh;
	padding-inline: 38px;
	padding-bottom: 24px;
	background: transparent;
	border: 0;
}

body.bda-rayures.bda-cart-page .bda-main,
body.bda-rayures.bda-checkout-page .bda-main {
	width: min(var(--rayures-shell), calc(100% - var(--rayures-gutter)));
}
.bda-rayures.bda-cart-page .bda-page__content,
.bda-rayures.bda-checkout-page .bda-page__content { border: 1px solid #111; padding: clamp(16px, 3vw, 32px); }

.bda-rayures .bda-hero {
	max-width: 860px;
	margin: 32px auto 28px;
	padding: 38px 28px 32px;
	background: #fff;
	border: 1px solid #111;
	text-align: center;
}

.bda-rayures .bda-hero__title {
	margin: 0;
	padding: 0;
	font-size: clamp(40px, 5.7vw, 80px);
	line-height: 1.08;
	letter-spacing: -.055em;
}

.bda-rayures .bda-hero__subtitle {
	margin: 19px 0 26px;
	color: #333;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .19em;
	text-transform: uppercase;
}

/* Separate masthead and navigation, with one row of filters at every size. */
.bda-rayures .bda-header--masthead { margin-bottom: 20px; }
.bda-rayures .bda-header--masthead .bda-header__inner {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 64px;
	grid-template-areas: "brand title actions";
	align-items: center;
	gap: 20px;
	min-height: 0;
	padding: 24px 38px;
}
.bda-header--masthead .bda-brand { grid-area: brand; }
.bda-header--masthead .bda-rayures-heading { grid-area: title; min-width: 0; text-align: center; }
.bda-header--masthead .bda-header__actions { grid-area: actions; justify-self: end; }
.bda-rayures .bda-header--masthead .bda-hero__title { font-size: clamp(42px, 6.45vw, 90px); white-space: nowrap; }
.bda-rayures .bda-rayures-nav {
	position: relative;
	z-index: 20;
	width: 100%;
	margin: 0 auto 28px;
	padding: 14px 20px;
	border: 0;
	background: #fff;
}
.bda-rayures-nav .bda-filters {
	display: grid;
	grid-template-columns: minmax(44px, .85fr) minmax(44px, .8fr) 1.2fr 1.25fr 1fr;
	max-width: 650px;
	margin-inline: auto;
}
.bda-rayures-nav .bda-filters > * { min-width: 0; }
.bda-rayures-nav .bda-filter-panel[open] { order: 0; }
.bda-rayures-nav .bda-filter-panel__body {
	position: absolute;
	top: calc(100% + .5rem);
	left: 50%;
	transform: translateX(-50%);
	width: min(22rem, calc(100vw - 2rem));
	max-height: min(65vh, 34rem);
	margin-top: 0;
	overflow-y: auto;
	box-shadow: var(--bda-shadow);
}
.bda-rayures .bda-rayures-nav .bda-filter {
	width: 100%;
	justify-content: center;
	padding: 10px 8px;
	white-space: nowrap;
	font-size: 12px;
}
.bda-rayures-nav .bda-filter-panel.is-active > summary { background: #111; color: #fff; }
.bda-rayures .bda-nl-flash { padding: 12px; border: 1px solid #111; background: #fff; }

.bda-rayures .bda-filters { gap: 0; }
.bda-rayures .bda-filter {
	min-height: 44px;
	padding: 12px 21px;
	border: 0;
	border-radius: 0;
	background: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .025em;
}
.bda-rayures .bda-filters > * + * { margin-left: 0; }
.bda-rayures .bda-filter.is-active,
.bda-rayures .bda-filter:hover,
.bda-rayures .bda-filter-panel[open] > summary { background: #111; color: #fff; }
.bda-rayures .bda-filter-panel__body { border: 1px solid #111; border-radius: 0; }
.bda-rayures .bda-chip { border-radius: 0; }

.bda-rayures .bda-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px 18px;
	padding-top: 0;
}
.bda-rayures .bda-grid--gifts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bda-rayures .bda-card { min-width: 0; padding: 7px 7px 0; border: 1px solid #111; border-radius: var(--bda-tile-radius); background: #fff; }
.bda-rayures .bda-card__media,
.bda-rayures .bda-card__track,
.bda-rayures .bda-card__image { border-radius: var(--bda-tile-radius); box-shadow: none; }
.bda-rayures .bda-card__media { overflow: hidden; }
.bda-rayures .bda-card__media:hover .bda-card__image,
.bda-rayures .bda-card__media:focus-visible .bda-card__image { transform: none; box-shadow: none; }
.bda-rayures .bda-card__label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 13px 4px 15px;
	font-size: 21px;
	line-height: 1.25;
}
.bda-rayures .bda-card__label::after { content: '↗'; font-family: var(--bda-font-body); font-size: 17px; }
.bda-rayures .bda-card__button:hover .bda-card__label { text-decoration: underline; text-underline-offset: 4px; }
.bda-rayures .bda-card__badge { border-radius: 0; background: #111; }
.bda-rayures .bda-card__price,
.bda-rayures .bda-card__cta { margin: 0 4px 12px; }

/* Catalogue pairs sit directly on the stripes. Keep a named keyboard link
   without covering the image carousel or its photo controls. */
.bda-rayures .bda-card:not(.bda-card--gift) {
	width: 88%;
	justify-self: center;
	padding: 0;
	border: 0;
	background: transparent;
}
.bda-rayures .bda-card:not(.bda-card--gift) .bda-card__button {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.bda-rayures .bda-card:not(.bda-card--gift) .bda-card__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.bda-rayures .bda-card:not(.bda-card--gift) .bda-card__label::after { content: none; }

/* Continue the same visual system through product dialogs and all pages. */
.bda-rayures .bda-btn,
.bda-rayures .bda-nl__submit,
.bda-rayures .bda-nl__row input[type="email"],
.bda-rayures .woocommerce button.button,
.bda-rayures .woocommerce a.button,
.bda-rayures .woocommerce input.input-text { border-radius: 0; }
.bda-rayures .woocommerce button.button,
.bda-rayures .woocommerce a.button,
.bda-rayures .woocommerce input.button,
.bda-rayures .woocommerce #payment #place_order { border-radius: 0 !important; }
.bda-rayures .woocommerce-cart-form .actions .coupon input[type="text"],
.bda-rayures .woocommerce-shipping-methods li,
.bda-rayures .woocommerce table.shop_table .product-thumbnail a { border-radius: 0; }
.bda-rayures .bda-btn { border: 1px solid #111; font-size: 12px; letter-spacing: .035em; }
.bda-rayures .bda-modal__dialog,
.bda-rayures .bda-nl-pop { border: 1px solid #111; border-radius: 0; background: #fff; }
.bda-rayures .bda-modal__backdrop { background: rgb(0 0 0 / 65%); }
.bda-rayures .bda-modal__close { border: 1px solid #111; border-radius: 0; background: #fff; }
.bda-rayures .bda-home-close { padding: 28px; margin-bottom: 0; border: 1px solid #111; background: #fff; font-family: var(--bda-font-display); font-size: 20px; font-style: italic; }
.bda-rayures .bda-grid-status { padding-bottom: 0; }
.bda-rayures .bda-grid-status:not(:empty) { margin-bottom: 20px; padding: 12px 16px; border: 1px solid #111; background: #fff; }

/* Text and forms keep an opaque backing while the page canvas stays striped. */
.bda-rayures .bda-main > :is(.bda-gifts, .bda-sm-landing, .bda-about, .bda-contact, .bda-sur-mesure, .bda-concours, .bda-gift-page) {
	margin-block: 32px;
	padding: clamp(18px, 3vw, 36px);
	border: 1px solid #111;
	background: #fff;
}
.bda-rayures .bda-gifts__intro h1,
.bda-rayures .bda-sm-landing__intro h1,
.bda-rayures .bda-about__intro h1 { font-size: clamp(34px, 4.5vw, 60px); letter-spacing: -.045em; }
.bda-rayures .bda-gifts__eyebrow,
.bda-rayures .bda-sm-landing__eyebrow,
.bda-rayures .bda-about__eyebrow { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.bda-rayures .bda-gifts__card,
.bda-rayures .bda-sm-landing__hero,
.bda-rayures .bda-sm-landing__shot,
.bda-rayures .bda-about__portrait-img,
.bda-rayures .bda-about__shot { border-color: #111; border-radius: 0; box-shadow: none; }
.bda-rayures .bda-gifts__card { border-radius: var(--bda-tile-radius); }
.bda-rayures .bda-gifts__card-title { font-family: var(--bda-font-display); font-size: 28px; font-weight: 400; }
.bda-rayures .bda-gifts__card-media { background: #f1f1f1; }
.bda-rayures .bda-page__content { border: 1px solid var(--bda-border); }
.bda-rayures .bda-footer {
	padding: 38px 30px;
	margin-bottom: 32px;
	border-block: 1px solid #111;
	background: #111;
	color: #fff;
}
.bda-rayures .bda-footer__inner { width: 100%; gap: 20px; }
.bda-rayures .bda-footer__tagline { display: none; }
.bda-rayures .bda-footer__write a,
.bda-rayures .bda-footer__write button { color: #fff; font-size: 22px; }
.bda-rayures .bda-footer__links { color: #ddd; font-size: 10px; }

@media (min-width: 1600px) {
	body.bda-rayures { --rayures-band: 84px; }
}
@media (max-width: 1000px) {
	body.bda-rayures { --rayures-gutter: 72px; --rayures-band: 48px; }
	.bda-rayures .bda-main { padding-inline: 24px; }
	.bda-rayures .bda-header__inner { padding-inline: 24px; }
	.bda-rayures .bda-header--masthead .bda-header__inner { padding-inline: 24px; grid-template-columns: 36px minmax(0, 1fr) 56px; gap: 12px; }
	.bda-rayures .bda-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bda-rayures .bda-grid--gifts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	body.bda-rayures { --rayures-gutter: 28px; --rayures-band: 32px; }
	.bda-rayures .bda-main { padding-inline: 0; }
	.bda-rayures .bda-header { margin-top: 14px; }
	.bda-rayures .bda-header__inner { min-height: 64px; padding: 10px 14px; }
	.bda-rayures .bda-header--masthead { margin-bottom: 16px; }
	.bda-rayures .bda-header--masthead .bda-header__inner {
		grid-template-columns: 24px minmax(0, 1fr) 52px;
		gap: 8px;
		min-height: 0;
		padding: 14px 12px;
	}
	.bda-rayures .bda-header--masthead .bda-hero__title { font-size: clamp(24px, 7.5vw, 42px); letter-spacing: -.04em; white-space: normal; }
	.bda-rayures .bda-rayures-nav { margin-bottom: 20px; padding: 8px 6px; }
	.bda-rayures .bda-rayures-nav .bda-filters { gap: 0; }
	.bda-rayures .bda-rayures-nav .bda-filters > * + * { margin-left: 0; }
	.bda-rayures .bda-rayures-nav .bda-filter { padding-inline: 4px; font-size: clamp(9px, 2.7vw, 11px); letter-spacing: 0; }
	.bda-rayures-nav .bda-filter-panel__badge { display: none; }
	.bda-rayures .bda-brand { gap: 8px; }
	.bda-rayures .bda-brand__logo { width: 20px; height: 29px; }
	.bda-rayures .bda-cart-link { min-height: 40px; padding: 9px 8px; }
	.bda-rayures .bda-hero { margin-block: 20px; padding: 28px 12px 24px; }
	.bda-rayures .bda-hero__title { font-size: clamp(30px, 8vw, 48px); }
	.bda-rayures .bda-hero__subtitle { margin: 16px 0 24px; font-size: 8px; letter-spacing: .12em; line-height: 1.7; }
	.bda-rayures .bda-filters { gap: 6px; }
	.bda-rayures .bda-filters > * + * { margin-left: 0; }
	.bda-rayures .bda-filter { min-height: 44px; padding: 12px 14px; font-size: 10px; }
	.bda-rayures .bda-grid,
	.bda-rayures .bda-grid--gifts { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.bda-rayures .bda-grid .bda-card:not(.bda-card--gift) { width: 84%; }
	.bda-rayures .bda-card { padding: 4px 4px 0; }
	.bda-rayures .bda-card__label { padding: 11px 3px 12px; font-size: 16px; }
	.bda-rayures .bda-card__label::after { font-size: 13px; }
	.bda-rayures .bda-footer { padding: 30px 18px; margin-bottom: 14px; }
	.bda-rayures .bda-footer__write { gap: 10px 20px; }
	.bda-rayures .bda-footer__write a,
	.bda-rayures .bda-footer__write button { font-size: 19px; }
}
