/* ==========================================================================
   Focus with Layla — WooCommerce brand styles
   Matches the homepage: parchment surfaces, espresso + DM Serif headings,
   amber pill buttons, sage "instant download" cues, linen borders.
   Scoped to .woocommerce / store pages. A few !important flags are used
   only on buttons and links, where Astra's defaults are otherwise stubborn.
   ========================================================================== */

:root{
  --fwl-espresso:#2C1A0E;
  --fwl-amber:#C17B3F;
  --fwl-gold:#EF9F27;
  --fwl-parchment:#FAF7F4;
  --fwl-linen:#E8E2DA;
  --fwl-driftwood:#7A6A5A;
  --fwl-sage:#3D6B5A;
  --fwl-paper:#FFFFFF;
  --fwl-serif:'DM Serif Display',Georgia,serif;
  --fwl-sans:'DM Sans',system-ui,sans-serif;
}

/* Page canvas ------------------------------------------------------------ */
.woocommerce,
.woocommerce-page,
body.woocommerce-checkout,
body.woocommerce-cart{
  font-family:var(--fwl-sans);
  color:var(--fwl-espresso);
}
.woocommerce ::selection{background:rgba(193,123,63,.25)}

.woocommerce h1,.woocommerce h2,.woocommerce h3,
.woocommerce-page h1,.woocommerce-page h2,.woocommerce-page h3{
  font-family:var(--fwl-serif);
  font-weight:400;
  letter-spacing:-.01em;
  color:var(--fwl-espresso);
}

/* Shared eyebrow --------------------------------------------------------- */
.fwl-eyebrow{
  display:block;
  font-family:var(--fwl-sans);
  font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fwl-amber);
}

/* Buttons ---------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.fwl-add{
  background:var(--fwl-amber)!important;
  color:var(--fwl-parchment)!important;
  font-family:var(--fwl-sans)!important;
  font-weight:600!important;
  font-size:15px!important;
  line-height:1!important;
  border:1.5px solid transparent!important;
  border-radius:999px!important;
  padding:14px 26px!important;
  box-shadow:0 8px 22px -12px rgba(44,26,14,.5);
  transition:background .2s ease,transform .15s ease,box-shadow .2s ease;
  text-decoration:none;
  cursor:pointer;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover,
.fwl-add:hover{
  background:var(--fwl-gold)!important;
  transform:translateY(-2px);
}
.woocommerce .button:focus-visible,
.woocommerce #place_order:focus-visible{
  outline:3px solid var(--fwl-gold)!important;outline-offset:3px;
}
/* Secondary / ghost buttons (e.g. "Continue shopping", "Update cart") */
.woocommerce a.button.wc-backward,
.woocommerce button[name="update_cart"]{
  background:transparent!important;
  color:var(--fwl-espresso)!important;
  border-color:var(--fwl-linen)!important;
  box-shadow:none;
}
.woocommerce a.button.wc-backward:hover,
.woocommerce button[name="update_cart"]:hover{
  border-color:var(--fwl-amber)!important;
  color:var(--fwl-amber)!important;
}

/* Links */
.woocommerce a{color:var(--fwl-amber)}
.woocommerce a:hover{color:var(--fwl-gold)}

/* Badge ------------------------------------------------------------------ */
.fwl-badge{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--fwl-sage);color:#fff;
  font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 11px;border-radius:999px;
  box-shadow:0 6px 16px -8px rgba(44,26,14,.5);
}
.fwl-badge--single{top:16px;left:16px;font-size:12px;padding:7px 13px}

/* Breadcrumb ------------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb{
  font-size:13.5px;color:var(--fwl-driftwood);margin-bottom:22px;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--fwl-driftwood)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--fwl-amber)}
.fwl-crumb-sep{color:var(--fwl-linen);padding:0 2px}

/* ==========================================================================
   SHOP ARCHIVE
   ========================================================================== */
.fwl-shop-intro{
  max-width:44rem;margin:8px 0 40px;
}
.fwl-shop-intro .fwl-shop-title{
  font-size:clamp(30px,4.4vw,46px);line-height:1.1;margin:12px 0 0;
}
.fwl-shop-intro .fwl-shop-sub{
  color:var(--fwl-driftwood);font-size:18px;line-height:1.6;margin-top:16px;
}

/* Result count + ordering row */
.woocommerce .woocommerce-result-count{
  color:var(--fwl-driftwood);font-size:14px;padding-top:10px;
}
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby{
  font-family:var(--fwl-sans);border:1px solid var(--fwl-linen);
  border-radius:999px;padding:8px 16px;background:var(--fwl-paper);
  color:var(--fwl-espresso);
}

