/* ==========================================================================
   Hush — WooCommerce overrides
   ========================================================================== */

/* ---------- Product card (loop) ---------- */
.hush-card{background:var(--hush-card);border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);
  overflow:hidden;display:flex;flex-direction:column;position:relative;z-index:0;
  transition:transform var(--hush-t) var(--hush-ease),box-shadow var(--hush-t),border-color var(--hush-t)}
.hush-card:hover{transform:translateY(-6px);box-shadow:var(--hush-shadow-md);border-color:var(--hush-line-2)}
.hush-card__media{position:relative;aspect-ratio:1/1;background:var(--hush-wash-pink);overflow:hidden}
.hush-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--hush-ease)}
.hush-card:hover .hush-card__media img{transform:scale(1.05)}
.hush-card__badge{position:absolute;top:.8rem;inset-inline-start:.8rem;z-index:2;font-weight:800;
  font-size:.66rem;letter-spacing:.03em;text-transform:uppercase;padding:.35em .7em;border-radius:var(--hush-r-pill)}
.hush-card__badge--new{background:var(--hush-blue);color:#fff}
.hush-card__badge--sale{background:var(--hush-pink);color:#fff}
/* Sold-out badge sits above the offer ribbon (which the tai-bogo plugin pins to
   the same top-left corner at z-index 99), so the two never overlap. */
.hush-card__badge--oos{background:var(--hush-ink);color:#fff;z-index:100}
/* When a product is out of stock, hide the "N for X" offer ribbon — you can't
   buy the deal anyway, so advertising it over a Sold-out badge is misleading. */
.hush-card__media.is-out-of-stock .tai-setdeal-ribbon-wrap,
.hush-card__media.is-out-of-stock .tai-setdeal-ribbon,
.hush-card.is-out-of-stock .tai-setdeal-ribbon-wrap,
.hush-card.is-out-of-stock .tai-setdeal-ribbon{display:none !important}
/* Dim the image of a sold-out product so the state reads at a glance. */
.hush-card__media.is-out-of-stock a img{opacity:.55;filter:grayscale(.35)}
.hush-card__wish{position:absolute;top:.7rem;inset-inline-end:.7rem;z-index:2;width:36px;height:36px;
  border-radius:50%;background:rgba(255,255,255,.9);border:none;display:grid;place-items:center;
  color:var(--hush-muted);transition:all var(--hush-t)}
.hush-card__wish:hover{background:#fff;color:var(--hush-pink);transform:scale(1.1)}
.hush-card__wish svg{width:18px;height:18px}
.hush-card__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.hush-card__cat{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--hush-blue);margin-bottom:.35rem}
.hush-card__title{font-family:var(--hush-font-display);font-size:1.02rem;color:var(--hush-ink);
  line-height:1.25;margin-bottom:.3rem;
  min-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hush-card__title a{color:inherit}
.hush-card__desc{font-size:.78rem;color:var(--hush-muted);margin-bottom:.5rem;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.hush-card__rating{display:flex;align-items:center;gap:.35rem;margin-bottom:.7rem;font-size:.72rem;color:var(--hush-muted)}
.hush-card__rating .hush-stars{font-size:.78rem;letter-spacing:1px}
.hush-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.hush-card__price{font-family:var(--hush-font-display);font-weight:600;color:var(--hush-ink);font-size:1.05rem}
.hush-card__price del{color:var(--hush-muted);font-weight:400;font-size:.85rem;margin-inline-end:.35rem}
.hush-card__price ins{text-decoration:none;color:var(--hush-pink)}
.hush-card .hush-add,
.woocommerce .hush-card a.hush-add.button,
.woocommerce ul.products li.product .hush-card a.button{
  border:none !important;background:var(--hush-blue) !important;color:#fff !important;
  border-radius:var(--hush-r-pill) !important;padding:.6em 1.2em !important;font-weight:700 !important;
  font-size:.82rem !important;text-transform:none !important;letter-spacing:0 !important;
  line-height:1.2 !important;transition:all var(--hush-t) var(--hush-ease);white-space:nowrap;cursor:pointer;
}
.hush-card .hush-add:hover,
.woocommerce .hush-card a.hush-add.button:hover{background:var(--hush-blue-600) !important;transform:translateY(-1px)}
.hush-card .hush-add.loading{opacity:.6;pointer-events:none}
.hush-card .hush-add.added{background:var(--hush-green) !important}

/* Product card on narrow screens: price and Add-to-cart stack vertically and
   the button goes full-width, so nothing crams or overflows in a 2-up grid. */
@media (max-width:560px){
  .hush-card__foot{flex-direction:column;align-items:stretch;gap:.6rem}
  .hush-card__price{font-size:1.1rem}
  .hush-card .hush-add,
  .woocommerce .hush-card a.hush-add.button,
  .woocommerce ul.products li.product .hush-card a.button{
    width:100% !important;text-align:center !important;padding:.7em 1em !important;white-space:normal !important}
  .hush-card__title{font-size:.95rem}
  .hush-card__body{padding:.8rem .9rem 1rem}
}

/* ---------- Shop archive ---------- */
.hush-shop-hero{background:var(--hush-wash-lilac);border-bottom:1px solid var(--hush-line);
  padding-block:clamp(40px,6vw,72px)}
.hush-shop-hero h1{margin-bottom:.6rem}
.hush-shop-hero p{color:var(--hush-ink-soft);max-width:52ch}
.hush-shop-hero .hush-breadcrumb{margin-bottom:1rem}

/* Interactive category pills */
.hush-cat-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.hush-cat-pill{display:inline-flex;align-items:center;gap:.4rem;background:#fff;
  border:1px solid var(--hush-line-2);border-radius:var(--hush-r-pill);
  padding:.5em 1em;font-weight:700;font-size:.85rem;color:var(--hush-ink-soft);
  transition:all var(--hush-t) var(--hush-ease)}
.hush-cat-pill:hover{border-color:var(--hush-blue);color:var(--hush-blue);transform:translateY(-2px)}
.hush-cat-pill.is-active{background:var(--hush-blue);border-color:var(--hush-blue);color:#fff}
.hush-cat-pill__count{background:rgba(28,19,64,.08);border-radius:var(--hush-r-pill);
  padding:.05em .5em;font-size:.72rem;color:var(--hush-muted)}
.hush-cat-pill.is-active .hush-cat-pill__count{background:rgba(255,255,255,.22);color:#fff}
.hush-breadcrumb{font-size:.8rem;color:var(--hush-muted);display:flex;gap:.5rem;flex-wrap:wrap}
.hush-breadcrumb a:hover{color:var(--hush-blue)}
.hush-breadcrumb .sep{opacity:.5}

.hush-shop-layout{display:grid;grid-template-columns:260px 1fr;gap:2.5rem;align-items:start}
.hush-shop-sidebar{position:sticky;top:100px}
.hush-widget{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:1.3rem;margin-bottom:1.2rem}
.hush-widget h3{font-family:var(--hush-font-body);font-weight:800;font-size:.8rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--hush-ink);margin-bottom:1rem}
.hush-widget ul li{margin-bottom:.55rem}
.hush-widget ul a{font-size:.9rem;color:var(--hush-ink-soft);display:flex;justify-content:space-between}
.hush-widget ul a:hover{color:var(--hush-blue)}
.hush-widget .count{color:var(--hush-muted);font-size:.78rem}

.hush-shop-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:1rem;margin-bottom:1.6rem}
.hush-shop-toolbar .woocommerce-result-count{color:var(--hush-muted);font-size:.88rem;margin:0}
.hush-shop-toolbar .woocommerce-ordering select,
.hush-shop-toolbar select{border:1px solid var(--hush-line-2);border-radius:var(--hush-r-pill);
  padding:.55em 2.4em .55em 1.1em;font:inherit;font-size:.85rem;font-weight:600;color:var(--hush-ink);
  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='%231c1340' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 1em center;
  -webkit-appearance:none;appearance:none;cursor:pointer}
/* ==========================================================================
   Product grid — override WooCommerce's default float/percentage layout.
   WooCommerce ships woocommerce-layout.css which floats li.product and sets
   width:22%/30% etc. Those rules fight our grid and squish cards into strips,
   so we neutralise them and lay everything out with CSS grid.
   ========================================================================== */
.woocommerce ul.products,
ul.products.hush-shop-grid,
.hush-shop-grid,
.hush-products-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;margin:0;padding:0;list-style:none;width:100%;
}
/* "Most loved products" — 4 cards per row on desktop (8 items = 2 clean rows).
   Desktop only: below 961px it falls back to the tablet/mobile rules, and the
   ≤640px carousel is untouched. */
@media (min-width:961px){
  .hush-best .hush-products-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
/* Homepage product row → 1-per-view swipe carousel on mobile.
   Only the homepage `.hush-best .hush-products-grid` becomes a carousel; the
   shop archive keeps its grid. Placed here (loads after home.css) with the same
   !important weight so it beats the base grid rule above. */
@media (max-width:640px){
  .hush-best .hush-products-grid{
    display:flex !important;
    grid-template-columns:none !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:1rem;
    margin-inline:calc(-1 * var(--hush-gutter,16px));
    padding-inline:var(--hush-gutter,16px);
    padding-bottom:.6rem;
    scroll-padding-inline:var(--hush-gutter,16px);
    scrollbar-width:none;
  }
  .hush-best .hush-products-grid::-webkit-scrollbar{display:none}
  .hush-best .hush-products-grid > *{
    scroll-snap-align:center;
    flex:0 0 86% !important;
    max-width:86%;
  }
  .hush-best .hush-products-grid > .is-hidden{display:none !important}
  /* Safety net: carousel cards must never be hidden by the reveal animation
     (opacity:0 + translateY), which also causes a snap "jump". Force them
     visible and untransformed inside the carousel. */
  .hush-best .hush-products-grid > .hush-reveal{opacity:1 !important;transform:none !important}
}

/* Carousel arrow navigation — hidden by default (desktop grid), shown only when
   the track is a mobile carousel. */
.hush-carousel-nav{display:none}
@media (max-width:640px){
  .hush-carousel-nav{
    display:flex;justify-content:center;gap:.8rem;margin-top:1rem;
  }
  .hush-carousel-arrow{
    width:44px;height:44px;border-radius:50%;border:1px solid var(--hush-line-2);
    background:#fff;color:var(--hush-ink);display:grid;place-items:center;cursor:pointer;
    box-shadow:var(--hush-shadow-sm);transition:background var(--hush-t),color var(--hush-t),opacity var(--hush-t),transform var(--hush-t);
  }
  .hush-carousel-arrow:hover{background:var(--hush-blue);color:#fff;border-color:var(--hush-blue)}
  .hush-carousel-arrow:active{transform:scale(.94)}
  .hush-carousel-arrow.is-disabled{opacity:.35;pointer-events:none}
}
/* Kill WooCommerce's float + percentage width on every product li. */
.woocommerce ul.products li.product,
.hush-shop-grid > li,
.hush-products-grid > li,
.hush-shop-grid > li.product,
.hush-products-grid > li.product{
  width:auto !important;float:none !important;margin:0 !important;padding:0 !important;
  list-style:none;display:flex;clear:none !important;
}
.woocommerce ul.products li.product::before,
.hush-shop-grid > li::before,
.hush-products-grid > li::before{display:none}
.hush-shop-grid > li > .hush-card,
.hush-products-grid > li > .hush-card,
.woocommerce ul.products li.product > .hush-card{width:100%}
/* Neutralise WooCommerce's nth-child clearing that forces row breaks. */
.woocommerce ul.products li.product:nth-child(n){clear:none !important}

/* pagination */
.woocommerce-pagination{margin-top:2.5rem}
.woocommerce-pagination ul{display:flex;gap:.4rem;justify-content:center;border:none!important}
.woocommerce-pagination ul li{border:none!important}
.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;min-width:42px;height:42px;
  border-radius:var(--hush-r-pill)!important;border:1px solid var(--hush-line)!important;background:#fff;
  font-weight:700;color:var(--hush-ink)!important;padding:0 .6em!important}
.woocommerce-pagination .current{background:var(--hush-blue)!important;color:#fff!important;border-color:var(--hush-blue)!important}
.woocommerce-pagination a:hover{border-color:var(--hush-blue)!important;color:var(--hush-blue)!important}

/* ---------- Single product ---------- */
.hush-single{padding-block:clamp(28px,4vw,48px)}
.hush-single__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:start;padding-top:1.5rem}
.hush-single__gallery{position:sticky;top:100px}
.hush-single__gallery .woocommerce-product-gallery{background:var(--hush-wash-pink);border-radius:var(--hush-r-xl);padding:1rem}
.hush-single .woocommerce-product-gallery{border-radius:var(--hush-r-xl);overflow:hidden;
  background:var(--hush-wash-pink);border:1px solid var(--hush-line)}
.hush-single .flex-control-thumbs{display:flex;gap:.6rem;margin-top:.8rem;padding:0}
.hush-single .flex-control-thumbs li{list-style:none;width:72px}
.hush-single .flex-control-thumbs img{border-radius:var(--hush-r-md);border:2px solid transparent;cursor:pointer;opacity:.7}
.hush-single .flex-control-thumbs img.flex-active,
.hush-single .flex-control-thumbs img:hover{border-color:var(--hush-blue);opacity:1}
.hush-single .product_title{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:.6rem 0 .4rem}
.hush-single__cat{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--hush-blue)}
.hush-single .woocommerce-product-rating{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.hush-single .price{font-family:var(--hush-font-display);font-size:1.9rem;color:var(--hush-ink);margin-bottom:1.2rem;display:block}
.hush-single .price del{color:var(--hush-muted);font-size:1.1rem;font-weight:400}
.hush-single .price ins{text-decoration:none;color:var(--hush-pink)}
.hush-single .woocommerce-product-details__short-description{color:var(--hush-ink-soft);margin-bottom:1.6rem;font-size:1rem}
.hush-single form.cart{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:1.6rem}
.hush-single .quantity{display:inline-flex;align-items:center;border:1px solid var(--hush-line-2);border-radius:var(--hush-r-pill);overflow:hidden}
.hush-single .quantity .qty{width:56px;border:none;text-align:center;font-weight:700;font:inherit;padding:.8em 0;background:transparent;-moz-appearance:textfield}
.hush-single .quantity .qty::-webkit-outer-spin-button,
.hush-single .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none}
.hush-qty-btn{width:44px;height:48px;border:none;background:transparent;font-size:1.2rem;color:var(--hush-ink);display:grid;place-items:center}
.hush-qty-btn:hover{color:var(--hush-blue)}
.hush-single .single_add_to_cart_button,
.woocommerce div.product form.cart .button,
.woocommerce .single_add_to_cart_button.button.alt{
  background:var(--hush-blue) !important;color:#fff !important;border:none !important;
  border-radius:var(--hush-r-pill) !important;padding:1em 2.4rem !important;font-weight:700 !important;
  font-size:1rem !important;text-transform:none !important;letter-spacing:0 !important;
  box-shadow:var(--hush-shadow-blue);transition:all var(--hush-t) var(--hush-ease);cursor:pointer;
}
.hush-single .single_add_to_cart_button:hover,
.woocommerce div.product form.cart .button:hover{background:var(--hush-blue-600) !important;transform:translateY(-2px)}
.hush-single__usps{display:flex;flex-wrap:wrap;gap:1rem;padding-top:1.4rem;border-top:1px solid var(--hush-line)}
.hush-single__usp{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--hush-ink-soft)}
.hush-single__usp svg{width:20px;height:20px;color:var(--hush-blue)}

/* tabs */
.hush-single .woocommerce-tabs{margin-top:clamp(40px,5vw,64px)}
.hush-single .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;border:none;margin-bottom:1.6rem}
.hush-single .woocommerce-tabs ul.tabs li{list-style:none;background:none;border:none}
.hush-single .woocommerce-tabs ul.tabs li a{display:block;padding:.6em 1.2em;border-radius:var(--hush-r-pill);
  border:1px solid var(--hush-line-2);font-weight:700;font-size:.88rem;color:var(--hush-ink-soft)}
.hush-single .woocommerce-tabs ul.tabs li.active a{background:var(--hush-blue);color:#fff;border-color:var(--hush-blue)}
.hush-single .woocommerce-Tabs-panel h2{font-size:1.4rem;margin-bottom:1rem}

/* related */
.hush-related{margin-top:clamp(40px,5vw,64px)}
.hush-related > h2,.up-sells > h2{font-size:1.8rem;margin-bottom:1.6rem}
.hush-related .hush-shop-grid,.up-sells .hush-shop-grid,
.hush-related ul.products,.up-sells ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}

/* ---------- Cart ---------- */
.hush-cart-page{padding-block:clamp(28px,4vw,56px)}
.hush-cart-page h1{margin-bottom:1.6rem}
.hush-cart-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}
/* Live-update busy state: subtle dim + wait cursor while the AJAX call runs. */
.hush-cart-row--busy{opacity:.55;transition:opacity .15s;pointer-events:none}
.cart_totals.hush-cart-row--busy{opacity:.55}
.woocommerce-cart-form{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:.5rem 1.4rem}
.woocommerce-cart-form table.cart{width:100%;border-collapse:collapse}
.woocommerce-cart-form table.cart th{text-align:start;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--hush-muted);padding:1rem .5rem;border-bottom:1px solid var(--hush-line)}
.woocommerce-cart-form table.cart td{padding:1.1rem .5rem;border-bottom:1px solid var(--hush-line);vertical-align:middle}
/* Sale price in the cart — original struck through (muted) + sale price (pink). */
.woocommerce-cart-form table.cart td.product-price del,
.woocommerce-cart-form table.cart td.product-subtotal del,
.hush-cart-sale-subtotal del{color:var(--hush-muted);font-weight:400;text-decoration:line-through;
  margin-inline-end:.35rem;font-size:.88em;opacity:.85}
