/* Royaal Gordijnen — WooCommerce styling. */

/* ---------- Shop / archive ---------- */
.ryl-shop{padding:clamp(28px,4vw,56px) 0}
.ryl-pagehead--shop .ryl-pagehead__title{margin:0}
.ryl-shop__chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.6rem}
.ryl-chip{display:inline-flex;align-items:center;gap:.5em;padding:.55em 1em;border:1px solid var(--ryl-border);border-radius:40px;background:#fff;font-family:var(--font-accent);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.ryl-chip span{color:var(--ryl-muted)}
.ryl-chip:hover{border-color:var(--ryl-gold);color:var(--ryl-gold-deep)}
.ryl-shop__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid var(--ryl-border);margin-bottom:1.6rem}
.woocommerce-result-count{margin:0;color:var(--ryl-muted);font-size:.88rem}
.woocommerce-ordering select{font-family:var(--font-accent);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.7em 2.4em .7em 1em;border:1px solid var(--ryl-border);border-radius:var(--radius);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A9851D' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .9em center/12px no-repeat;-webkit-appearance:none;appearance:none}

/* ---------- Product grid + cards ---------- */
/* Neutralise WooCommerce core float/width grid so our CSS grid governs layout. */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.ryl-grid li.product{width:auto!important;float:none!important;margin:0!important;clear:none!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.ryl-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.ryl-grid.columns-4{grid-template-columns:repeat(4,1fr)}
.ryl-grid.columns-3{grid-template-columns:repeat(3,1fr)}
.ryl-grid.columns-2{grid-template-columns:repeat(2,1fr)}
.ryl-card{background:#fff;border:1px solid var(--ryl-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.ryl-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.ryl-card__media{position:relative;display:block;aspect-ratio:4/5;background:var(--ryl-cream);overflow:hidden}
.ryl-card__img{width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform .5s}
.ryl-card__img--hover{position:absolute;inset:0;opacity:0}
.ryl-card:hover .ryl-card__img--hover{opacity:1}
.ryl-card:hover .ryl-card__media .ryl-card__img:not(.ryl-card__img--hover){transform:scale(1.04)}
.ryl-card__body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.ryl-card__eyebrow{font-family:var(--font-accent);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ryl-gold-deep)}
.ryl-card__title{font-family:var(--font-display);font-size:1.12rem;font-weight:600;margin:0;line-height:1.2}
.ryl-card__title a:hover{color:var(--ryl-gold-deep)}
.ryl-card__price{font-size:1rem;color:var(--ryl-black);margin-top:auto}
.ryl-card__price del{color:var(--ryl-muted);font-size:.85em;margin-right:.4em}
.ryl-card__price ins{text-decoration:none;color:var(--ryl-gold-deep);font-weight:500}
.ryl-vanaf{font-family:var(--font-accent);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ryl-muted)}
.ryl-card__cta{margin-top:.6rem;width:100%}
.ryl-badge{position:absolute;top:12px;left:12px;z-index:3;font-family:var(--font-accent);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.4em .7em;border-radius:3px}
.ryl-badge--sale{background:var(--ryl-gold);color:#000}
/* Swatches injected by Smart Variations Images */
.ryl-card__body .swatches,.ryl-card__body [class*="swatch"]{display:flex;flex-wrap:wrap;gap:6px;margin:.2rem 0}

/* ---------- Single product: top row (gallery + intro) ---------- */
.ryl-prod{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,64px);padding:clamp(28px,4vw,56px) 0 clamp(8px,2vw,24px)}
.ryl-prod__gallery{position:relative}
.ryl-prod__gallery .woocommerce-product-gallery{margin:0;position:sticky;top:calc(var(--header-h) + 20px)}
.ryl-prod__gallery img{border-radius:var(--radius)}
.woocommerce-product-gallery__trigger{position:absolute;top:12px;right:12px;z-index:5}
.ryl-prod__intro{align-self:start}
.ryl-prod__intro .product_title{font-size:clamp(1.8rem,3vw,2.6rem);margin:.2rem 0 .6rem}
.ryl-prod__intro .price{font-family:var(--font-display);font-size:1.5rem;color:var(--ryl-black);margin:0 0 1rem;display:block}
.ryl-prod__intro .price del{color:var(--ryl-muted);font-size:.7em}
.ryl-prod__intro .price ins{text-decoration:none;color:var(--ryl-gold-deep)}
.woocommerce-product-details__short-description{color:#4a4a4a;border-top:1px solid var(--ryl-border);padding-top:1.2rem;margin:1.2rem 0}
.ryl-intro-cta{margin-top:.4rem}
.ryl-prod-usps--intro{grid-template-columns:1fr 1fr;margin-top:1.5rem;border-top:1px solid var(--ryl-border);padding-top:1.3rem}

/* ---------- Full-width configurator ---------- */
.ryl-configurator{padding:clamp(20px,3vw,40px) 0 clamp(40px,5vw,72px)}
.ryl-configurator__head{text-align:center;max-width:62ch;margin:0 auto clamp(22px,3vw,38px)}
.ryl-configurator__title{margin:0 0 .4rem}
.ryl-configurator__sub{color:var(--ryl-muted);margin:0}
.ryl-configurator__body{max-width:1080px;margin:0 auto}
.ryl-config{background:#fff;border:1px solid var(--ryl-border);border-top:3px solid var(--ryl-gold);border-radius:var(--radius);padding:clamp(20px,3vw,40px);box-shadow:var(--shadow)}
.ryl-config form.cart{margin:0}
/* Colour variations (smart-variations-images) → wide swatch row */
.ryl-config table.variations{display:block;width:100%;margin:0 0 1.6rem;border:0}
.ryl-config table.variations tbody,.ryl-config table.variations tr{display:block}
.ryl-config table.variations th.label{display:block;font-family:var(--font-accent);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ryl-ink);text-align:left;padding:0 0 .55rem}
.ryl-config table.variations td.value{display:block}
.ryl-config table.variations td.value ul,.ryl-config table.variations td.value .woosvi_label_wrapper{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ryl-config .reset_variations{display:inline-block;margin-top:.4rem;font-size:.78rem;color:var(--ryl-muted)}

/* WAPF fields → responsive 2-col grid (number fields pair up; rich fields span full width) */
.wapf,.wapf-wrapper{display:block!important;width:100%!important;max-width:none!important}
.wapf-field-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.8rem;width:100%}
.wapf-field-container{margin:0;min-width:0}
.wapf-field-image-swatch,.wapf-field-text-swatch,.wapf-field-select,.wapf-field-textarea,.wapf-field-radio,.wapf-field-checkbox{grid-column:1 / -1}
.wapf-label label,.wapf-label{font-family:var(--font-accent)!important;font-size:.72rem!important;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ryl-ink)!important;margin-bottom:.6rem;display:block}
.wapf-required-mark{color:var(--ryl-gold-deep)}
.wapf .wapf-field-input,.wapf .wapf-field-input>div,.woocommerce-variation-add-to-cart .wapf{width:100%!important;max-width:none!important}
.wapf input[type=text],.wapf input[type=number],.wapf select,.wapf textarea,.ryl-config input[type=text]:not(.qty),.ryl-config input[type=number]:not(.qty),.ryl-config select{width:100%!important;max-width:none!important;padding:.9em 1.1em;border:1px solid var(--ryl-border);border-radius:var(--radius);background:#fff;font-family:var(--font-body);font-size:1.05rem}
.wapf input:focus,.wapf select:focus,.wapf textarea:focus{outline:none;border-color:var(--ryl-gold);box-shadow:0 0 0 3px rgba(201,162,39,.15)}
.wapf-tooltip{color:var(--ryl-gold-deep)}

/* image-swatch options → horizontal grid of cards */
.wapf-image-swatch-wrapper,.wapf-swatch-wrapper{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:12px;margin:0}
.wapf-swatch--image{border:1px solid var(--ryl-border)!important;border-radius:var(--radius)!important;background:#fff;padding:8px;transition:.15s;overflow:hidden}
.wapf-swatch--image:hover{border-color:var(--ryl-gold)!important;box-shadow:0 4px 14px rgba(14,14,14,.08)}
.wapf-swatch--image label{display:flex!important;flex-direction:column;align-items:center;gap:.45rem;cursor:pointer;margin:0;font-size:.78rem;line-height:1.25;color:var(--ryl-ink);text-align:center}
.wapf-swatch--image img{width:100%!important;height:auto!important;aspect-ratio:1;object-fit:contain;border-radius:2px;display:block}
.wapf-swatch.wapf-selected,.wapf-swatch[aria-checked=true],.wapf-swatch--image.wapf-selected{outline:2px solid var(--ryl-gold);outline-offset:1px;border-color:var(--ryl-gold)!important}

/* text-swatch options → pills */
.wapf-field-text-swatch .wapf-swatch-wrapper{display:flex!important;grid-template-columns:none;flex-wrap:wrap;gap:10px}
.wapf-swatch--text,.wapf-field-text-swatch .wapf-swatch{border:1px solid var(--ryl-border)!important;border-radius:40px!important;background:#fff;cursor:pointer}
.wapf-swatch--text label{display:block;padding:.55em 1.3em;margin:0;cursor:pointer;font-size:.9rem;color:var(--ryl-ink)}

/* WAPF live total → prominent gold summary bar (sibling of .wapf-wrapper) */
.wapf-product-totals{display:flex!important;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;font-family:var(--font-display)!important;color:var(--ryl-black)!important;font-size:clamp(1.4rem,2.5vw,1.9rem)!important;border-top:2px solid var(--ryl-gold);margin-top:1.6rem;padding-top:1.4rem}
.wapf-product-totals .wapf-subtotal,.wapf-product-totals>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;width:100%}
.wapf-product-totals .wapf-price,.wapf-product-totals strong,.wapf-product-totals b{color:var(--ryl-gold-deep)!important}

/* Quantity stepper */
.quantity{display:inline-flex;align-items:center;border:1px solid var(--ryl-border);border-radius:var(--radius);overflow:hidden;background:#fff}
.quantity .ryl-qty-btn{width:40px;height:48px;background:none;border:0;font-size:1.2rem;color:var(--ryl-ink)}
.quantity input.qty{width:46px;height:48px;text-align:center;border:0;border-inline:1px solid var(--ryl-border);background:transparent;font-family:var(--font-body);font-size:1rem;-moz-appearance:textfield}
.quantity input.qty::-webkit-outer-spin-button,.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.single_add_to_cart_button{background:var(--ryl-gold)!important;color:#0E0E0E!important;border:0!important;font-family:var(--font-accent)!important;font-size:.85rem!important;letter-spacing:.12em;text-transform:uppercase;padding:1.15em 2.4em!important;border-radius:var(--radius)!important;transition:.2s;flex:1;min-width:220px}
.single_add_to_cart_button:hover{background:var(--ryl-gold-deep)!important}
.ryl-config form.cart{display:block}
.woocommerce-variation-add-to-cart,.ryl-config .cart:not(.variations_form){display:flex;flex-wrap:wrap;align-items:stretch;gap:1rem;margin-top:1.4rem}
.single_variation_wrap .woocommerce-variation-price,.single_variation_wrap .price{margin:0 0 .4rem}
.ryl-config .quantity input.qty{height:54px;width:66px;font-size:1.1rem;border:1px solid var(--ryl-border)}

/* USP reassurance (intro column) */
.ryl-prod-usps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem}
.ryl-prod-usps li{display:flex;align-items:center;gap:.55em;font-size:.85rem;color:#4a4a4a}
.ryl-prod-usps .ryl-ico{width:20px;height:20px;color:var(--ryl-gold-deep);flex:none}

.product_meta{margin-top:1.2rem;font-size:.82rem;color:var(--ryl-muted)}
.product_meta>span{display:block;margin-bottom:.3rem}

/* Tabs → cards */
.ryl-prod__extra{padding:clamp(24px,4vw,56px) 0}
.woocommerce-tabs .wc-tabs{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1.4rem;padding:0;border-bottom:1px solid var(--ryl-border)}
.woocommerce-tabs .wc-tabs li{margin:0}
.woocommerce-tabs .wc-tabs li a{display:block;padding:.8em 1.2em;font-family:var(--font-accent);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ryl-muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.woocommerce-tabs .wc-tabs li.active a{color:var(--ryl-black);border-bottom-color:var(--ryl-gold)}
.woocommerce-Tabs-panel h2{font-size:1.4rem}
.woocommerce-Tabs-panel table.shop_attributes{width:100%;border-collapse:collapse}
.woocommerce-Tabs-panel table.shop_attributes th,.woocommerce-Tabs-panel table.shop_attributes td{padding:.7em 1em;border-bottom:1px solid var(--ryl-border);text-align:left}
.woocommerce-Tabs-panel table.shop_attributes th{font-family:var(--font-accent);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;width:30%}

/* Related */
.related.products>h2,.up-sells>h2{font-family:var(--font-display);font-size:1.6rem;margin-bottom:1.4rem;text-align:center}
.related.products ul.products,.up-sells ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}

/* ---------- Cart page ---------- */
.woocommerce-cart .ryl-page,.woocommerce-checkout .ryl-page,.woocommerce-account .ryl-page{padding:clamp(28px,4vw,56px) 0}
.woocommerce-cart table.shop_table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ryl-border);border-radius:var(--radius)}
.woocommerce-cart table.shop_table th{font-family:var(--font-accent);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:1rem;text-align:left;border-bottom:1px solid var(--ryl-border)}
.woocommerce-cart table.shop_table td{padding:1rem;border-bottom:1px solid var(--ryl-border);vertical-align:middle}
.woocommerce-cart .product-thumbnail img{width:72px;border-radius:var(--radius)}
.woocommerce-cart .cart_item .product-name a{font-family:var(--font-display);color:var(--ryl-black)}
.woocommerce-cart dl.variation,.wapf-cart-item-data{font-size:.8rem;color:var(--ryl-muted)}
.cart-collaterals .cart_totals{background:#fff;border:1px solid var(--ryl-border);border-top:3px solid var(--ryl-gold);border-radius:var(--radius);padding:1.6rem}
.cart_totals h2{font-size:1.3rem}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--ryl-black);color:#fff;border:0;font-family:var(--font-accent);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.95em 1.6em;border-radius:var(--radius);transition:.2s}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--ryl-char)}
.woocommerce .button.alt,.wc-proceed-to-checkout .checkout-button{background:var(--ryl-gold)!important;color:#0E0E0E!important}
.woocommerce .button.alt:hover{background:var(--ryl-gold-deep)!important}
.coupon input[type=text]{padding:.8em 1em;border:1px solid var(--ryl-border);border-radius:var(--radius)}

/* ---------- Checkout ---------- */
.woocommerce-checkout .ryl-page{display:block}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.3fr .9fr;gap:clamp(24px,4vw,56px);align-items:start}
.woocommerce-checkout #customer_details{min-width:0}
.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading{grid-column:2}
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-family:var(--font-display);font-size:1.3rem}
.woocommerce-checkout .form-row label{font-size:.85rem;color:var(--ryl-ink)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection{border:1px solid var(--ryl-border)!important;border-radius:var(--radius)!important;padding:.8em 1em;font-family:var(--font-body);min-height:46px}
.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--ryl-border);border-top:3px solid var(--ryl-gold);border-radius:var(--radius);padding:1.6rem;position:sticky;top:calc(var(--header-h) + 16px)}
#payment{background:transparent!important}
#payment ul.payment_methods{border:0!important;padding:0!important}

/* ---------- My account ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:clamp(20px,3vw,48px)}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--ryl-border);border-radius:var(--radius);overflow:hidden;background:#fff}
.woocommerce-MyAccount-navigation li a{display:block;padding:.9em 1.2em;border-bottom:1px solid var(--ryl-border);font-family:var(--font-accent);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--ryl-black);color:#fff}
.woocommerce-account:not(.logged-in) .woocommerce{grid-template-columns:1fr;max-width:480px;margin-inline:auto}

/* ---------- Notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid var(--ryl-border);border-left:3px solid var(--ryl-gold);background:#fff;padding:1em 1.2em;border-radius:var(--radius);list-style:none;margin-bottom:1.4rem;font-size:.92rem}
.woocommerce-error{border-left-color:#c0392b}

@media(max-width:1080px){
	.ryl-prod{grid-template-columns:1fr;gap:24px}
	.ryl-prod__gallery .woocommerce-product-gallery{position:static}
	.ryl-grid.columns-4,.related.products ul.products,.up-sells ul.products{grid-template-columns:repeat(3,1fr)}
	.woocommerce-checkout form.checkout{grid-template-columns:1fr}
	.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading{grid-column:1}
	.woocommerce-checkout #order_review{position:static}
	.woocommerce-account .woocommerce{grid-template-columns:1fr}
}
@media(max-width:760px){
	.ryl-grid.columns-4,.ryl-grid.columns-3,.related.products ul.products,.up-sells ul.products{grid-template-columns:repeat(2,1fr)}
	.ryl-shop__toolbar{flex-direction:column;align-items:flex-start;gap:.6rem}
	.ryl-prod-usps{grid-template-columns:1fr}
	.wapf-field-group{grid-template-columns:1fr}
	.wapf-image-swatch-wrapper,.wapf-swatch-wrapper{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
}
@media(max-width:480px){
	.ryl-grid.columns-4,.ryl-grid.columns-3,.ryl-grid.columns-2,.related.products ul.products{grid-template-columns:1fr 1fr}
}