/* Product grid */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid!important;
  grid-template-columns:repeat(3,1fr);
  gap:24px;margin:0;padding:0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;clear:none!important;
}

/* Product card */
.fwl-card{
  background:var(--fwl-paper);
  border:.5px solid var(--fwl-linen);
  border-radius:16px;
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;
}
.fwl-card:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 44px -28px rgba(44,26,14,.5);
}
.fwl-card__media{
  position:relative;display:block;
  aspect-ratio:4/3;background:var(--fwl-parchment);overflow:hidden;
}
.fwl-card__media img{
  width:100%;height:100%;object-fit:cover;display:block;margin:0;
  transition:transform .4s ease;
}
.fwl-card:hover .fwl-card__media img{transform:scale(1.03)}
.fwl-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.fwl-card__cat{
  font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--fwl-amber);margin-bottom:8px;
}
.fwl-card__title{
  font-size:21px;line-height:1.2;margin:0 0 8px;
}
.fwl-card__title a{color:var(--fwl-espresso)!important;text-decoration:none}
.fwl-card__title a:hover{color:var(--fwl-amber)!important}
.fwl-card__excerpt{
  color:var(--fwl-driftwood);font-size:14.5px;line-height:1.55;margin:0 0 18px;flex:1;
}
.fwl-card__foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:auto;
}
.fwl-card__price,
.woocommerce .fwl-card__price .amount{
  font-family:var(--fwl-serif);font-size:22px;color:var(--fwl-espresso);
}
.fwl-card__price del{color:var(--fwl-driftwood);opacity:.6;font-size:16px;margin-right:6px}
.fwl-card__price ins{text-decoration:none}
.fwl-card .fwl-add{
  padding:11px 20px!important;font-size:14px!important;white-space:nowrap;
  box-shadow:none;
}
.fwl-card .added_to_cart{
  display:block;margin-top:10px;font-size:13px;color:var(--fwl-sage);font-weight:600;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul{border-color:var(--fwl-linen)}
.woocommerce nav.woocommerce-pagination ul li{border-color:var(--fwl-linen)}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  color:var(--fwl-espresso);font-weight:500;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--fwl-amber);color:#fff;
}

/* ==========================================================================
   SINGLE PRODUCT
   ========================================================================== */
.fwl-single.product{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:48px;align-items:start;
}
.fwl-single__media{position:relative}
.fwl-single__media img{border-radius:18px;border:.5px solid var(--fwl-linen)}
.fwl-single .woocommerce-product-gallery{margin:0!important;width:100%!important;float:none!important}

/* Gallery slides — each image keeps its own natural aspect ratio (no forced
   box). The wrapper collapses to the image's real height, matching stock
   WooCommerce behaviour, so 4:3 gallery photos aren't letterboxed or
   top-aligned inside a square. FlexSlider's JS is left completely alone.
   (Superseded by the v10 block at the foot of this file.) */
.fwl-single .woocommerce-product-gallery__image{
  overflow:visible;
  background:var(--fwl-parchment);
  border-radius:18px;
  border:.5px solid var(--fwl-linen);
  display:block;
}
.fwl-single .woocommerce-product-gallery__image img{
  width:100%;
  height:auto;
  object-fit:initial;
  border-radius:18px;
  border:none;
  display:block;
}
.fwl-single__summary{padding:0}

/* Reset WooCommerce's default 48% float widths inside our grid */
.fwl-single.product .woocommerce-product-gallery,
.fwl-single.product .summary,
.fwl-single.product .entry-summary{
  width:auto!important;float:none!important;margin:0!important;clear:none!important;
}
.fwl-single__extra{grid-column:1 / -1;margin-top:24px}

.fwl-single-eyebrow{margin-bottom:8px}
.fwl-single__summary .product_title{
  font-size:clamp(28px,3.4vw,40px);line-height:1.12;margin:0 0 14px;
}
.fwl-single__summary .price,
.fwl-single__summary .price .amount{
  font-family:var(--fwl-serif)!important;color:var(--fwl-espresso)!important;
  font-size:28px!important;
}
.fwl-single__summary .price del .amount{color:var(--fwl-driftwood);opacity:.6;font-size:20px!important}
.fwl-single__summary .woocommerce-product-details__short-description{
  color:#4a3a2c;font-size:16.5px;line-height:1.7;margin:6px 0 22px;
}
.fwl-single__summary .woocommerce-product-details__short-description p{margin:0 0 10px}

/* Add to cart area */
.fwl-single__summary form.cart{margin:0 0 6px}
.fwl-single__summary form.cart .quantity{display:none} /* sold individually */
.fwl-single__summary .single_add_to_cart_button{
  width:100%;text-align:center;padding:16px 26px!important;font-size:16px!important;
}