.woocommerce-cart-form table.cart td.product-price ins,
.woocommerce-cart-form table.cart td.product-subtotal ins,
.hush-cart-sale-subtotal ins{text-decoration:none;color:var(--hush-pink);font-weight:700;background:transparent}
/* Fixed column widths so rows never collapse or overlap. */
.woocommerce-cart-form .product-remove{width:44px;text-align:center}
.woocommerce-cart-form .product-thumbnail{width:88px}
.woocommerce-cart-form .product-name{min-width:180px}
.woocommerce-cart-form .product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:var(--hush-r-md);display:block}
/* Missing-image fallback: keep the cell sized so the name column can't slide in. */
.woocommerce-cart-form .product-thumbnail a:empty,
.woocommerce-cart-form .product-thumbnail:empty{display:inline-block;width:72px;height:72px;
  background:var(--hush-wash-lilac);border-radius:var(--hush-r-md)}
.woocommerce-cart-form .product-name a{font-family:var(--hush-font-display);color:var(--hush-ink);font-size:1rem;text-decoration:none}
.woocommerce-cart-form .product-name a:hover{color:var(--hush-blue)}
/* Bundle "Includes:" children inside the name cell — indented, muted, tidy. */
.woocommerce-cart-form .product-name dl.variation,
.woocommerce-cart-form .product-name .hush-bundle-includes,
.hush-bundle-includes{list-style:none;margin:.5rem 0 0;padding:0;font-size:.82rem;color:var(--hush-ink-soft);line-height:1.55}
.hush-bundle-includes li{position:relative;padding-inline-start:1.4rem;margin:0 0 .35rem}
.hush-bundle-includes li:last-child{margin-bottom:0}
.hush-bundle-includes li::before{content:"";position:absolute;inset-inline-start:.15rem;top:.55em;
  width:6px;height:6px;border-radius:50%;background:var(--hush-blue);transform:translateY(-50%)}
/* Bundle child list inside the mini-cart / flyout drawer */
.hush-bundle-mini-includes{list-style:none;margin:.6rem 0 0;padding:.6rem .75rem;
  background:var(--hush-cream-2,#fdf8ef);border-radius:var(--hush-r-md,14px)}
.hush-bundle-mini-includes li{position:relative;padding-inline-start:1.3rem;font-size:.8rem;
  color:var(--hush-ink-soft);line-height:1.5;margin:0 0 .45rem}
.hush-bundle-mini-includes li:last-child{margin-bottom:0}
.hush-bundle-mini-includes li::before{content:"";position:absolute;inset-inline-start:.1rem;top:.5em;
  width:6px;height:6px;border-radius:50%;background:var(--hush-blue);transform:translateY(-50%)}
.woocommerce-cart-form .product-name dl.variation dt{font-weight:700;margin:.3rem 0 0}
.woocommerce-cart-form .product-name dl.variation dd{margin:0 0 .2rem}
.woocommerce-cart-form .product-remove a{width:30px;height:30px;border-radius:50%;background:var(--hush-pink-050);
  color:var(--hush-pink);display:grid;place-items:center;font-weight:800;text-decoration:none;font-size:1rem;margin-inline:auto}
/* Hide the native number-input spin arrows for a cleaner quantity box. */
.woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.woocommerce-cart-form .quantity .qty{-moz-appearance:textfield}
.woocommerce-cart-form .quantity{display:inline-flex;align-items:center;border:1px solid var(--hush-line-2);border-radius:var(--hush-r-pill)}
.woocommerce-cart-form .quantity .qty{width:48px;border:none;text-align:center;background:transparent;font-weight:700;padding:.5em 0}
.cart-collaterals,.cart_totals{width:100%}
.cart_totals{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:1.6rem;position:sticky;top:100px}
.cart_totals h2{font-size:1.3rem;margin-bottom:1.2rem}
.cart_totals table{width:100%;border-collapse:collapse;display:block}
.woocommerce .cart_totals table.shop_table tr,
.cart_totals table tr{display:flex!important;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.85rem 0;border-bottom:1px solid var(--hush-line)}
.woocommerce .cart_totals table.shop_table tr:last-child,
.cart_totals table tr:last-child{border-bottom:none}
.woocommerce .cart_totals table.shop_table th,
.cart_totals table th{font-weight:600;color:var(--hush-ink-soft);text-align:start!important;padding:0!important;border:none!important;
  flex:0 1 auto;white-space:normal;width:auto!important}
.woocommerce .cart_totals table.shop_table td,
.cart_totals table td{text-align:end!important;font-weight:700;color:var(--hush-ink);padding:0!important;border:none!important;
  flex:1 1 auto;min-width:0;width:auto!important}
/* Shipment / fee rows: keep the value block tidy and right-aligned */
.cart_totals .shipping td,.cart_totals .fee td{font-weight:700;line-height:1.5}
.cart_totals .shipping td ul,.cart_totals .shipping td #shipping_method{list-style:none;margin:0;padding:0}
.cart_totals .shipping td li{margin:0}
.cart_totals .woocommerce-shipping-destination{display:block;font-weight:500;font-size:.82rem;
  color:var(--hush-muted);margin-top:.25rem}
.cart_totals .shipping-calculator-button,.cart_totals .wc-shipping-address-change{
  display:inline-block;margin-top:.4rem;color:var(--hush-blue)!important;font-weight:700;font-size:.85rem;text-decoration:none}
.cart_totals .shipping-calculator-button:hover,.cart_totals .wc-shipping-address-change:hover{text-decoration:underline}
.cart_totals .order-total{padding-top:1.1rem}
.cart_totals .order-total th{font-size:1rem;color:var(--hush-ink);font-weight:800}
.cart_totals .order-total td{font-size:1.35rem;font-family:var(--hush-font-display);color:var(--hush-ink)}
/* Discount / fee rows (BOGO & bundle deals register as negative fees, coupons
   as .cart-discount). Long promo names wrap — keep them tight and green. */
.cart_totals .cart-discount th,.cart_totals .coupon th,
.cart_totals .fee th{white-space:normal;font-size:.82rem;line-height:1.3;color:var(--hush-ink-soft)}
.cart_totals .cart-discount td,.cart_totals .coupon td{color:#2f6d23;white-space:nowrap;font-weight:800}
/* Negative fee value (a saving) shows green; the row itself stays compact. */
.cart_totals .fee td{white-space:nowrap}
.cart_totals .cart-discount,.cart_totals .coupon,.cart_totals .fee{padding:.6rem 0}
.cart_totals .wc-proceed-to-checkout{margin-top:1.4rem;padding:0}
.cart_totals .wc-proceed-to-checkout a.checkout-button,
.cart_totals a.checkout-button,
.woocommerce .cart_totals a.checkout-button.button.alt{
  display:flex!important;align-items:center;justify-content:center;width:100%;box-sizing:border-box;
  background:var(--hush-blue)!important;color:#fff!important;border:none!important;
  border-radius:var(--hush-r-pill)!important;padding:1em 2rem!important;
  font-family:var(--hush-font-body,inherit);font-weight:800!important;font-size:1rem!important;
  letter-spacing:.02em;text-transform:none!important;text-decoration:none!important;text-align:center;
  box-shadow:var(--hush-shadow-blue);transition:all var(--hush-t)!important;cursor:pointer}
.cart_totals .wc-proceed-to-checkout a.checkout-button:hover,
.cart_totals a.checkout-button:hover,
.woocommerce .cart_totals a.checkout-button.button.alt:hover{
  background:var(--hush-blue-600)!important;color:#fff!important;transform:translateY(-2px)}
.hush-coupon{display:flex;gap:.5rem;margin:1rem 0}
.hush-coupon input{flex:1;border:1px solid var(--hush-line-2);border-radius:var(--hush-r-pill);padding:.7em 1.1em;font:inherit}

/* ---------- Checkout (Hush redesign) ---------- */
.hush-checkout{padding-block:clamp(28px,4vw,56px)}
.hush-checkout h1{margin-bottom:1.6rem;text-align:center}
.hush-checkout__wrap{max-width:1180px;margin-inline:auto;width:100%}
/* Two-column: form (wider) + sticky summary. Flexbox with explicit widths so
   the columns always sit side by side with a fixed gap — never pushed to
   opposite edges or detached. */
.hush-checkout__cols{display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start;justify-content:flex-start}
.hush-checkout__main{flex:1 1 58%;min-width:0;max-width:100%}
.hush-checkout__aside{flex:1 1 320px;min-width:0;max-width:420px}
#customer_details{width:100%}
/* Form section cards — only the outer section is a card; the WooCommerce field
   groups inside it are plain (prevents the card-inside-a-card look). */
.hush-checkout__section{background:#fff;border:1px solid var(--hush-line);
  border-radius:var(--hush-r-lg);padding:1.8rem;margin-bottom:1.4rem}
.hush-checkout__section .woocommerce-billing-fields,
.hush-checkout__section .woocommerce-shipping-fields,
.hush-checkout__section .woocommerce-additional-fields{background:transparent;border:none;
  border-radius:0;padding:0;margin-bottom:0}
.hush-checkout__section:last-child{margin-bottom:0}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
#order_review_heading{font-family:var(--hush-font-display);font-size:1.3rem;color:var(--hush-ink);margin:0 0 1.3rem}
/* Form fields */
.woocommerce form .form-row{margin-bottom:1.1rem;display:flex;flex-direction:column}
.woocommerce form .form-row label{font-size:.82rem;font-weight:700;color:var(--hush-ink);margin-bottom:.4rem;display:block}
.woocommerce form .form-row .woocommerce-input-wrapper{width:100%;display:block}
/* Side-by-side fields (first/last name etc.) */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last{display:inline-flex;width:calc(50% - .5rem)}
.woocommerce form .form-row-first{margin-inline-end:1rem}
@media (max-width:600px){
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last{width:100%;margin-inline-end:0;display:flex;flex-direction:column}
  .woocommerce form .form-row{margin-bottom:1rem}
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce-checkout select{padding:.8em 1em;font-size:16px}
}
.woocommerce form .form-row .required{color:var(--hush-pink);text-decoration:none}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container,
.woocommerce-checkout select{width:100%;border:1px solid var(--hush-line-2);border-radius:var(--hush-r-md);
  padding:.72em 1em;font:inherit;background:#fff;transition:border-color var(--hush-t),box-shadow var(--hush-t);box-sizing:border-box}
/* Native <select> — custom chevron, no ugly default OS arrow. */
.woocommerce-checkout select,
.woocommerce form .form-row select{appearance:none;-webkit-appearance:none;-moz-appearance:none;
  padding-inline-end:2.6em;cursor:pointer;color:var(--hush-ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b869b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1em center;background-size:16px}
[dir="rtl"] .woocommerce-checkout select,
[dir="rtl"] .woocommerce form .form-row select{background-position:left 1em center;padding-inline-end:1em;padding-inline-start:2.6em}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout select:focus{border-color:var(--hush-blue);outline:none;box-shadow:0 0 0 3px var(--hush-blue-050)}
.woocommerce-checkout select:hover,
.woocommerce form .form-row select:hover{border-color:var(--hush-blue)}
/* Select2 (WooCommerce country/state enhanced dropdown) — full restyle. */
.select2-container .select2-selection--single{height:auto!important;
  border:1px solid var(--hush-line-2)!important;border-radius:var(--hush-r-md)!important;
  padding:.72em 1em!important;background:#fff!important;transition:border-color var(--hush-t),box-shadow var(--hush-t)!important;
  display:flex;align-items:center}
.select2-container--focus .select2-selection--single,
.select2-container--open .select2-selection--single{border-color:var(--hush-blue)!important;
  box-shadow:0 0 0 3px var(--hush-blue-050)!important}
.select2-container .select2-selection--single .select2-selection__rendered{color:var(--hush-ink)!important;
  padding:0!important;line-height:1.4!important;font-weight:500}
.select2-container .select2-selection--single .select2-selection__placeholder{color:var(--hush-muted)!important}
/* Replace select2's arrow with our chevron. */
.select2-container .select2-selection--single .select2-selection__arrow{height:100%!important;top:0!important;
  inset-inline-end:.9em!important;width:16px!important}
.select2-container .select2-selection--single .select2-selection__arrow b{display:none!important}
.select2-container .select2-selection--single .select2-selection__arrow::after{content:"";position:absolute;
  top:50%;inset-inline-end:0;transform:translateY(-50%);width:16px;height:16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b869b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;transition:transform var(--hush-t)}
.select2-container--open .select2-selection--single .select2-selection__arrow::after{transform:translateY(-50%) rotate(180deg)}
/* The open dropdown panel. */
.select2-dropdown{border:1px solid var(--hush-line-2)!important;border-radius:var(--hush-r-md)!important;
  box-shadow:var(--hush-shadow-lg,0 18px 40px rgba(28,19,64,.14))!important;overflow:hidden;background:#fff!important;
  margin-top:4px}
.select2-search--dropdown{padding:.7rem!important}
.select2-search--dropdown .select2-search__field{border:1px solid var(--hush-line-2)!important;
  border-radius:var(--hush-r-pill)!important;padding:.55em .9em!important;font:inherit!important;outline:none!important}
.select2-search--dropdown .select2-search__field:focus{border-color:var(--hush-blue)!important;
  box-shadow:0 0 0 3px var(--hush-blue-050)!important}
.select2-results__options{max-height:240px!important}
.select2-results__option{padding:.6em 1em!important;font-size:.92rem!important;color:var(--hush-ink-soft)!important}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted{background:var(--hush-blue-050)!important;
  color:var(--hush-blue-600)!important}
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"]{background:var(--hush-cream-2)!important;
  color:var(--hush-ink)!important;font-weight:700}
/* Sticky order summary */
.hush-checkout__summary{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);
  padding:1.8rem;position:sticky;top:100px}
#order_review{margin:0}
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;margin-bottom:1.2rem}
.woocommerce-checkout-review-order-table thead th{font-size:.72rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--hush-muted);padding-bottom:.7rem;border-bottom:1px solid var(--hush-line)}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{padding:.85rem 0;border-bottom:1px solid var(--hush-line);
  text-align:start;font-size:.92rem;vertical-align:top}
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .order-total th{font-weight:800;color:var(--hush-ink)}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td{padding-top:1.1rem;border-bottom:none}
.woocommerce-checkout-review-order-table .order-total td{font-size:1.3rem;font-weight:800;color:var(--hush-ink);
  font-family:var(--hush-font-display)}
.woocommerce-checkout-review-order-table .product-name{color:var(--hush-ink-soft);font-weight:600;
  line-height:1.4;padding-inline-end:1rem}
.woocommerce-checkout-review-order-table .product-name .product-quantity{color:var(--hush-muted);font-weight:700}
.woocommerce-checkout-review-order-table .product-total{white-space:nowrap;text-align:end;font-weight:700;color:var(--hush-ink)}
/* Payment box */
.woocommerce-checkout #payment{background:transparent;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border:none;padding:0;margin:0 0 1.2rem;list-style:none;
  display:flex;flex-direction:column;gap:.7rem}
/* Each payment method becomes a selectable card. */
.woocommerce-checkout #payment ul.payment_methods li{padding:0;margin:0;background:#fff;
  border:1.5px solid var(--hush-line);border-radius:var(--hush-r-md);transition:border-color var(--hush-t),
  box-shadow var(--hush-t),background var(--hush-t);overflow:hidden;position:relative}
.woocommerce-checkout #payment ul.payment_methods li:hover{border-color:var(--hush-line-2)}
/* Highlight the card that contains the checked radio. */
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--hush-blue);
  box-shadow:0 0 0 3px rgba(5,84,255,.10)}
/* Put the radio and its label on ONE line. WooCommerce renders them as siblings
   inside the <li>, so we flex the top row of the li and pull the payment_box
   (which is also a sibling) onto its own full-width line below. */
.woocommerce-checkout #payment ul.payment_methods li{display:flex;flex-wrap:wrap;align-items:center}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{flex:none;width:20px;height:20px;
  margin:0 .1rem 0 1.2rem;accent-color:var(--hush-blue);cursor:pointer}
.woocommerce-checkout #payment ul.payment_methods li > label{display:flex;align-items:center;gap:.7rem;
  font-weight:700;color:var(--hush-ink);font-size:1rem;padding:1.05rem 1.2rem 1.05rem .6rem;margin:0;cursor:pointer;
  min-height:0;flex:1}
.woocommerce-checkout #payment ul.payment_methods li div.payment_box{flex:1 0 100%;order:3}
/* Gateway logo/icon: push to the far right, size consistently. */
.woocommerce-checkout #payment ul.payment_methods li > label img{margin-inline-start:auto;max-height:26px;
  width:auto;object-fit:contain}
/* Some gateways output their icon as a direct child of the <li> (or absolutely
   positioned), which makes it float in the corner. Normalise those: pin it
   neatly to the right edge of the label row instead. */
.woocommerce-checkout #payment ul.payment_methods li > img,
.woocommerce-checkout #payment ul.payment_methods li > label + img{position:absolute;top:1.05rem;
  inset-inline-end:1.2rem;max-height:26px;width:auto;object-fit:contain;margin:0}
/* The expandable description box, flush inside the card. */
.woocommerce-checkout #payment div.payment_box{background:var(--hush-cream-2);border-radius:0;margin:0;
  padding:.9rem 1.2rem 1.15rem 3.1rem;font-size:.9rem;color:var(--hush-ink-soft);line-height:1.5;box-shadow:none}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment div.payment_box p{margin:0}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text{font-size:.82rem;color:var(--hush-muted);margin-top:1rem}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text a{color:var(--hush-blue);font-weight:700;text-decoration:none}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text a:hover{text-decoration:underline}
/* Place order button */
.woocommerce-checkout #payment .place-order .button,
#place_order{background:var(--hush-blue)!important;color:#fff!important;border:none!important;
  border-radius:var(--hush-r-pill)!important;padding:1.05em 2rem!important;font-weight:700!important;font-size:1.05rem!important;
  width:100%;box-shadow:0 8px 20px rgba(5,84,255,.28);transition:all var(--hush-t)!important;text-transform:none!important;margin-top:.5rem}
#place_order:hover{background:var(--hush-blue-600)!important;transform:translateY(-2px)}
/* Coupon + login toggles at top */
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle{margin-bottom:1.4rem}
.woocommerce-info a,.woocommerce-message a{color:var(--hush-blue);font-weight:700;text-decoration:none}
.woocommerce-info a:hover,.woocommerce-message a:hover{text-decoration:underline}
.woocommerce form.checkout_coupon{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:1.4rem;margin-bottom:1.4rem}

/* ---------- Order received / Thank-you page ---------- */
.hush-order-received{padding-block:clamp(28px,4vw,56px)}
.hush-order-received > .hush-container{max-width:760px;margin-inline:auto}
.hush-order-received h1{text-align:center;margin-bottom:.4rem}
/* Success confirmation banner */
.hush-order-received .woocommerce-thankyou-order-received,
.hush-order-received .woocommerce-notice--success{background:var(--hush-wash-mint);border:1px solid #cbe8bd;
  border-radius:var(--hush-r-lg);padding:1.3rem 1.5rem;text-align:center;font-size:1.05rem;font-weight:700;
  color:#2f6d23;margin:0 0 1.8rem;position:relative}
.hush-order-received .woocommerce-thankyou-order-received::before{content:"✓";display:inline-flex;
  align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--hush-green);
  color:#fff;font-size:.9rem;font-weight:800;margin-inline-end:.6rem;vertical-align:middle}
/* Order overview strip (number · date · total · payment) */
.hush-order-received ul.woocommerce-order-overview,
.hush-order-received ul.order_details{list-style:none;margin:0 0 2rem;padding:1.4rem;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.2rem 1.5rem;
  background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg)}