/* Trust row under the button */
.fwl-trustrow{
  list-style:none;margin:16px 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:8px 18px;
}
.fwl-trustrow li{
  position:relative;padding-left:20px;
  font-size:14px;color:var(--fwl-driftwood);
}
.fwl-trustrow li::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:12px;height:12px;border-radius:50%;
  background:var(--fwl-sage);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/12px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* Product meta (SKU/category) */
.fwl-single__summary .product_meta{
  margin-top:22px;padding-top:18px;border-top:.5px solid var(--fwl-linen);
  font-size:13.5px;color:var(--fwl-driftwood);
}
.fwl-single__summary .product_meta a{color:var(--fwl-amber)}

/* Tabs */
.woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 24px!important}
.woocommerce-tabs ul.tabs::before{border-color:var(--fwl-linen)!important}
.woocommerce-tabs ul.tabs li{
  background:transparent!important;border:none!important;border-radius:0!important;
  margin:0 22px 0 0!important;padding:0 0 12px!important;
}
.woocommerce-tabs ul.tabs li a{
  font-family:var(--fwl-sans)!important;font-weight:600!important;
  color:var(--fwl-driftwood)!important;padding:0!important;font-size:15px;
}
.woocommerce-tabs ul.tabs li.active a{color:var(--fwl-espresso)!important}
.woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--fwl-amber)!important}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-Tabs-panel h2{font-size:24px;margin-bottom:12px}
.woocommerce-Tabs-panel{color:#4a3a2c;line-height:1.7}

/* Related products heading */
.related.products > h2,
.upsells.products > h2{font-size:28px;margin-bottom:24px}

/* ==========================================================================
   CART  (light styling — no template override)
   ========================================================================== */
.woocommerce table.shop_table{
  border:.5px solid var(--fwl-linen);border-radius:14px;overflow:hidden;
  background:var(--fwl-paper);
}
.woocommerce table.shop_table thead th{
  background:var(--fwl-parchment);color:var(--fwl-driftwood);
  font-family:var(--fwl-sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th{border-top-color:var(--fwl-linen)}
.woocommerce .cart_totals h2{font-size:24px;margin-bottom:14px}
.woocommerce a.remove{color:var(--fwl-espresso)!important}
.woocommerce a.remove:hover{background:var(--fwl-amber)!important;color:#fff!important}

/* ==========================================================================
   CHECKOUT
   ========================================================================== */
.fwl-checkout{max-width:1080px;margin:0 auto}
.fwl-checkout__head{max-width:38rem;margin:0 0 30px}
.fwl-checkout__title{font-size:clamp(28px,3.6vw,42px);line-height:1.12;margin:12px 0 0}
.fwl-checkout__sub{color:var(--fwl-driftwood);font-size:18px;margin-top:14px}

.fwl-checkout__grid{
  display:grid;grid-template-columns:1.35fr .9fr;gap:40px;align-items:start;
}
.fwl-checkout__main{min-width:0}

/* Section headings inside checkout */
.fwl-checkout h3{font-size:20px;margin:0 0 16px}
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading{font-size:20px}

/* Form fields */
.woocommerce form .form-row label{
  color:var(--fwl-espresso);font-size:14px;font-weight:500;margin-bottom:6px;
}
.woocommerce form .form-row{padding:0 0 16px;margin:0}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce form .form-row select,
.woocommerce #order_comments{
  border:1px solid var(--fwl-linen)!important;
  border-radius:10px!important;
  background:var(--fwl-paper)!important;
  color:var(--fwl-espresso)!important;
  padding:12px 14px!important;
  font-family:var(--fwl-sans)!important;font-size:15px!important;
  min-height:48px;box-shadow:none!important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  border-color:var(--fwl-amber)!important;outline:none!important;
  box-shadow:0 0 0 3px rgba(193,123,63,.15)!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:normal;padding:12px 0;color:var(--fwl-espresso);
}

/* Sticky order-summary card */
.fwl-checkout__aside{position:relative}
.fwl-summary-card{
  background:var(--fwl-paper);
  border:.5px solid var(--fwl-linen);
  border-radius:16px;
  padding:26px 24px;
  box-shadow:0 26px 44px -32px rgba(44,26,14,.5);
  position:sticky;top:24px;
}
.fwl-summary-card #order_review_heading{margin-top:0}

/* Order review table inside the card */
.woocommerce-checkout #payment,
.fwl-summary-card #payment{
  background:transparent!important;border-radius:0;
}
.fwl-summary-card table.shop_table{
  border:none;background:transparent;margin:0 0 8px;
}
.fwl-summary-card table.shop_table thead{display:none}
.fwl-summary-card table.shop_table td,
.fwl-summary-card table.shop_table th{
  border:none;padding:8px 0;font-size:15px;
}
.fwl-summary-card .cart-subtotal th,
.fwl-summary-card .order-total th{color:var(--fwl-driftwood);font-weight:500}
.fwl-summary-card .order-total th,
.fwl-summary-card .order-total td .amount{
  font-family:var(--fwl-serif);color:var(--fwl-espresso);font-size:20px;
}
.fwl-summary-card table.shop_table tfoot tr{border-top:.5px solid var(--fwl-linen)}

/* Payment box */
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:.5px solid var(--fwl-linen);padding:0 0 12px;
}
.woocommerce-checkout #payment div.payment_box{
  background:var(--fwl-parchment)!important;color:#4a3a2c;
}
.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:var(--fwl-parchment)!important;
}
#place_order{width:100%;margin-top:14px;padding:16px 26px!important;font-size:16px!important}