.hush-order-received ul.woocommerce-order-overview li,
.hush-order-received ul.order_details li{display:flex;flex-direction:column;gap:.25rem;border:none!important;
  padding:0;margin:0;min-width:0;text-transform:none}
/* small uppercase label above each value */
.hush-order-received ul.woocommerce-order-overview li,
.hush-order-received ul.order_details li{font-size:.72rem;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:var(--hush-muted)}
/* the value itself — must wrap so long emails never collide with the next cell */
.hush-order-received ul.woocommerce-order-overview li strong,
.hush-order-received ul.order_details li strong{display:block;font-weight:800;color:var(--hush-ink);
  font-size:1rem;letter-spacing:normal;text-transform:none;line-height:1.35;min-width:0;
  overflow-wrap:anywhere;word-break:break-word}
/* Section headings */
.hush-order-received h2,
.hush-order-received .woocommerce-column__title,
.hush-order-received .woocommerce-order-details__title,
.hush-order-received .woocommerce-customer-details h2{font-family:var(--hush-font-display);font-size:1.3rem;
  color:var(--hush-ink);margin:0 0 1rem}
/* Order details table */
.hush-order-received .woocommerce-table--order-details,
.hush-order-received table.order_details,
.hush-order-received table.shop_table{width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);overflow:hidden;margin:0 0 2rem}
.hush-order-received table.shop_table th,
.hush-order-received table.shop_table td{padding:.9rem 1.2rem;text-align:start;border-bottom:1px solid var(--hush-line);
  font-size:.95rem}
/* Product-name column can hold a long "Bundle contents" list — let it wrap and
   keep it from pushing the total column off-screen. */
.hush-order-received table.shop_table td.product-name{min-width:0;overflow-wrap:anywhere;word-break:break-word;
  line-height:1.45}
.hush-order-received table.shop_table td.product-name a{color:var(--hush-ink);font-weight:700;text-decoration:none}
.hush-order-received table.shop_table td.product-name a:hover{color:var(--hush-blue)}
.hush-order-received table.shop_table td.product-name .product-quantity{color:var(--hush-muted);font-weight:700}
/* Bundle contents / item meta under a product line */
.hush-order-received table.shop_table td.product-name .wc-item-meta,
.hush-order-received table.shop_table td.product-name dl.variation{list-style:none;margin:.4rem 0 0;padding:0;
  font-size:.82rem;color:var(--hush-ink-soft);font-weight:500;line-height:1.5}
.hush-order-received table.shop_table td.product-name .wc-item-meta li,
.hush-order-received table.shop_table td.product-name dl.variation dt{font-weight:800;color:var(--hush-muted);
  font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .15rem}
.hush-order-received table.shop_table td.product-name .wc-item-meta li p,
.hush-order-received table.shop_table td.product-name dl.variation dd{margin:0;font-weight:500;color:var(--hush-ink-soft)}
.hush-order-received table.shop_table thead th{background:var(--hush-cream-2);font-size:.72rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;color:var(--hush-muted)}
.hush-order-received table.shop_table .product-total,
.hush-order-received table.shop_table td.product-total,
.hush-order-received table.shop_table .woocommerce-Price-amount{text-align:end;white-space:nowrap;font-weight:700}
.hush-order-received table.shop_table tfoot th,
.hush-order-received table.shop_table tfoot td{padding:.75rem 1.2rem;font-size:.95rem}
.hush-order-received table.shop_table tfoot tr:last-child th,
.hush-order-received table.shop_table tfoot tr:last-child td{border-bottom:none;font-size:1.15rem;font-weight:800;
  color:var(--hush-ink);font-family:var(--hush-font-display)}
.hush-order-received table.shop_table tfoot .woocommerce-Price-amount{text-align:end}
/* Customer / billing + shipping addresses */
.hush-order-received .woocommerce-customer-details{margin-top:.5rem}
.hush-order-received .woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin:0}
.hush-order-received .woocommerce-column{background:#fff;border:1px solid var(--hush-line);
  border-radius:var(--hush-r-lg);padding:1.4rem}
.hush-order-received address{font-style:normal;line-height:1.7;color:var(--hush-ink-soft);border:none;padding:0}
.hush-order-received .woocommerce-customer-details--phone,
.hush-order-received .woocommerce-customer-details--email{margin:.4rem 0 0;color:var(--hush-ink-soft)}
/* Downloads (if any) */
.hush-order-received .woocommerce-order-downloads{margin-bottom:2rem}
@media (max-width:600px){
  .hush-order-received .woocommerce-columns--addresses{grid-template-columns:1fr}
  /* Single column on phones so long emails/values always have room and never
     collide. Each row becomes label-above-value, full width. */
  .hush-order-received ul.woocommerce-order-overview,
  .hush-order-received ul.order_details{grid-template-columns:1fr;gap:1rem;padding:1.2rem}
  .hush-order-received table.shop_table th,
  .hush-order-received table.shop_table td{padding:.7rem .9rem;font-size:.9rem}
  .hush-order-received h1{font-size:1.8rem}
}
/* Two columns on small tablets — comfortable, still no overflow. */
@media (min-width:601px) and (max-width:820px){
  .hush-order-received ul.woocommerce-order-overview,
  .hush-order-received ul.order_details{grid-template-columns:1fr 1fr}
}

/* ---------- My Account ---------- */
.hush-account{padding-block:clamp(28px,4vw,56px)}
.hush-account h1{margin-bottom:1.6rem}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:250px 1fr;gap:2rem;align-items:start}
.woocommerce-MyAccount-navigation{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:1rem}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:.75em 1em;border-radius:var(--hush-r-md);
  font-weight:600;color:var(--hush-ink-soft);transition:all var(--hush-t)}
.woocommerce-MyAccount-navigation ul li a:hover{background:var(--hush-blue-050);color:var(--hush-blue)}
.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--hush-blue);color:#fff}
.woocommerce-MyAccount-content{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:2rem}
.woocommerce-MyAccount-content table{width:100%;border-collapse:collapse}
.woocommerce-MyAccount-content table th,.woocommerce-MyAccount-content table td{padding:.8rem;border-bottom:1px solid var(--hush-line);text-align:start;font-size:.9rem}

/* login/register */
.hush-auth{max-width:900px;margin-inline:auto}
.hush-auth__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
/* When only the login form is present (registration off), center it nicely. */
.hush-auth__grid:has(.woocommerce-form-login):not(:has(.woocommerce-form-register)){grid-template-columns:minmax(0,480px);justify-content:center}
.woocommerce .col-1,.woocommerce .col-2{width:100%}
.woocommerce-form-login,.woocommerce-form-register{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:2rem}
.woocommerce-form-login h2,.woocommerce-form-register h2{font-size:1.4rem;margin-bottom:1.2rem}
.woocommerce-form .form-row label{font-weight:700;color:var(--hush-ink);font-size:.85rem;margin-bottom:.4rem;display:block}
.woocommerce-form input.input-text,
.woocommerce-form input[type="password"]{width:100%;border:1px solid var(--hush-line-2);border-radius:var(--hush-r-md);padding:.8em 1em;font:inherit;margin-bottom:.3rem;box-sizing:border-box;transition:border-color var(--hush-t),box-shadow var(--hush-t)}
.woocommerce-form input.input-text:focus,
.woocommerce-form input[type="password"]:focus{border-color:var(--hush-blue);outline:none;box-shadow:0 0 0 3px var(--hush-blue-050)}
/* "Remember me" — reset the checkbox to a normal box (a global input rule was
   giving it the stray grey pill look). */
.woocommerce-form-login__rememberme{display:flex;align-items:center;gap:.5rem;margin:.4rem 0 1rem;font-size:.9rem;color:var(--hush-ink-soft);cursor:pointer}
.woocommerce-form__input-checkbox,
.woocommerce-form-login__rememberme input[type="checkbox"]{width:18px!important;height:18px!important;
  border:1px solid var(--hush-line-2)!important;border-radius:4px!important;background:#fff!important;
  padding:0!important;margin:0!important;flex:none!important;appearance:auto!important;-webkit-appearance:checkbox!important;box-shadow:none!important}
.woocommerce-form-login__rememberme span{line-height:1}
.woocommerce-LostPassword{margin-top:1rem;font-size:.9rem}
.woocommerce-LostPassword a{color:var(--hush-blue);text-decoration:underline;text-underline-offset:2px}
.woocommerce-form .button,.woocommerce-form-register .button,.woocommerce-form-login .button{background:var(--hush-blue)!important;color:#fff!important;border:none!important;border-radius:var(--hush-r-pill)!important;padding:.9em 2rem!important;font-weight:700!important;width:100%}

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info{border-radius:var(--hush-r-md);border:1px solid var(--hush-line-2);
  padding:.7em 1em .7em 2.6em;font-weight:600;position:relative;display:flex;align-items:center;
  flex-wrap:wrap;gap:.5rem .8rem;margin-bottom:.6rem;list-style:none;font-size:.9rem;line-height:1.4;min-height:0}
.woocommerce-message::before,.woocommerce-info::before{content:"";position:absolute;
  inset-inline-start:.85em;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;
  background-position:center;background-repeat:no-repeat;background-size:11px}
.woocommerce-message::before{background-color:var(--hush-green);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}
.woocommerce-info::before{background-color:var(--hush-blue);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E")}
.woocommerce-notices-wrapper .woocommerce-message:last-child,
.woocommerce-notices-wrapper .woocommerce-info:last-child{margin-bottom:1.2rem}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin-inline-start:auto;flex:0 0 auto;
  background:var(--hush-blue)!important;color:#fff!important;border:none!important;border-radius:var(--hush-r-pill)!important;
  padding:.45em 1.3em!important;font-size:.8rem!important;font-weight:700!important;text-transform:none!important;
  box-shadow:none!important;transition:background var(--hush-t)!important;white-space:nowrap}
.woocommerce-message .button:hover,.woocommerce-info .button:hover{background:var(--hush-blue-600)!important;transform:none!important}
/* Error notices are a <ul> with one <li> per field — must stack vertically,
   NOT flex onto one line (that produced the crammed, unreadable box). */
.woocommerce-error{border-radius:var(--hush-r-md);border:none;padding:1em 1.4em 1em 1.6em;
  font-weight:600;margin-bottom:1.2rem;list-style:disc;
  background:var(--hush-pink-050);color:#c02566;border-inline-start:4px solid var(--hush-pink)}
.woocommerce-error li{display:list-item;margin:.25rem 0;padding:0;text-align:start}
.woocommerce-message{background:var(--hush-wash-mint);color:#2f6d23;border-color:#cbe8bd}
.woocommerce-info{background:var(--hush-blue-050);color:var(--hush-blue-600);border-color:#d3ddff}

/* ---------- Mini-cart drawer ---------- */
.hush-drawer-overlay{position:fixed;inset:0;background:rgba(28,19,64,.45);z-index:1000;opacity:0;visibility:hidden;transition:opacity var(--hush-t);backdrop-filter:blur(2px)}
.hush-drawer-overlay.is-open{opacity:1;visibility:visible}
/* When the cart drawer is open, drop the sticky header below the overlay so the
   whole page (header included) is dimmed and click-to-close works everywhere. */
body.hush-drawer-open .hush-header{z-index:1 !important}
body.hush-drawer-open{overflow:hidden}
/* Same treatment for the other full-screen overlays (mobile menu, search sheet,
   mobile shop filters) so the sticky header can never overlap them. */
body:has(.hush-mobile.is-open) .hush-header,
body:has(.hush-search-sheet.is-open) .hush-header,
body:has(.hush-shop-sidebar.is-open) .hush-header{z-index:1 !important}
.hush-drawer{position:fixed;top:0;right:0;left:auto;height:100%;width:min(420px,92vw);background:var(--hush-cream);
  z-index:1001;transform:translateX(100%);transition:transform .38s var(--hush-ease);display:flex;flex-direction:column;
  box-shadow:-20px 0 60px rgba(28,19,64,.18)}
.hush-drawer.is-open{transform:translateX(0)}
.hush-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 1.4rem;border-bottom:1px solid var(--hush-line);background:#fff}
.hush-drawer__head h3{font-size:1.25rem;display:flex;align-items:center;gap:.6rem;margin:0}
.hush-drawer__count{min-width:24px;height:24px;padding:0 .5em;background:var(--hush-blue);color:#fff;border-radius:var(--hush-r-pill);
  font-size:.78rem;font-weight:800;display:inline-grid;place-items:center;font-family:var(--hush-font-body)}

/* Free-shipping progress bar */
.hush-drawer__ship{padding:0}
.hush-ship-bar{padding:1rem 1.4rem;background:linear-gradient(180deg,#fff,var(--hush-cream));border-bottom:1px solid var(--hush-line)}
.hush-ship-bar__msg{display:flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:700;color:var(--hush-ink);margin-bottom:.6rem}
.hush-ship-bar__msg svg{color:var(--hush-blue);flex:none}
.hush-ship-bar.is-unlocked .hush-ship-bar__msg{color:#3d7a2e}
.hush-ship-bar.is-unlocked .hush-ship-bar__msg svg{color:var(--hush-green)}
.hush-ship-bar__track{height:8px;background:var(--hush-line);border-radius:999px;overflow:hidden}
.hush-ship-bar__fill{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--hush-blue),var(--hush-lilac));transition:width .6s var(--hush-ease)}
.hush-ship-bar.is-unlocked .hush-ship-bar__fill{background:linear-gradient(90deg,var(--hush-green),#5fb332)}

.hush-drawer__body{flex:1 1 auto;min-height:0;overflow:hidden;
  padding:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  display:flex;flex-direction:column}
/* The mini-cart fills the body as a column: the item list scrolls, while the
   subtotal + action buttons pin to the bottom as a fixed footer. */
.hush-drawer__body .widget_shopping_cart_content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;order:1}
/* Extras (savings + coupon) sit between the scrollable items and the pinned
   total/buttons — pulled out of the mini-cart into their own block. */
.hush-drawer__extras{flex:none;order:2;display:flex;flex-direction:column}
.hush-drawer__foot{flex:none;padding:1.3rem;border-top:1px solid var(--hush-line);background:#fff}
/* Head + ship bar must not shrink, so the body gets the remaining scrollable space. */
.hush-drawer__head,.hush-drawer__ship{flex:none}

/* Cart items — premium row (this list is the scrollable region) */
.hush-drawer .widget_shopping_cart_content ul.cart_list{list-style:none;margin:0;padding:1.3rem 1.4rem;
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;order:1}
.hush-drawer__extras .hush-drawer-coupon{flex:none;margin:0;padding:1rem 1.4rem 0;border-top:1px solid var(--hush-line)}
/* Savings / deals block. */
.hush-drawer__extras .hush-drawer-savings{flex:none;margin:0;padding:1rem 1.4rem;
  border-top:1px solid var(--hush-line);background:var(--hush-wash-mint)}
.hush-drawer-savings__head{display:flex;align-items:center;gap:.5rem;font-weight:800;color:#2f6d23;font-size:.92rem}
.hush-drawer-savings__head svg{color:var(--hush-green);flex:none}
.hush-drawer-savings__head strong{margin-inline-start:auto;font-family:var(--hush-font-display);font-size:1.05rem}
.hush-drawer-savings__list{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.hush-drawer-savings__list li{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;font-size:.82rem}
.hush-drawer-savings__name{color:var(--hush-ink-soft);min-width:0}
.hush-drawer-savings__amt{font-weight:700;color:#2f6d23;white-space:nowrap}
/* Inside the mini-cart column, keep total + buttons pinned below the list. */
.hush-drawer .widget_shopping_cart_content .woocommerce-mini-cart__total{order:2;flex:none}
.hush-drawer .widget_shopping_cart_content .woocommerce-mini-cart__buttons{order:3;flex:none}
.hush-drawer .widget_shopping_cart_content ul.cart_list li{display:flex;flex-wrap:wrap;align-items:center;
  gap:.2rem .9rem;padding:1rem 1.9rem 1rem 0;border-bottom:1px solid var(--hush-line);
  list-style:none;position:relative}
/* Product link = image beside name (flex inside the link), taking the full row. */
.hush-drawer .cart_list li > a:not(.remove){display:flex;align-items:center;gap:.8rem;flex:1 1 100%;
  font-weight:700;color:var(--hush-ink);font-size:.92rem;line-height:1.3;text-decoration:none;min-width:0}
.hush-drawer .cart_list li > a:not(.remove) img,
.hush-drawer .cart_list img{width:60px;height:60px;object-fit:cover;border-radius:var(--hush-r-md);
  flex:none;background:var(--hush-wash-pink);float:none;margin:0;display:block}
/* Quantity/price sits on its own line, indented to align under the name. */
.hush-drawer .cart_list .quantity{flex:1 1 100%;font-size:.86rem;color:var(--hush-muted);font-weight:600;
  padding-inline-start:calc(60px + .8rem);margin-top:.15rem}
/* Bundle "Includes" list inside the drawer — indented under the item, in a soft
   card, shown once (rendered by item_data via the variation <dl>). */
.hush-drawer .cart_list li .variation,
.hush-drawer .cart_list li .hush-bundle-includes{flex:1 1 100%;margin:.5rem 0 0;
  padding-inline-start:calc(60px + .8rem)}
.hush-drawer .cart_list li .variation{list-style:none}
.hush-drawer .cart_list li .variation dt{font-size:.72rem;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--hush-muted);margin:0 0 .35rem}
.hush-drawer .cart_list li .variation dd{margin:0}
.hush-drawer .cart_list li .hush-bundle-includes{background:var(--hush-cream-2);border-radius:var(--hush-r-md);
  padding:.6rem .75rem}
.hush-drawer .cart_list li .hush-bundle-includes li{padding:.15rem 0 .15rem 1.1rem;margin:0;border:none;
  font-size:.8rem;color:var(--hush-ink-soft);font-weight:500;display:block;position:relative}
.hush-drawer .cart_list li .hush-bundle-includes li::before{content:"";position:absolute;
  inset-inline-start:.1rem;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--hush-blue)}
.hush-drawer .cart_list li .remove,.hush-drawer .cart_list li a.remove{position:absolute;top:1.1rem;
  inset-inline-end:0;width:24px;height:24px;
  border-radius:50%;background:var(--hush-cream-2);color:var(--hush-muted)!important;display:grid;place-items:center;
  font-size:1rem;line-height:1;text-decoration:none;transition:all var(--hush-t)}
.hush-drawer .cart_list li .remove:hover{background:var(--hush-pink);color:#fff!important}
.hush-drawer .woocommerce-mini-cart__empty-message{text-align:center;color:var(--hush-muted);padding:2rem 0;font-weight:600}
/* Subtotal + buttons = pinned footer at the bottom of the drawer. */
.hush-drawer .woocommerce-mini-cart__total{flex:none;display:flex;justify-content:space-between;align-items:center;font-weight:800;
  padding:1.1rem 1.4rem;font-size:1.1rem;color:var(--hush-ink);border-top:1px solid var(--hush-line);margin:0;background:#fff}
.hush-drawer .woocommerce-mini-cart__buttons{flex:none;display:flex;flex-direction:column;gap:.6rem;margin:0;
  padding:0 1.4rem 1.4rem;background:#fff}
.hush-drawer .woocommerce-mini-cart__buttons .button{text-align:center;border-radius:var(--hush-r-pill)!important;padding:.95em!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;transition:all var(--hush-t)}
.hush-drawer .woocommerce-mini-cart__buttons .checkout{background:var(--hush-blue)!important;color:#fff!important;box-shadow:var(--hush-shadow-blue)}
.hush-drawer .woocommerce-mini-cart__buttons .checkout:hover{background:var(--hush-blue-600)!important;transform:translateY(-2px)}
.hush-drawer .woocommerce-mini-cart__buttons .wc-forward:not(.checkout){background:#fff!important;border:1px solid var(--hush-line-2)!important;color:var(--hush-ink)!important}

/* ---------- Responsive Woo ---------- */
@media (max-width:1024px){
  .hush-shop-layout{grid-template-columns:1fr}
  .hush-shop-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .hush-single__grid{grid-template-columns:1fr}
  .hush-single__gallery{position:static}
  form.checkout{grid-template-columns:1fr}
  .hush-checkout__cols{grid-template-columns:1fr;gap:1.5rem}
  .hush-checkout__summary{position:static}
  .cart_totals,#order_review,.hush-shop-sidebar{position:static}
  .hush-cart-layout{grid-template-columns:1fr}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .hush-related .hush-shop-grid,.up-sells .hush-shop-grid,
  .hush-related ul.products,.up-sells ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .hush-shop-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hush-auth__grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  /* Checkout mobile polish: comfortable card padding and a full-width,
     easy-to-tap place-order button. */
  .hush-checkout__summary,
  .hush-checkout__section,
  .woocommerce-billing-fields,
  .woocommerce-shipping-fields{padding:1.3rem}
  .hush-checkout__summary{position:static}
  .woocommerce-checkout #payment .place-order .button,
  #place_order{padding:1.1em 1.5rem !important;font-size:1.05rem !important}
  .woocommerce-checkout-review-order-table th,
  .woocommerce-checkout-review-order-table td{font-size:.9rem}
  .woocommerce-checkout-review-order-table .order-total td{font-size:1.2rem;white-space:nowrap}
  /* Cart table → stacked cards on mobile. The 6-column table can't fit on a
     phone (it overflowed and cut off Quantity/Subtotal), so each cart row
     becomes a self-contained card. */
  .woocommerce-cart-form{padding:0;border:none;background:transparent}
  .woocommerce-cart-form table.cart,
  .woocommerce-cart-form table.cart tbody{display:block;width:100%}
  .woocommerce-cart-form table.cart thead{display:none}
  .woocommerce-cart-form table.cart tr.cart_item{
    display:grid;
    grid-template-columns:64px 1fr;
    grid-template-areas:
      "thumb name"
      "thumb price"
      "qty subtotal";
    gap:.55rem .9rem;
    align-items:center;
    background:#fff;
    border:1px solid var(--hush-line);
    border-radius:var(--hush-r-lg);
    padding:1rem;
    margin-bottom:.9rem;
    position:relative;
  }
  .woocommerce-cart-form table.cart td{border:none !important;padding:0 !important}
  .woocommerce-cart-form table.cart td.product-thumbnail{grid-area:thumb;display:block !important;width:64px;align-self:start}
  .woocommerce-cart-form table.cart td.product-thumbnail img{width:64px;height:64px;border-radius:var(--hush-r-md)}
  .woocommerce-cart-form table.cart td.product-name{grid-area:name;min-width:0;font-weight:700;line-height:1.3;
    font-size:.95rem;color:var(--hush-ink);padding-inline-end:1.6rem !important}
  .woocommerce-cart-form table.cart td.product-name a{color:var(--hush-ink)}
  /* Remove (×) → small circle pinned to the top-right corner of the card. */
  .woocommerce-cart-form table.cart td.product-remove{position:absolute;top:.7rem;inset-inline-end:.7rem;
    grid-area:unset;width:auto}
  .woocommerce-cart-form table.cart td.product-price{grid-area:price;color:var(--hush-muted);font-size:.88rem;align-self:start}
  .woocommerce-cart-form table.cart td.product-quantity{grid-area:qty;justify-self:start}
  .woocommerce-cart-form table.cart td.product-subtotal{grid-area:subtotal;justify-self:end;font-weight:800;
    color:var(--hush-ink);font-size:1.05rem}
  /* Show a small inline label before price/subtotal for clarity. */
  .woocommerce-cart-form table.cart td.product-price::before{content:attr(data-title) ": ";font-weight:400;color:var(--hush-muted)}
  .woocommerce-cart-form table.cart td.product-subtotal::before{content:attr(data-title) ": ";font-weight:400;
    color:var(--hush-muted);font-size:.72rem;display:block;text-transform:uppercase;letter-spacing:.05em}
  /* Coupon + update row: full width, stacked. */
  .woocommerce-cart-form td.actions{display:block;border:none !important;padding:0 !important;margin-top:.4rem}
  .woocommerce-cart-form td.actions .coupon{display:flex;gap:.5rem;width:100%;margin-bottom:.7rem}
  .woocommerce-cart-form td.actions .coupon input{flex:1;min-width:0}
  .woocommerce-cart-form td.actions .coupon .button,
  .woocommerce-cart-form td.actions .button{width:auto}
  .woocommerce-cart-form td.actions > .button[name="update_cart"]{width:100%}
}
@media (max-width:480px){
  /* Shop stays 2-per-row on phones (matches homepage) — 1 per row wastes space. */
  .hush-shop-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
  .hush-related .hush-shop-grid,.up-sells .hush-shop-grid,
  .hush-related ul.products,.up-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:340px){
  .hush-shop-grid,.woocommerce ul.products{grid-template-columns:1fr}
}

/* ==========================================================================
   Single product — rich detail blocks
   ========================================================================== */

/* Highlights (scent / size / for) */
.hush-single__highlights{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.4rem}
.hush-single__hl{display:inline-flex;align-items:center;gap:.6rem;background:var(--hush-cream-2);
  border:1px solid var(--hush-line);border-radius:var(--hush-r-md);padding:.7rem .9rem;
  flex:0 1 auto;max-width:100%}
.hush-single__hl-ic{width:36px;height:36px;flex:none;border-radius:var(--hush-r-pill);
  background:#fff;color:var(--hush-blue);display:grid;place-items:center}
.hush-single__hl-body{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.hush-single__hl-body small{font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--hush-muted)}
.hush-single__hl-body b{font-size:.86rem;color:var(--hush-ink);line-height:1.25}

/* Benefits checklist */
.hush-single__benefits{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.5rem}
.hush-single__benefits li{display:flex;align-items:flex-start;gap:.6rem;font-size:.92rem;color:var(--hush-ink-soft)}
.hush-single__benefits li svg{color:var(--hush-green);flex:none;margin-top:.15rem}

/* Ingredient chips (tab) */
.hush-ing-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
.hush-ing-chip{background:var(--hush-wash-mint);color:#3d7a2e;border-radius:var(--hush-r-pill);
  padding:.45em 1em;font-weight:600;font-size:.85rem}

/* How-to-use steps (tab) */
.hush-how-steps{list-style:none;margin:.5rem 0;padding:0;counter-reset:hush-how;display:grid;gap:.9rem}
.hush-how-steps li{display:flex;align-items:flex-start;gap:.9rem;color:var(--hush-ink-soft)}
.hush-how-num{counter-increment:hush-how;width:30px;height:30px;flex:none;border-radius:50%;
  background:var(--hush-blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.85rem}
.hush-how-num::before{content:counter(hush-how)}

/* Journal strip */
.hush-single-journal{margin-top:clamp(40px,5vw,64px)}
.hush-single-journal__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.hush-single-journal__head h2{font-size:1.8rem}
.hush-journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.hush-journal-card{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);overflow:hidden;
  transition:transform var(--hush-t) var(--hush-ease),box-shadow var(--hush-t)}
.hush-journal-card:hover{transform:translateY(-5px);box-shadow:var(--hush-shadow-md)}
.hush-journal-card__media{display:block;aspect-ratio:16/10;background:var(--hush-wash-lilac) center/cover no-repeat}
.hush-journal-card__media--ph{background:linear-gradient(120deg,var(--hush-wash-pink),var(--hush-wash-lilac))}
.hush-journal-card__body{display:block;padding:1.1rem 1.2rem 1.3rem}
.hush-journal-card__date{font-size:.72rem;font-weight:700;color:var(--hush-muted);text-transform:uppercase;letter-spacing:.04em}
.hush-journal-card__title{display:block;font-family:var(--hush-font-display);font-size:1.05rem;color:var(--hush-ink);margin-top:.35rem;line-height:1.25}
.hush-journal-card:hover .hush-journal-card__title{color:var(--hush-blue)}

@media (max-width:900px){
  .hush-journal-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   Easy coupons (drawer + cart)
   ========================================================================== */
.hush-drawer-coupon{margin-top:1rem;border-top:1px solid var(--hush-line);padding-top:1rem}
.hush-applied-coupons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem}
.hush-coupon-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--hush-wash-mint);
  color:#3d7a2e;border-radius:var(--hush-r-pill);padding:.4em .5em .4em .8em;font-weight:700;font-size:.8rem}
.hush-coupon-chip svg{color:var(--hush-green)}
.hush-coupon-remove{border:none;background:rgba(61,122,46,.15);color:#3d7a2e;width:20px;height:20px;
  border-radius:50%;font-size:1rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s}
.hush-coupon-remove:hover{background:rgba(61,122,46,.3)}
.hush-coupon-toggle summary{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:700;
  font-size:.88rem;color:var(--hush-blue);list-style:none;padding:.4rem 0}
.hush-coupon-toggle summary::-webkit-details-marker{display:none}
.hush-coupon-toggle summary svg{color:var(--hush-blue)}
.hush-coupon-form{display:flex;gap:.5rem;margin-top:.6rem}
.hush-coupon-input{flex:1;min-width:0;border:1px solid var(--hush-line-2);border-radius:var(--hush-r-pill);
  padding:.7em 1.1em;font:inherit;text-transform:uppercase;letter-spacing:.03em}
.hush-coupon-input:focus{border-color:var(--hush-blue);outline:none}
.hush-coupon-msg{font-size:.8rem;margin-top:.5rem;min-height:1em}
.hush-coupon-msg.is-ok{color:#3d7a2e}
.hush-coupon-msg.is-err{color:#c02566}

/* Cart page coupon — make it a friendly one-line row */
.woocommerce-cart-form .coupon.hush-coupon{align-items:center}
.woocommerce-cart-form .coupon.hush-coupon input{text-transform:uppercase;letter-spacing:.03em}

/* Description tab / long content readability */
.hush-single .woocommerce-Tabs-panel{max-width:75ch;color:var(--hush-ink-soft);line-height:1.7}
.hush-single .woocommerce-Tabs-panel p{margin-bottom:1rem}
.hush-single .woocommerce-Tabs-panel h2,
.hush-single .woocommerce-Tabs-panel h3{color:var(--hush-ink);margin:1.5rem 0 .8rem}
.hush-single .woocommerce-Tabs-panel ul{margin:0 0 1rem;padding-inline-start:1.2rem}
.hush-single .woocommerce-Tabs-panel ul li{margin-bottom:.4rem}
.hush-single .woocommerce-Tabs-panel img{border-radius:var(--hush-r-md);margin:1rem 0}

/* ==========================================================================
   Enhanced shop sidebar
   ========================================================================== */
.hush-cat-tree{display:flex;flex-direction:column;gap:.15rem}
.hush-cat-tree > li > a{display:flex;justify-content:space-between;align-items:center;
  padding:.5em .6em;border-radius:var(--hush-r-sm);font-weight:600;font-size:.92rem;
  color:var(--hush-ink-soft);transition:all var(--hush-t)}
.hush-cat-tree > li > a:hover{background:var(--hush-blue-050);color:var(--hush-blue)}
.hush-cat-tree > li.is-current > a{background:var(--hush-blue);color:#fff}
.hush-cat-tree > li.is-current > a .count{background:rgba(255,255,255,.25);color:#fff}
.hush-cat-tree__sub{margin:.2rem 0 .4rem;padding-inline-start:.7rem;display:none;
  border-inline-start:2px solid var(--hush-line);flex-direction:column;gap:.1rem}
.hush-cat-tree__top.is-open .hush-cat-tree__sub{display:flex}
.hush-cat-tree__sub a{display:flex;justify-content:space-between;padding:.4em .6em;
  border-radius:var(--hush-r-sm);font-size:.85rem;font-weight:500;color:var(--hush-muted)}
.hush-cat-tree__sub a:hover{color:var(--hush-blue)}
.hush-cat-tree__sub li.is-current a{color:var(--hush-blue);font-weight:700}
.hush-cat-tree .count{font-size:.72rem;color:var(--hush-muted);font-weight:600}

.hush-price-inputs{display:flex;gap:.6rem;margin-bottom:.8rem}
.hush-price-inputs label{flex:1;display:flex;flex-direction:column;gap:.25rem}
.hush-price-inputs span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--hush-muted)}
.hush-price-inputs input{border:1px solid var(--hush-line-2);border-radius:var(--hush-r-sm);padding:.5em .6em;font:inherit;width:100%}
.hush-price-inputs input:focus{border-color:var(--hush-blue);outline:none}

.hush-widget--promo{background:linear-gradient(135deg,var(--hush-wash-pink),var(--hush-wash-lilac));border:none;text-align:center}
.hush-widget-promo__badge{display:inline-block;background:var(--hush-pink);color:#fff;font-weight:800;font-size:.68rem;
  padding:.3em .8em;border-radius:var(--hush-r-pill);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.6rem}
.hush-widget--promo h4{font-family:var(--hush-font-display);font-size:1.15rem;color:var(--hush-ink);margin-bottom:.3rem}
.hush-widget--promo p{font-size:.82rem;color:var(--hush-ink-soft);margin-bottom:.9rem}

/* Mobile filter toggle + sheet */
.hush-filter-toggle{display:none;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--hush-line-2);
  border-radius:var(--hush-r-pill);padding:.6em 1.1em;font-weight:700;font-size:.85rem;color:var(--hush-ink);
  margin-bottom:1rem}
@media (max-width:1024px){
  .hush-filter-toggle{display:inline-flex}
  .hush-shop-sidebar{position:fixed;inset:0;z-index:300;background:var(--hush-cream);
    grid-template-columns:1fr!important;display:block;padding:1.2rem var(--hush-gutter);
    overflow-y:auto;transform:translateX(-100%);transition:transform var(--hush-t) var(--hush-ease);visibility:hidden}
  .hush-shop-sidebar.is-open{transform:translateX(0);visibility:visible}
  .hush-shop-sidebar::before{content:"Filters";display:block;font-family:var(--hush-font-display);font-size:1.4rem;
    color:var(--hush-ink);margin-bottom:1rem}
  .hush-shop-sidebar__close{position:absolute;top:1.2rem;inset-inline-end:var(--hush-gutter)}
}

/* ==========================================================================
   Base WooCommerce structural styles
   (Since Woo's default CSS is disabled, the theme provides these essentials.)
   ========================================================================== */

/* Star ratings — use real unicode stars (★) instead of WooCommerce's "star"
   icon font, which can fail to load (especially in RTL / with caching) and then
   renders the raw fallback letter "S". Real characters always render. */
.woocommerce .star-rating{position:relative;height:1.2em;width:5.4em;line-height:1.2;
  font-family:inherit;display:inline-block;overflow:hidden;font-size:1em;direction:ltr}
.woocommerce .star-rating::before{content:"★★★★★";color:var(--hush-line-2);
  position:absolute;top:0;left:0;letter-spacing:.1em}
.woocommerce .star-rating span{position:absolute;top:0;left:0;overflow:hidden;padding-top:1.5em;white-space:nowrap;direction:ltr}
.woocommerce .star-rating span::before{content:"★★★★★";color:var(--hush-gold);
  position:absolute;top:0;left:0;letter-spacing:.1em}
/* Interactive rating input in the review form. */
.woocommerce p.stars{direction:ltr;display:inline-flex}
.woocommerce p.stars a{position:relative;display:inline-block;width:1.4em;height:1.4em;
  text-indent:-999em;overflow:hidden;color:var(--hush-gold);font-family:inherit}
.woocommerce p.stars a::before{content:"★";position:absolute;top:0;left:0;text-indent:0;color:var(--hush-line-2);font-size:1.4em;line-height:1}
.woocommerce p.stars a:hover~a::before{content:"★";color:var(--hush-line-2)}
.woocommerce p.stars:hover a::before{content:"★";color:var(--hush-gold)}
.woocommerce p.stars.selected a.active::before{content:"★";color:var(--hush-gold)}
.woocommerce p.stars.selected a:not(.active)::before{content:"★";color:var(--hush-gold)}
.woocommerce p.stars.selected a.active~a::before{content:"★";color:var(--hush-line-2)}

/* Screen-reader text (Woo relies on this being hidden). */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;
  margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important}

/* Sale flash badge base. */
.woocommerce span.onsale{position:absolute;top:1rem;inset-inline-start:1rem;z-index:3;
  background:var(--hush-pink);color:#fff;font-weight:800;font-size:.7rem;padding:.35em .8em;
  border-radius:var(--hush-r-pill);text-transform:uppercase;letter-spacing:.04em;min-height:auto;min-width:auto;line-height:1.4}

/* Gallery trigger (zoom) + thumbnails baseline. */
.woocommerce-product-gallery{position:relative}
.woocommerce-product-gallery__trigger{position:absolute;top:1rem;inset-inline-end:1rem;z-index:4;
  width:44px;height:44px;background:#fff;border-radius:50%;display:grid;place-items:center;
  box-shadow:var(--hush-shadow-sm);text-indent:-999em;overflow:hidden}
.woocommerce-product-gallery__trigger::after{content:"";position:absolute;width:14px;height:14px;
  border:2px solid var(--hush-ink);border-radius:50%;text-indent:0}
.woocommerce-product-gallery__trigger::before{content:"";position:absolute;bottom:11px;right:11px;
  width:2px;height:7px;background:var(--hush-ink);transform:rotate(-45deg);text-indent:0;z-index:1}
.flex-viewport{border-radius:var(--hush-r-lg);overflow:hidden}
.woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:.6rem;margin-top:.8rem;padding:0;list-style:none}
.woocommerce-product-gallery .flex-control-thumbs li{width:72px;list-style:none;margin:0}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:var(--hush-r-sm);cursor:pointer;
  opacity:.6;transition:opacity .2s;border:2px solid transparent}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--hush-blue)}

/* Quantity input baseline (theme styles the box; ensure layout). */
.woocommerce .quantity{display:inline-flex;align-items:center}

/* Form validation states. */
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--hush-pink)}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:var(--hush-green)}
.required{color:var(--hush-pink)}

/* Bundle fallback (bopobb without plugin configured) */
.hush-bundle-fallback{margin:1.2rem 0}
.hush-bundle-fallback__note{background:var(--hush-wash-lilac);border-radius:var(--hush-r-md);
  padding:.9rem 1.1rem;font-size:.9rem;color:var(--hush-ink-soft);margin-bottom:1rem}

/* Free-shipping bar on cart page */
.hush-cart-ship-bar{margin-bottom:1.5rem;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);overflow:hidden}
.hush-cart-ship-bar .hush-ship-bar{border-bottom:none}

/* ==========================================================================
   WooCommerce BLOCK Cart & Checkout (the modern block-based pages)
   Your store uses the block cart/checkout, which ignore the classic PHP
   templates — so we style the wc-block-* classes directly here.
   ========================================================================== */

/* Layout container — WooCommerce 10.x uses a CSS container query on
   .wp-block-woocommerce-cart / -checkout (container-type:inline-size): the
   two-column 65/35 layout only appears when that element is WIDER than 699px.
   So we must ensure it gets full width and is never constrained below ~700px. */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{max-width:1180px;width:100%;margin-inline:auto;color:var(--hush-ink)}
/* Our page wrappers must not squeeze the block below the two-column threshold. */
.hush-woo-wrap,
.woocommerce-cart .hush-container,
.woocommerce-checkout .hush-container{max-width:1240px}
/* Robust two-column layout. WooCommerce uses a container query that can fail if
   an ancestor doesn't establish the container; force the fl 65/35 split on wide
   viewports as a fallback so the sidebar never drops or overlaps. */
.wc-block-components-sidebar-layout{display:flex;flex-wrap:wrap;gap:0 2.5rem;align-items:flex-start}
.wc-block-components-main{flex:1 1 58%;min-width:0}
.wc-block-components-sidebar{flex:1 1 300px;min-width:0}
@media (max-width:781px){
  .wc-block-components-sidebar-layout{flex-direction:column;gap:1.5rem}
  .wc-block-components-main,.wc-block-components-sidebar{flex:1 1 100%;width:100%}
  .wc-block-components-sidebar,.wc-block-cart__sidebar,.wc-block-checkout__sidebar{position:static!important;top:auto!important}
}

/* Cart line items */
.wc-block-cart-items,.wc-block-cart-items table{width:100%;border-collapse:collapse}
.wc-block-cart-items__row,.wc-block-cart-item__wrap{border-bottom:1px solid var(--hush-line);padding:1.2rem 0}
.wc-block-cart-item__image img,.wc-block-components-order-summary-item__image img{
  border-radius:var(--hush-r-md);background:var(--hush-wash-pink)}
.wc-block-cart-item__product-name,.wc-block-components-product-name{
  font-family:var(--hush-font-display)!important;font-weight:600;color:var(--hush-ink)!important;
  font-size:1.05rem;text-decoration:none}
.wc-block-cart-item__product-name:hover,.wc-block-components-product-name:hover{color:var(--hush-blue)!important}
.wc-block-components-product-metadata{color:var(--hush-muted);font-size:.86rem;line-height:1.5}
.wc-block-cart-item__prices .wc-block-components-product-price__value,
.wc-block-components-product-price__value{font-weight:700;color:var(--hush-ink)}

/* Quantity selector */
.wc-block-components-quantity-selector{border:1px solid var(--hush-line-2)!important;border-radius:var(--hush-r-pill)!important;
  overflow:hidden;display:inline-flex;align-items:center}
.wc-block-components-quantity-selector__input{font-weight:700!important;color:var(--hush-ink)!important;width:44px!important}
.wc-block-components-quantity-selector__button{color:var(--hush-blue)!important;font-size:1.1rem!important;border:none!important;
  background:transparent!important;transition:background var(--hush-t)}
.wc-block-components-quantity-selector__button:hover{background:var(--hush-blue-050)!important}

/* Remove link */
.wc-block-cart-item__remove-link{color:var(--hush-muted)!important;text-decoration:none;font-size:.8rem;font-weight:600;transition:color var(--hush-t)}
.wc-block-cart-item__remove-link:hover{color:var(--hush-pink)!important}

/* Totals sidebar card */
.wc-block-components-totals-wrapper,.wc-block-cart__totals-title{border:none}
.wc-block-components-sidebar,
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);
  padding:1.6rem!important;position:sticky;top:100px}
.wc-block-components-totals-item{padding:.55rem 0;color:var(--hush-ink-soft);display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.wc-block-components-totals-item__label{font-weight:600;flex:1}
.wc-block-components-totals-item__value{font-weight:700;white-space:nowrap}
.wc-block-components-totals-footer-item{border-top:2px solid var(--hush-line);margin-top:.6rem;padding-top:1rem}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.4rem;font-weight:800;color:var(--hush-ink)}

/* Coupon accordion */
.wc-block-components-panel__button{font-weight:700!important;color:var(--hush-blue)!important}
.wc-block-components-totals-coupon__input .wc-block-components-text-input input{
  border:1px solid var(--hush-line-2)!important;border-radius:var(--hush-r-pill)!important}

/* Buttons — checkout / proceed (broad coverage of all block button variants) */
.wc-block-cart__submit-button,
.wc-block-cart__submit-container a,
.wc-block-cart__submit-container button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions_row button,
.wc-block-components-button.contained,
a.wc-block-cart__submit-button{
  background:var(--hush-blue)!important;color:#fff!important;border-radius:var(--hush-r-pill)!important;
  font-weight:700!important;padding:1em 2rem!important;font-size:1rem!important;text-transform:none!important;
  box-shadow:var(--hush-shadow-blue);transition:all var(--hush-t)!important;border:none!important;width:100%;
  text-align:center;display:flex;align-items:center;justify-content:center}
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container a:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button.contained:hover{background:var(--hush-blue-600)!important;transform:translateY(-2px)}

/* Checkout form fields */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select{
  border:1px solid var(--hush-line-2)!important;border-radius:var(--hush-r-md)!important;
  padding:.9em 1em!important;font-family:inherit!important;background:#fff!important}
.wc-block-components-text-input input:focus,.wc-block-components-select select:focus{border-color:var(--hush-blue)!important;box-shadow:none!important}
.wc-block-components-text-input label{color:var(--hush-muted)!important}
.wc-block-checkout__form .wc-block-components-checkout-step{background:#fff;border:1px solid var(--hush-line);
  border-radius:var(--hush-r-lg);padding:1.6rem;margin-bottom:1.2rem}
.wc-block-components-checkout-step__title{font-family:var(--hush-font-display)!important;font-size:1.25rem!important;color:var(--hush-ink)!important}
.wc-block-components-checkout-step__description{color:var(--hush-muted)!important}

/* Order summary items */
.wc-block-components-order-summary__button-text,
.wc-block-components-order-summary-item__total-price{color:var(--hush-ink)!important;font-weight:700}
.wc-block-components-order-summary-item__quantity{background:var(--hush-blue)!important;color:#fff!important;border-radius:var(--hush-r-pill)}

@media (max-width:900px){
  .wc-block-components-main,.wc-block-components-sidebar{width:100% !important;padding:0 !important}
  .wc-block-components-sidebar{position:static}
}

/* ==========================================================================
   Product reviews section (single product)
   ========================================================================== */
#reviews{margin-top:1rem}
#reviews .woocommerce-Reviews-title{font-family:var(--hush-font-display);font-size:1.5rem;color:var(--hush-ink);margin-bottom:1.5rem}
#reviews .commentlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.2rem}
#reviews .commentlist li.review,#reviews .commentlist li.comment{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:1.4rem}
#reviews .comment_container{display:flex;gap:1rem;align-items:flex-start}
#reviews .comment_container img.avatar{width:48px;height:48px;border-radius:50%;flex:none;margin:0;background:var(--hush-wash-pink)}
#reviews .comment-text{flex:1;min-width:0}
#reviews .meta{font-size:.85rem;color:var(--hush-muted);margin-bottom:.4rem}
#reviews .meta strong.woocommerce-review__author{color:var(--hush-ink);font-size:.95rem;font-weight:700}
#reviews .woocommerce-review__published-date{color:var(--hush-muted)}
#reviews .description p{color:var(--hush-ink-soft);line-height:1.6;margin:0}
#reviews .star-rating{margin-bottom:.5rem}
/* Review form */
#review_form_wrapper{margin-top:1.5rem;background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);padding:1.6rem}
#review_form_wrapper .comment-reply-title{font-family:var(--hush-font-display);font-size:1.25rem;color:var(--hush-ink);display:block;margin-bottom:1rem}
#review_form_wrapper .comment-form-rating label{display:block;margin-bottom:.4rem;font-weight:600}
#review_form_wrapper p.stars{font-size:1.4rem;margin-bottom:1rem}
#review_form_wrapper .comment-form-comment textarea{width:100%;border:1px solid var(--hush-line-2);border-radius:var(--hush-r-md);padding:.9em;font-family:inherit;min-height:120px}
#review_form_wrapper .comment-form-author input,#review_form_wrapper .comment-form-email input{width:100%;border:1px solid var(--hush-line-2);border-radius:var(--hush-r-md);padding:.8em 1em;font-family:inherit}
#review_form_wrapper .form-submit input[type="submit"]{background:var(--hush-blue);color:#fff;border:none;border-radius:var(--hush-r-pill);padding:.9em 2rem;font-weight:700;cursor:pointer;transition:background var(--hush-t)}
#review_form_wrapper .form-submit input[type="submit"]:hover{background:var(--hush-blue-600)}
.woocommerce-noreviews{color:var(--hush-muted);padding:1rem 0}

/* ============================ Wishlist page ============================= */
.hush-wishlist-page{background:var(--hush-cream)}

/* Hero */
.hush-wishlist-hero{position:relative;overflow:hidden;text-align:center;
  padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,4rem);
  background:linear-gradient(180deg,var(--hush-wash-pink) 0%,var(--hush-cream) 100%)}
.hush-wishlist-hero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:#fff;
  color:var(--hush-pink);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.5em 1em;border-radius:var(--hush-r-pill);box-shadow:var(--hush-shadow-sm);margin-bottom:1.2rem}
.hush-wishlist-hero__eyebrow svg{fill:var(--hush-pink);stroke:none}
.hush-wishlist-hero__title{font-family:var(--hush-font-display);font-weight:600;color:var(--hush-ink);
  font-size:clamp(2.4rem,5.5vw,3.8rem);line-height:1.05;letter-spacing:-.02em;margin:0}
.hush-wishlist-hero__title em{font-style:italic;color:var(--hush-pink)}
.hush-wishlist-hero__lead{color:var(--hush-ink-soft);font-size:clamp(1rem,1.4vw,1.15rem);margin:.9rem 0 0}
.hush-wishlist-hero__blob{position:absolute;border-radius:50%;z-index:0;pointer-events:none;
  filter:blur(40px);will-change:transform}
.hush-wishlist-hero__blob--1{width:280px;height:280px;top:-100px;inset-inline-start:-80px;
  background:radial-gradient(circle at center,var(--hush-lilac) 0%,rgba(183,156,245,0) 70%)}
.hush-wishlist-hero__blob--2{width:240px;height:240px;bottom:-90px;inset-inline-end:-60px;
  background:radial-gradient(circle at center,var(--hush-pink) 0%,rgba(255,62,165,0) 70%)}

/* Body */
.hush-wishlist-body{padding-top:clamp(2rem,4vw,3rem)}
.hush-wishlist__grid{margin-top:0}

/* Empty state */
.hush-wishlist__empty{max-width:460px;margin:1rem auto 3rem;text-align:center;padding:clamp(2rem,4vw,3rem);
  background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);box-shadow:var(--hush-shadow-sm)}
.hush-wishlist__empty-art{width:96px;height:96px;margin:0 auto 1.2rem;border-radius:50%;
  display:grid;place-items:center;background:var(--hush-wash-pink)}
.hush-wishlist__empty-art svg{fill:var(--hush-pink);stroke:none;opacity:.9}
.hush-wishlist__empty-title{font-family:var(--hush-font-display);font-size:1.5rem;color:var(--hush-ink);margin:0 0 .4rem}
.hush-wishlist__empty-text{color:var(--hush-muted);margin:0 0 1.5rem;line-height:1.6}

/* Loading */
.hush-wishlist__loading{display:flex;align-items:center;justify-content:center;gap:.7rem;  color:var(--hush-muted);padding:3rem 0;font-weight:600}
/* The [hidden] attribute must win over display:flex/grid so JS can toggle these. */
.hush-wishlist__loading[hidden],
.hush-wishlist__grid[hidden],
.hush-wishlist__empty[hidden]{display:none !important}
.hush-wishlist__spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--hush-line-2);
  border-top-color:var(--hush-blue);animation:hush-spin .7s linear infinite}