.fwl-checkout-reassure{
  margin-top:14px;font-size:13px;line-height:1.6;color:var(--fwl-driftwood);text-align:center;
}

/* ==========================================================================
   NOTICES
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error li{
  border-top-color:var(--fwl-sage)!important;
  background:var(--fwl-paper);border-radius:10px;
}
.woocommerce-message::before{color:var(--fwl-sage)}
.woocommerce-info::before{color:var(--fwl-amber)}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1024px){
  .fwl-single.product{grid-template-columns:1fr;gap:32px}
  .fwl-checkout__grid{grid-template-columns:1fr;gap:28px}
  .fwl-summary-card{position:static}
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media (max-width:640px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:1fr}
  .fwl-card__foot{flex-direction:column;align-items:flex-start;gap:12px}
  .fwl-card .fwl-add{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .fwl-card,.fwl-card__media img,.woocommerce .button,.fwl-add{transition:none!important}
}

/* ==========================================================================
   CART  (branded two-column — classic cart)
   ========================================================================== */
.fwl-cart{max-width:1100px;margin:0 auto}
.fwl-cart__head{max-width:38rem;margin:0 0 30px}
.fwl-cart__title{font-size:clamp(28px,3.6vw,42px);line-height:1.12;margin:12px 0 0}
.fwl-cart__sub{color:var(--fwl-driftwood);font-size:18px;margin-top:14px}

.fwl-cart__grid{
  display:grid;grid-template-columns:1.5fr .85fr;gap:40px;align-items:start;
}
.fwl-cart__main{min-width:0}

/* Items table */
.fwl-cart table.cart{border:.5px solid var(--fwl-linen);border-radius:14px;overflow:hidden;background:var(--fwl-paper)}
.fwl-cart table.cart thead th{
  background:var(--fwl-parchment);color:var(--fwl-driftwood);
  font-family:var(--fwl-sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:14px 16px;border:none;
}
.fwl-cart table.cart td{
  border-top:.5px solid var(--fwl-linen);padding:18px 16px;vertical-align:middle;
}
.fwl-cart table.cart td.product-thumbnail img{
  width:64px;height:64px;object-fit:cover;border-radius:10px;border:.5px solid var(--fwl-linen);
}
.fwl-cart td.product-name a{color:var(--fwl-espresso);font-weight:500}
.fwl-cart td.product-name a:hover{color:var(--fwl-amber)}
.fwl-cart .product-price,
.fwl-cart .product-subtotal{font-family:var(--fwl-serif);color:var(--fwl-espresso)}
.fwl-cart td.actions{background:var(--fwl-parchment);padding:16px}
.fwl-cart td.actions .coupon{display:inline-flex;gap:8px;align-items:center}
.fwl-cart td.actions input#coupon_code{
  border:1px solid var(--fwl-linen);border-radius:999px;padding:11px 16px;min-height:44px;background:#fff;
}

/* Totals card */
.fwl-cart__aside .cart_totals,
.fwl-cart-totals .cart_totals{width:100%!important;float:none!important}
.fwl-cart-totals{
  background:var(--fwl-paper);border:.5px solid var(--fwl-linen);border-radius:16px;
  padding:24px 22px;box-shadow:0 26px 44px -32px rgba(44,26,14,.5);
  position:sticky;top:24px;
}
.fwl-cart-totals h2{font-size:22px;margin:0 0 14px}
.fwl-cart-totals table.shop_table{border:none;background:transparent;margin:0}
.fwl-cart-totals table.shop_table th{color:var(--fwl-driftwood);font-weight:500;border:none;padding:10px 0}
.fwl-cart-totals table.shop_table td{border:none;padding:10px 0;text-align:right}
.fwl-cart-totals tr{border-top:.5px solid var(--fwl-linen)}
.fwl-cart-totals .order-total th,
.fwl-cart-totals .order-total .amount{font-family:var(--fwl-serif);color:var(--fwl-espresso);font-size:20px}
.fwl-cart-totals .wc-proceed-to-checkout{padding:16px 0 0}
.fwl-cart-totals .checkout-button{display:block;width:100%;text-align:center}