@keyframes hush-spin{to{transform:rotate(360deg)}}

/* Heart button — active + pop states (used site-wide) */
.hush-card__wish{transition:transform var(--hush-t) var(--hush-ease),background var(--hush-t),color var(--hush-t)}
.hush-card__wish svg{transition:fill var(--hush-t),stroke var(--hush-t),transform var(--hush-t)}
.hush-card__wish.is-active{background:var(--hush-pink);color:#fff}
.hush-card__wish.is-active svg{fill:#fff;stroke:#fff}
.hush-card__wish.is-pop{animation:hush-heart-pop .4s var(--hush-ease)}
@keyframes hush-heart-pop{0%{transform:scale(1)}35%{transform:scale(1.35)}60%{transform:scale(.9)}100%{transform:scale(1)}}

/* Header wishlist count badge */
.hush-wishlist-link{position:relative}
.hush-wishlist-count{position:absolute;top:5px;inset-inline-end:5px;min-width:18px;height:18px;padding:0 4px;
  background:var(--hush-pink);color:#fff;border-radius:var(--hush-r-pill);
  font-size:.68rem;font-weight:800;display:grid;place-items:center;line-height:1}
.hush-wishlist-count.is-empty{display:none}

/* ============================ Reviews page ============================= */
.hush-reviews-page{background:var(--hush-cream)}

/* Hero */
.hush-reviews-hero{position:relative;overflow:hidden;text-align:center;
  padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,4rem);
  background:linear-gradient(180deg,var(--hush-wash-lilac) 0%,var(--hush-cream) 100%)}
.hush-reviews-hero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:#fff;
  color:var(--hush-ink);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.5em 1em;border-radius:var(--hush-r-pill);box-shadow:var(--hush-shadow-sm);margin-bottom:1.2rem}
.hush-reviews-hero__stars{color:var(--hush-gold,#ffb800);letter-spacing:1px}
.hush-reviews-hero__title{font-family:var(--hush-font-display);font-weight:600;color:var(--hush-ink);
  font-size:clamp(2.4rem,5.5vw,3.8rem);line-height:1.05;letter-spacing:-.02em;margin:0}
.hush-reviews-hero__title em{font-style:italic;color:var(--hush-blue)}
.hush-reviews-hero__lead{color:var(--hush-ink-soft);font-size:clamp(1rem,1.4vw,1.15rem);margin:.9rem auto 0;max-width:46ch}
.hush-reviews-hero__blob{position:absolute;border-radius:50%;z-index:0;pointer-events:none;
  filter:blur(40px);will-change:transform}
.hush-reviews-hero__blob--1{width:280px;height:280px;top:-100px;inset-inline-start:-80px;
  background:radial-gradient(circle at center,var(--hush-lilac) 0%,rgba(183,156,245,0) 70%)}
.hush-reviews-hero__blob--2{width:240px;height:240px;bottom:-90px;inset-inline-end:-60px;
  background:radial-gradient(circle at center,var(--hush-blue) 0%,rgba(5,84,255,0) 70%)}

.hush-reviews-body{padding-top:clamp(2rem,4vw,3.5rem)}

/* Summary: big score + rating bars */
.hush-allrev__summary{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;
  background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);
  padding:clamp(1.5rem,3vw,2.2rem);box-shadow:var(--hush-shadow-sm);margin-bottom:clamp(2rem,4vw,3rem)}
.hush-allrev__score-card{text-align:center;padding-inline-end:clamp(1.5rem,3vw,2.2rem);
  border-inline-end:1px solid var(--hush-line)}
.hush-allrev__score{font-family:var(--hush-font-display);font-size:clamp(3rem,7vw,4.2rem);line-height:1;
  color:var(--hush-ink);font-weight:600}
.hush-allrev__score-stars{color:var(--hush-gold,#ffb800);font-size:1.1rem;letter-spacing:2px;margin:.3rem 0}
.hush-allrev__score-count{color:var(--hush-muted);font-size:.85rem;font-weight:600}
.hush-allrev__bars{display:flex;flex-direction:column;gap:.55rem;min-width:0}
.hush-allrev__bar-row{display:grid;grid-template-columns:2.4rem 1fr 2.8rem;align-items:center;gap:.7rem}
.hush-allrev__bar-label{font-size:.82rem;font-weight:700;color:var(--hush-ink-soft)}
.hush-allrev__bar-track{height:9px;border-radius:999px;background:var(--hush-line-2);overflow:hidden}
.hush-allrev__bar-fill{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--hush-gold,#ffb800),#ffce54)}
.hush-allrev__bar-pct{font-size:.78rem;color:var(--hush-muted);text-align:end;font-weight:600}

/* Review grid (masonry-ish, balanced columns) */
.hush-allrev__grid{columns:3;column-gap:1.3rem}
.hush-allrev__card{break-inside:avoid;margin:0 0 1.3rem;background:#fff;border:1px solid var(--hush-line);
  border-radius:var(--hush-r-lg);padding:1.5rem 1.6rem;box-shadow:var(--hush-shadow-sm);
  transition:transform var(--hush-t) var(--hush-ease),box-shadow var(--hush-t)}
.hush-allrev__card:hover{transform:translateY(-4px);box-shadow:var(--hush-shadow-md)}
.hush-allrev__card-stars{color:var(--hush-gold,#ffb800);letter-spacing:2px;font-size:1rem;margin-bottom:.7rem}
.hush-allrev__card-stars-dim{color:var(--hush-line-2)}
.hush-allrev__card-text{margin:0 0 1.2rem;color:var(--hush-ink);font-size:1rem;line-height:1.6;font-style:normal}
.hush-allrev__card-author{display:flex;align-items:center;gap:.75rem}
.hush-allrev__card-avatar{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-weight:800;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--hush-lilac),var(--hush-blue))}
.hush-allrev__card-meta{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.hush-allrev__card-name{font-weight:700;color:var(--hush-ink);font-size:.95rem}
.hush-allrev__card-verified{display:inline-flex;align-items:center;gap:.3rem;color:var(--hush-green,#1a9d5a);
  font-size:.75rem;font-weight:600}

.hush-allrev__empty{text-align:center;color:var(--hush-muted);padding:3rem 0}
.hush-allrev__cta{text-align:center;margin-top:clamp(1.5rem,3vw,2.5rem)}

/* Responsive */
@media (max-width:900px){
  .hush-allrev__grid{columns:2}
}
@media (max-width:640px){
  .hush-allrev__grid{columns:1}
  .hush-allrev__summary{grid-template-columns:1fr;text-align:center}
  .hush-allrev__score-card{border-inline-end:none;border-bottom:1px solid var(--hush-line);
    padding-inline-end:0;padding-bottom:1.2rem}
}

/* =========================================================================
   Offers page
   ========================================================================= */
.hush-offers-page{padding-block:0 clamp(40px,6vw,72px)}
.hush-offers-hero{background:linear-gradient(135deg,var(--hush-blue) 0%,var(--hush-lilac,#b79cf5) 100%);
  color:#fff;padding:clamp(40px,7vw,80px) 0;text-align:center;margin-bottom:clamp(28px,4vw,48px)}
.hush-offers-hero__eyebrow{display:inline-block;font-weight:800;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;background:rgba(255,255,255,.18);padding:.5em 1em;border-radius:var(--hush-r-pill);margin-bottom:1rem}
.hush-offers-hero__title{font-family:var(--hush-font-display);font-size:clamp(2rem,5vw,3.2rem);margin:0 0 .8rem;color:#fff}
.hush-offers-hero__title em{font-style:italic;color:#fff}
.hush-offers-hero__lead{max-width:600px;margin:0 auto;font-size:clamp(.95rem,2vw,1.1rem);color:rgba(255,255,255,.9);line-height:1.6}
.hush-offers-body{display:flex;flex-direction:column;gap:clamp(32px,5vw,56px)}
.hush-offers-section__title{font-family:var(--hush-font-display);font-size:clamp(1.5rem,3.5vw,2rem);margin:0 0 .3rem;color:var(--hush-ink)}
.hush-offers-section__sub{color:var(--hush-muted);margin:0 0 1.6rem;font-size:.98rem}
/* Grid: responsive, auto-fills columns. */
.hush-offers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(16px,2.5vw,28px)}
/* Offer card */
.hush-offer-card{background:#fff;border:1px solid var(--hush-line);border-radius:var(--hush-r-lg);
  overflow:hidden;display:flex;flex-direction:column;position:relative;z-index:0;
  transition:transform var(--hush-t) var(--hush-ease),box-shadow var(--hush-t),border-color var(--hush-t)}
.hush-offer-card:hover{transform:translateY(-6px);box-shadow:var(--hush-shadow-md);border-color:var(--hush-line-2)}
.hush-offer-card__media{position:relative;aspect-ratio:1/1;background:var(--hush-wash-pink,#fdf0f7);display:block;overflow:hidden}
.hush-offer-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--hush-ease)}
.hush-offer-card:hover .hush-offer-card__media img{transform:scale(1.05)}
.hush-offer-card__ph{position:absolute;inset:0;background:linear-gradient(135deg,var(--hush-blue-050),var(--hush-cream-2))}
.hush-offer-card__ribbon{position:absolute;top:12px;inset-inline-start:12px;z-index:2;background:var(--hush-blue);
  color:#fff;font-weight:700;font-size:.8rem;padding:.4em .9em;border-radius:var(--hush-r-pill);
  box-shadow:0 4px 12px rgba(28,19,64,.22);white-space:nowrap}
.hush-offer-card__body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.hush-offer-card__kicker{font-weight:800;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--hush-blue)}
.hush-offer-card__title{font-family:var(--hush-font-display);font-size:1.1rem;margin:0;line-height:1.25}
.hush-offer-card__title a{color:var(--hush-ink);text-decoration:none}
.hush-offer-card__title a:hover{color:var(--hush-blue)}
.hush-offer-card__desc{color:var(--hush-muted);font-size:.88rem;line-height:1.5;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hush-offer-card__deal-line{font-size:.95rem;font-weight:700;color:var(--hush-ink)}
.hush-offer-card__was{color:var(--hush-muted);font-weight:400;text-decoration:line-through;margin-inline-start:.5rem;font-size:.85rem}
/* Participating-product thumbnails on a multi-buy deal */
.hush-offer-card__thumbs{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-top:.2rem}
.hush-offer-card__thumb{width:44px;height:44px;border-radius:var(--hush-r-sm);overflow:hidden;border:1px solid var(--hush-line);flex:none;background:#fff}
.hush-offer-card__thumb img{width:100%;height:100%;object-fit:cover}
.hush-offer-card__thumb-more{width:44px;height:44px;border-radius:var(--hush-r-sm);display:flex;align-items:center;
  justify-content:center;background:var(--hush-blue-050);color:var(--hush-blue);font-weight:800;font-size:.82rem;flex:none}
.hush-offer-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;padding-top:.6rem;flex-wrap:wrap}
.hush-offer-card__price{font-family:var(--hush-font-display);font-weight:700;color:var(--hush-ink);font-size:1.1rem;display:flex;align-items:baseline;gap:.35rem}
.hush-offer-card__from{font-family:var(--hush-font-body);font-size:.72rem;font-weight:600;color:var(--hush-muted);text-transform:uppercase;letter-spacing:.06em}
.hush-offer-card__cta{font-size:.9rem;padding:.7em 1.3em}
/* Empty state */
.hush-offers-empty{text-align:center;padding:clamp(32px,6vw,64px) 1rem;display:flex;flex-direction:column;align-items:center;gap:1.2rem}
.hush-offers-empty p{color:var(--hush-muted);font-size:1.05rem;margin:0}
@media (max-width:520px){
  .hush-offers-grid{grid-template-columns:1fr}
  .hush-offer-card__foot{flex-direction:column;align-items:stretch}
  .hush-offer-card__cta{width:100%;text-align:center}
}