/* Empty cart */
.fwl-cart-empty{max-width:38rem;margin:20px auto;text-align:center;padding:40px 0}
.fwl-cart-empty .fwl-eyebrow{justify-content:center}
.fwl-cart-empty__title{font-size:clamp(26px,3.4vw,38px);line-height:1.15;margin:12px 0 0}
.fwl-cart-empty__sub{color:var(--fwl-driftwood);font-size:18px;margin:14px 0 26px}
/* Solid primary CTA on the empty cart (overrides the ghost .wc-backward look) */
.fwl-cart-empty .button.wc-backward{
  background:var(--fwl-amber)!important;color:var(--fwl-parchment)!important;
  border-color:transparent!important;padding:15px 30px!important;
}
.fwl-cart-empty .button.wc-backward:hover{background:var(--fwl-gold)!important;color:var(--fwl-parchment)!important}

/* ==========================================================================
   MY ACCOUNT
   ========================================================================== */
.fwl-account{max-width:1100px;margin:0 auto}
.fwl-account__head{max-width:40rem;margin:0 0 30px}
.fwl-account__title{font-size:clamp(28px,3.6vw,42px);line-height:1.12;margin:12px 0 0}
.fwl-account__sub{color:var(--fwl-driftwood);font-size:18px;margin-top:14px}

.fwl-account__grid{display:grid;grid-template-columns:250px 1fr;gap:36px;align-items:start}

/* Navigation card */
.fwl-account-nav{
  background:var(--fwl-paper);border:.5px solid var(--fwl-linen);border-radius:16px;
  padding:12px;position:sticky;top:24px;
}
.fwl-account-nav ul{list-style:none;margin:0;padding:0}
.fwl-account-nav li{margin:0}
.fwl-account-nav li a{
  display:block;padding:11px 14px;border-radius:10px;
  color:var(--fwl-driftwood);font-weight:500;font-size:15px;text-decoration:none;
  transition:background .15s ease,color .15s ease;
}
.fwl-account-nav li a:hover{background:var(--fwl-parchment);color:var(--fwl-espresso)}
.fwl-account-nav li.is-active a{
  background:rgba(193,123,63,.12);color:var(--fwl-espresso);font-weight:600;
}
.fwl-account-nav li.is-active a::before{content:"";}

/* Content */
.fwl-account__content{min-width:0}
.fwl-account__content h2,
.fwl-account__content h3{font-size:22px;margin:0 0 14px}
.fwl-dashboard__hello{color:var(--fwl-driftwood);font-size:15px}
.fwl-dashboard__intro{font-size:16.5px;line-height:1.7;color:#4a3a2c;margin-top:10px}
.woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-MyAccount-content .woocommerce-info{margin-bottom:22px}

/* Account tables (orders / downloads) reuse .shop_table styling above */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table{border-radius:14px}
.woocommerce-account .addresses .title h3{font-size:18px}
.woocommerce-account .woocommerce-Address{
  background:var(--fwl-paper);border:.5px solid var(--fwl-linen);border-radius:14px;padding:20px 22px;
}

/* Login / register */
.fwl-login{max-width:940px;margin:0 auto}
.fwl-login__head{text-align:center;max-width:34rem;margin:0 auto 30px}
.fwl-login__head .fwl-eyebrow{justify-content:center}
.fwl-login__title{font-size:clamp(28px,3.6vw,42px);line-height:1.12;margin:12px 0 0}
.fwl-login__sub{color:var(--fwl-driftwood);font-size:18px;margin-top:12px}
.fwl-login__grid{
  display:grid!important;grid-template-columns:1fr 1fr;gap:24px;
}
.fwl-login__grid::before,.fwl-login__grid::after{content:none!important;display:none!important}
.fwl-login__card{
  background:var(--fwl-paper);border:.5px solid var(--fwl-linen);border-radius:16px;
  padding:28px 26px;width:auto!important;float:none!important;margin:0!important;
}
.fwl-login__card h2{font-size:22px;margin:0 0 18px}
.fwl-login__card .woocommerce-form-login__submit,
.fwl-login__card .woocommerce-form-register__submit{width:100%;text-align:center;margin-top:6px}
.fwl-login__card .woocommerce-form-login__rememberme{display:block;margin:0 0 14px;font-size:14px;color:var(--fwl-driftwood)}
.fwl-login__card .lost_password{margin-top:12px;font-size:14px}

@media (max-width:1024px){
  .fwl-cart__grid{grid-template-columns:1fr;gap:26px}
  .fwl-cart-totals{position:static}
  .fwl-account__grid{grid-template-columns:1fr;gap:22px}
  .fwl-account-nav{position:static}
}
@media (max-width:640px){
  .fwl-login__grid{grid-template-columns:1fr}
}

/* ==========================================================================
   ORDER RECEIVED / THANK YOU  (added with the post-purchase flow)
   ========================================================================== */
.fwl-thankyou{max-width:820px;margin:0 auto}
.fwl-thankyou__head{margin:0 0 26px}
.fwl-thankyou__title{font-size:clamp(28px,3.8vw,44px);line-height:1.12;margin:12px 0 0}
.fwl-thankyou__sub{color:var(--fwl-driftwood);font-size:18px;margin-top:14px}

.fwl-downloads-panel{
  background:var(--fwl-paper);border:.5px solid var(--fwl-linen);border-radius:16px;
  padding:26px 26px 22px;box-shadow:0 26px 44px -34px rgba(44,26,14,.5);margin:0 0 26px;
}
.fwl-downloads-panel__title{font-family:var(--fwl-serif);font-size:22px;margin:0 0 14px}
.fwl-downloads-list{list-style:none;margin:0;padding:0}
.fwl-download-row{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 0;border-top:.5px solid var(--fwl-linen);
}
.fwl-download-row:first-child{border-top:none}
.fwl-download-name{font-size:16px;color:var(--fwl-espresso);font-weight:500}
.fwl-download-file{color:var(--fwl-driftwood);font-weight:400}
.fwl-download-btn{padding:10px 22px!important;font-size:14px!important;box-shadow:none!important;white-space:nowrap}
.fwl-downloads-note{margin:16px 0 0;font-size:13.5px;color:var(--fwl-driftwood);line-height:1.6}

.fwl-order-overview{
  list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;
  margin:0 0 30px!important;padding:20px 22px!important;
  background:var(--fwl-parchment);border:.5px solid var(--fwl-linen);border-radius:14px;
}
.fwl-order-overview li{border:none!important;padding:0!important;margin:0!important;font-size:13px;color:var(--fwl-driftwood);text-transform:none}
.fwl-order-overview li strong{display:block;font-family:var(--fwl-serif);font-size:17px;color:var(--fwl-espresso);margin-top:4px;font-weight:400}

.fwl-ig-nudge{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:var(--fwl-espresso);color:var(--fwl-parchment);border-radius:16px;padding:24px 26px;margin-top:30px;
}
.fwl-ig-nudge__text{max-width:34em}
.fwl-ig-nudge__text strong{font-family:var(--fwl-serif);font-weight:400;font-size:19px;display:block;margin-bottom:4px}
.fwl-ig-nudge__text span{color:#cdbfae;font-size:15px;line-height:1.5}
.fwl-ig-btn{background:var(--fwl-gold)!important;color:var(--fwl-espresso)!important;white-space:nowrap}
.fwl-ig-btn:hover{background:var(--fwl-parchment)!important;color:var(--fwl-espresso)!important}

/* Order details table (thank-you + account view-order) */
.woocommerce-order-details__title,
.woocommerce-column__title{font-family:var(--fwl-serif);font-size:22px;margin:26px 0 14px}

@media (max-width:640px){
  .fwl-download-row{flex-direction:column;align-items:flex-start;gap:10px}
  .fwl-download-btn{width:100%;text-align:center}
  .fwl-ig-nudge{flex-direction:column;align-items:flex-start}
  .fwl-ig-btn{width:100%;text-align:center}
}

/* ==========================================================================
   AMENDMENTS (v2) — boxed widths, shop layout, checkout fit, overflow fixes,
   and hiding coupon / sorting / breadcrumb. This block is intentionally last
   so it overrides the rules above.
   ========================================================================== */

/* Kill phantom horizontal scroll (e.g. single product on mobile) without
   breaking the sticky header — clip does not create a scroll container. */
body.woocommerce,
body.woocommerce-page,
body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-account{overflow-x:clip}
.woocommerce img,
.woocommerce table{max-width:100%}

/* ---- "Slightly boxed" widths + side gutters on every store page ---- */
.fwl-checkout,
.fwl-cart{max-width:1040px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;padding-top:34px;padding-bottom:56px}
.fwl-thankyou{max-width:860px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;padding-top:34px;padding-bottom:56px}
.fwl-account,
.fwl-login{max-width:1080px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;padding-top:34px;padding-bottom:56px}

/* Shop archive: intro sits ABOVE a centered, boxed grid (never beside it) */
.woocommerce.archive .fwl-shop-intro,
.woocommerce.archive ul.products,
.woocommerce.archive .woocommerce-result-count,
.woocommerce.archive nav.woocommerce-pagination{
  max-width:1200px;margin-left:auto;margin-right:auto;
  padding-left:24px;padding-right:24px;
}
.woocommerce.archive .fwl-shop-intro{width:100%;padding-top:36px}
.woocommerce.archive ul.products{padding-bottom:24px}

/* Single product: boxed + no overflow on small screens */
.woocommerce.single-product div.product.fwl-single{
  max-width:1180px;margin-left:auto;margin-right:auto;
  padding-left:24px;padding-right:24px;padding-top:34px;padding-bottom:48px;
}
.fwl-single,
.fwl-single *{min-width:0}
.fwl-single img{max-width:100%;height:auto}
.fwl-single .woocommerce-product-gallery,
.fwl-single .woocommerce-product-gallery *{max-width:none}
.fwl-single__summary,
.fwl-single__extra{max-width:100%;overflow-wrap:anywhere}
.fwl-single .woocommerce-tabs .panel{max-width:100%;overflow-x:auto}

/* Checkout: give the order summary room so it isn't squished */
.fwl-checkout__grid{grid-template-columns:minmax(0,1fr) 360px;gap:40px}
@media (max-width:900px){
  .fwl-checkout__grid{grid-template-columns:1fr;gap:28px}
  .fwl-checkout__aside .fwl-summary-card{position:static}
}

/* Hide coupon entirely (we don't use coupons) */
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon,
.checkout_coupon,
.woocommerce .cart .actions .coupon,
td.actions .coupon{display:none!important}

/* Remove sorting dropdown + breadcrumb (fallback to the PHP removals) */
.woocommerce .woocommerce-ordering{display:none!important}
.woocommerce .woocommerce-breadcrumb{display:none!important}

/* ==========================================================================
   AMENDMENTS (v3) — FORCE the boxed look (~1100px, like the home page),
   fix the checkout columns, and hide the duplicate page title on checkout.
   These use body-class specificity + !important to beat Astra's full-width
   layout (a plain max-width was losing to it, which is why the pages ran wide).
   ========================================================================== */

/* 1) Cap Astra's content container on every store page — this boxes the content.
      The injected header/footer live outside this container, so they stay
      full-bleed (backgrounds span edge-to-edge, inner content boxed) like home. */
body.woocommerce .ast-container,
body.woocommerce-page .ast-container,
body.woocommerce-checkout .ast-container,
body.woocommerce-cart .ast-container,
body.woocommerce-account .ast-container,
body.woocommerce .ast-container-fluid,
body.woocommerce-page .ast-container-fluid{
  max-width:1148px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* 2) Belt-and-braces: force our own wrappers to ~1100 and centre them. */
body.woocommerce-checkout .fwl-checkout,
body.woocommerce-cart .fwl-cart,
body.woocommerce .fwl-thankyou,
body.woocommerce-account .fwl-account,
body.woocommerce-account .fwl-login{
  max-width:1100px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  width:auto !important;
  float:none !important;
}

/* 3) Shop archive — box the intro + product grid + pagination together. */
body.woocommerce.archive .fwl-shop-intro,
body.woocommerce.archive ul.products,
body.woocommerce.archive .woocommerce-result-count,
body.woocommerce.archive nav.woocommerce-pagination{
  max-width:1100px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  float:none !important;
}

/* 4) Single product — box it. */
body.single-product div.product.fwl-single{
  max-width:1100px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* 5) Checkout columns: equal width so "Your order" matches Billing details. */
body.woocommerce-checkout .fwl-checkout .fwl-checkout__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:40px !important;
  align-items:start !important;
}
/* Kill WooCommerce's default float/percentage widths that skew the columns. */
body.woocommerce-checkout .fwl-checkout #customer_details,
body.woocommerce-checkout .fwl-checkout #order_review,
body.woocommerce-checkout .fwl-checkout .fwl-checkout__main,
body.woocommerce-checkout .fwl-checkout .fwl-checkout__aside,
body.woocommerce-checkout .fwl-checkout .col2-set,
body.woocommerce-checkout .fwl-checkout .col2-set .col-1,
body.woocommerce-checkout .fwl-checkout .col2-set .col-2{
  width:auto !important;
  float:none !important;
  max-width:none !important;
}
body.woocommerce-checkout .fwl-checkout .fwl-summary-card{width:auto !important}
@media (max-width:900px){
  body.woocommerce-checkout .fwl-checkout .fwl-checkout__grid{grid-template-columns:1fr !important}
}

/* 6) Hide the WordPress/Astra page title on checkout (shown in the header now). */
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .ast-single-entry-title,
body.woocommerce-checkout header.entry-header,
body.woocommerce-checkout .ast-post-title,
body.woocommerce-checkout .ast-archive-title{display:none !important}

/* ==========================================================================
   AMENDMENTS (v4) — centre "Your order" in the summary card and remove the
   clipped inner border. WooCommerce's default stylesheet gives #order_review
   (and its heading) width:40% + float:right, plus a border on the heading —
   that skewed the heading right and drew the clipped rectangle in the
   screenshot. We reset width/float to full and drop the heading border so
   the .fwl-summary-card outline is the single, cleanly-closed box.
   ========================================================================== */

/* WooCommerce's default stylesheet sets width:40% + float:right on
   #order_review and its heading — that's what pushed "Your order" to the
   right and made the inner box clip. Force full width + no float so the
   heading centres cleanly inside the card. */
.woocommerce.woocommerce-checkout form #order_review,
.woocommerce.woocommerce-checkout form #order_review_heading,
.woocommerce-page.woocommerce-checkout form #order_review,
.woocommerce-page.woocommerce-checkout form #order_review_heading{
  width:100% !important;
  float:none !important;
}

/* Centre the "Your order" heading within the card. */
body.woocommerce-checkout .fwl-summary-card #order_review_heading{
  text-align:center !important;
}

/* Remove the unwanted border on the heading (the clipped inner box). */
.woocommerce.woocommerce-checkout form #order_review_heading,
.woocommerce-page.woocommerce-checkout form #order_review_heading{
  border-style:none !important;
}

/* ==========================================================================
   AMENDMENTS (v5) — enclose the "Your order" heading AND the order table in
   ONE clean border box. The heading and #order_review are siblings, so we
   border both and butt them together (heading = top+sides, no bottom;
   table = sides+bottom, no top) so they read as a single closed rectangle.
   ========================================================================== */

/* Heading: top + left + right border, closed corners on top, flush to table. */
body.woocommerce-checkout .fwl-summary-card #order_review_heading{
  border:1px solid var(--fwl-linen) !important;
  border-bottom:none !important;
  border-radius:12px 12px 0 0 !important;
  padding:18px 20px 14px !important;
  margin:0 !important;
  background:var(--fwl-paper) !important;
}

/* Table region: left + right + bottom border, closed corners on bottom. */
body.woocommerce-checkout .fwl-summary-card #order_review{
  border:1px solid var(--fwl-linen) !important;
  border-top:none !important;
  border-radius:0 0 12px 12px !important;
  padding:6px 20px 20px !important;
  background:var(--fwl-paper) !important;
}

/* ------------------------------------------------------------------ *
 * v10 — Gallery: natural aspect ratio (final)
 * The earlier universal `max-width:100%!important` on
 * `.woocommerce-product-gallery *` also capped PhotoSwipe's cloned
 * full-size image (which must exceed the container) — that caused the
 * lightbox to render blank until a second click. That cap is now
 * `max-width:none` (see section 718–720 above), which fixed the previewer.
 * This block restores stock WooCommerce sizing: no fixed ratio on the
 * wrapper, image sizes to its own height, so 4:3 gallery photos display
 * in their uploaded ratio with no letterbox gap or top-alignment.
 * (Hover-zoom handled separately.)
 * ------------------------------------------------------------------ */
.fwl-single .woocommerce-product-gallery__image{
  aspect-ratio:auto;
  overflow:visible;
  background:var(--fwl-parchment);
  border-radius:18px;
  border:.5px solid var(--fwl-linen);
}
.fwl-single .woocommerce-product-gallery__image img{
  width:100%;
  height:auto;
  object-fit:initial;
  border-radius:18px;
  border:none;
  display:block;
}

/* Kill hover-zoom overlay (lightbox via magnifier still works) */
.fwl-single .woocommerce-product-gallery img.zoomImg{ display:none!important; }


/* ------------------------------------------------------------------ *
 * v11 — My Account nav width fix
 * WooCommerce core sets `.woocommerce-MyAccount-navigation{float:left;
 * width:30%}`. Inside our 250px grid column that floats and shrinks the
 * nav to 30% of the column. Neutralise the float + width so it fills
 * the column; likewise free the content block from its stock 68% width.
 * ------------------------------------------------------------------ */
.woocommerce-account .woocommerce-MyAccount-navigation{
  float:none!important;
  width:100%!important;
}
.woocommerce-account .woocommerce-MyAccount-content{
  float:none!important;
  width:100%!important;
}

body.page-id-254 #moderncart-floating-cart {
  display: none !important;
}