/* =========================================================================
   TAZLYN Theme
   Sections: tokens · base · layout · header · cards · product · form
             urgency · footer · floats · dark · motion
   ========================================================================= */

/* --- tokens ------------------------------------------------------------ */
:root{
  --mr-bg:#FFFFFF;
  --mr-surface:#FFFFFF;
  --mr-muted:#F3F8F1;
  --mr-line:#DEEAD9;
  --mr-text:#0E2109;
  --mr-text-2:#566A51;
  --mr-shadow:0 1px 2px rgba(16,33,12,.05), 0 8px 24px -12px rgba(16,33,12,.14);
  --mr-shadow-lg:0 2px 6px rgba(16,33,12,.06), 0 22px 48px -18px rgba(16,33,12,.22);
  --mr-gap:clamp(14px,2.4vw,24px);
  --mr-sec-gap:clamp(32px,5vw,60px);
}

/* --- base -------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body.maira{
  margin:0;
  background:var(--mr-bg);
  color:var(--mr-text);
  font-family:var(--mr-font-body);
  font-size:var(--mr-font-size);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{font-family:var(--mr-font-heading);line-height:1.25;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(24px,5vw,40px)}
h2{font-size:clamp(20px,3.4vw,30px)}
h3{font-size:clamp(17px,2.4vw,21px)}

p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}

:focus-visible{outline:2px solid var(--mr-primary);outline-offset:2px;border-radius:4px}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

.mr-skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--mr-primary);color:#fff;padding:10px 16px}
.mr-skip:focus{left:8px;top:8px}

/* A display: rule beats the browser's [hidden] default, so anything the theme
   hides with the attribute must be forced down. This is why the cart's
   spinner kept turning after loading finished. */
[hidden]{display:none !important}

.mr-container{width:min(100% - 28px,var(--mr-container));margin-inline:auto}

.mr-prose{color:var(--mr-text-2);max-width:70ch}
.mr-prose p{margin:0 0 .9em}

/* --- buttons ----------------------------------------------------------- */
.mr-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 20px;border-radius:var(--mr-radius-btn);
  font-family:var(--mr-font-heading);font-weight:700;font-size:15px;line-height:1;
  background:linear-gradient(135deg,var(--mr-primary),var(--mr-secondary));
  color:#fff;width:100%;text-align:center;
  box-shadow:0 6px 16px -8px var(--mr-primary);
  transition:transform .12s ease, box-shadow .2s ease, filter .2s ease;
}
.mr-btn:hover{filter:brightness(1.06);box-shadow:0 10px 22px -10px var(--mr-primary)}
.mr-btn:active{transform:scale(.985)}
.mr-btn[disabled]{opacity:.6;pointer-events:none}

.mr-btn-ghost{
  background:transparent;color:var(--mr-primary);
  border:1.5px solid var(--mr-line);box-shadow:none;font-weight:600;padding:11px 18px;
}
.mr-btn-ghost:hover{border-color:var(--mr-primary);background:var(--mr-primary-soft);filter:none}

.mr-iconbtn{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--mr-text);transition:background .18s ease}
.mr-iconbtn:hover{background:var(--mr-muted)}

/* --- announce ---------------------------------------------------------- */
.mr-announce{background:var(--bg);color:var(--fg);font-size:13px}
.mr-announce .mr-container{display:flex;align-items:center;justify-content:center;gap:12px;min-height:36px;position:relative}
.mr-announce-rot{position:relative;display:grid}
.mr-announce-rot span{grid-area:1/1;opacity:0;transition:opacity .45s ease}
.mr-announce-rot span.is-on{opacity:1}
.mr-announce-x{position:absolute;inset-inline-end:0;color:inherit;opacity:.75;display:grid;place-items:center}

/* --- header ------------------------------------------------------------ */
.mr-header{background:var(--mr-surface);border-bottom:1px solid var(--mr-line);z-index:50}
.mr-header.is-sticky{position:sticky;top:0}
.mr-header.is-stuck{backdrop-filter:saturate(160%) blur(12px);background:color-mix(in srgb,var(--mr-surface) 86%,transparent);box-shadow:var(--mr-shadow)}

.mr-header-in{display:flex;align-items:center;gap:10px;min-height:60px}
.mr-logo{display:flex;align-items:center;margin-inline-end:auto}
.mr-logo-txt{font-family:var(--mr-font-heading);font-weight:700;font-size:20px;color:var(--mr-primary)}
.mr-logo-m{display:none}
.mr-logo-l{display:none}
body.maira-dark .mr-logo-d,body.maira-dark .mr-logo-m{display:none!important}
body.maira-dark .mr-logo-l{display:block}

.mr-burger{display:grid;place-items:center;width:40px;height:40px;border-radius:10px}
.mr-nav-desktop ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-size:15px;font-weight:600}
.mr-nav-desktop a{padding:6px 0;border-bottom:2px solid transparent;transition:border-color .18s ease,color .18s ease}
.mr-nav-desktop a:hover{color:var(--mr-primary);border-color:var(--mr-primary)}

.mr-header-actions{display:flex;align-items:center;gap:2px}
.mr-cart{position:relative}
.mr-cart-n{
  position:absolute;top:4px;inset-inline-end:2px;min-width:18px;height:18px;padding:0 5px;
  display:grid;place-items:center;border-radius:9px;
  background:var(--mr-primary);color:#fff;font-size:11px;font-weight:700;line-height:1;
}

@media (max-width:900px){
  .mr-nav-desktop{display:none}
  .mr-logo-d{display:none}
  .mr-logo-m{display:block}
}
@media (min-width:901px){
  .mr-burger{display:none}
}

/* --- category chips ---------------------------------------------------- */
.mr-chips{border-top:1px solid var(--mr-line);background:var(--mr-surface)}
.mr-chips-scroll{
  display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
  padding:9px max(14px,calc((100vw - var(--mr-container))/2));
}
.mr-chips-scroll::-webkit-scrollbar{display:none}
.mr-chip{
  flex:0 0 auto;padding:7px 15px;border-radius:999px;
  border:1px solid var(--mr-line);background:var(--mr-muted);
  font-size:13.5px;font-weight:600;white-space:nowrap;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.mr-chip:hover,.mr-chip.is-on{background:var(--mr-primary);border-color:var(--mr-primary);color:#fff}

/* --- search + drawer --------------------------------------------------- */
.mr-searchbar{border-bottom:1px solid var(--mr-line);background:var(--mr-surface);padding:12px 0}
.mr-search{display:flex;gap:8px}
.mr-search input[type=search]{
  flex:1;padding:12px 14px;border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  background:var(--mr-muted);
}
.mr-search button{display:grid;place-items:center;width:46px;border-radius:var(--mr-radius-btn);background:var(--mr-primary);color:#fff}

.mr-drawer{position:fixed;inset:0;z-index:100;background:rgba(20,10,16,.45)}
.mr-drawer-panel{
  position:absolute;inset-block:0;inset-inline-start:0;width:min(82vw,320px);
  background:var(--mr-surface);padding:20px;overflow-y:auto;
  box-shadow:var(--mr-shadow-lg);
}
.mr-drawer-panel ul{list-style:none;margin:24px 0 0;padding:0}
.mr-drawer-panel li{border-bottom:1px solid var(--mr-line)}
.mr-drawer-panel li a{display:block;padding:13px 2px;font-weight:600}
.mr-drawer-x{position:absolute;top:14px;inset-inline-end:14px}
.mr-drawer-call{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--mr-primary);font-weight:700}

/* --- sections ---------------------------------------------------------- */
.mr-sec{padding-block:var(--mr-sec-gap)}
.mr-sec + .mr-sec{padding-top:0}
.mr-hero{padding-block:14px}
.mr-hero img{border-radius:var(--mr-radius);width:100%}

.mr-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:18px}
.mr-sec-title{margin:0}
.mr-more{display:inline-flex;align-items:center;gap:3px;color:var(--mr-primary);font-weight:700;font-size:14px;white-space:nowrap}
.mr-sec > .mr-container > .mr-sec-title{margin-bottom:18px}

/* --- category grid ----------------------------------------------------- */
.mr-cat-grid{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:var(--mr-gap)}
.mr-cat{display:block;text-align:center}
.mr-cat-img{
  display:block;overflow:hidden;border-radius:var(--mr-radius);
  background:var(--mr-muted);aspect-ratio:1;
}
.mr-cat-grid.is-circle .mr-cat-img{border-radius:50%}
.mr-cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.mr-cat:hover .mr-cat-img img{transform:scale(1.05)}
.mr-cat-name{display:block;margin-top:9px;font-weight:600;font-size:14px}
@media (max-width:600px){.mr-cat-grid{grid-template-columns:repeat(3,1fr);gap:10px}.mr-cat-name{font-size:12.5px}}

/* --- product grid + card ----------------------------------------------- */
.mr-grid,ul.products{
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--mr-gap);
  list-style:none;margin:0;padding:0;
}
@media (min-width:640px){.mr-grid,ul.products{grid-template-columns:repeat(3,1fr)}}
@media (min-width:960px){.mr-grid,ul.products{grid-template-columns:repeat(4,1fr)}}
body.maira-cols-1 .mr-grid{grid-template-columns:1fr}
@media (min-width:640px){body.maira-cols-1 .mr-grid{grid-template-columns:repeat(3,1fr)}}

.mr-card{
  display:flex;flex-direction:column;position:relative;
  background:var(--mr-surface);border:1px solid var(--mr-line);
  border-radius:var(--mr-radius);overflow:hidden;
  transition:box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.mr-card:hover{box-shadow:var(--mr-shadow-lg);transform:translateY(-3px);border-color:transparent}

.mr-card-media{position:relative;display:block;background:var(--mr-muted);overflow:hidden}
.mr-card-media.is-1-1{aspect-ratio:1}
.mr-card-media.is-3-4{aspect-ratio:3/4}
.mr-card-media.is-4-3{aspect-ratio:4/3}
.mr-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mr-card-img-alt{opacity:0;transition:opacity .3s ease}
.mr-card:hover .mr-card-img-alt{opacity:1}

.mr-badge{
  position:absolute;top:8px;inset-inline-start:8px;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:42px;padding:6px 7px;border-radius:10px;
  background:var(--mr-primary);color:#fff;
  font-family:var(--mr-font-heading);font-weight:700;font-size:14px;line-height:1;
}
.mr-badge small{font-size:9.5px;font-weight:600;opacity:.9;margin-top:2px}
.mr-badge.is-text{padding:6px 11px;font-size:12px}
.mr-badge.is-out{inset-inline-start:auto;inset-inline-end:8px;background:var(--mr-text);font-size:11.5px;padding:6px 10px}

.mr-card-body{display:flex;flex-direction:column;gap:7px;padding:12px;flex:1}
.mr-card-title{margin:0;font-size:14.5px;font-weight:600;line-height:1.45;font-family:var(--mr-font-heading)}
.mr-card-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.mr-card-rating{display:flex;align-items:center;gap:1px;color:var(--mr-accent)}
.mr-card-rating span{opacity:.28;display:inline-flex}
.mr-card-rating span.is-on{opacity:1}
.mr-card-rating span.is-on svg{fill:currentColor}
.mr-card-rating small{margin-inline-start:5px;color:var(--mr-text-2);font-size:11.5px}

.mr-card-price{
  font-family:var(--mr-font-heading);font-weight:700;font-size:17px;
  color:var(--mr-primary);font-variant-numeric:tabular-nums;
}
.mr-card-price del{color:var(--mr-text-2);font-weight:400;font-size:13.5px;margin-inline-end:6px;opacity:.75}
.mr-card-price ins{text-decoration:none}

.mr-card-actions{display:flex;flex-direction:column;gap:7px;margin-top:auto;padding-top:4px}
.mr-card .mr-btn{padding:11px 14px;font-size:14px}

@media (max-width:480px){
  .mr-card-body{padding:10px;gap:5px}
  .mr-card-title{font-size:13px}
  .mr-card-price{font-size:15.5px}
  .mr-card .mr-btn{padding:10px;font-size:13px}
  .mr-card .mr-btn-ghost{display:none}
}

/* --- urgency ----------------------------------------------------------- */
.mr-urg{
  display:flex;align-items:center;gap:7px;margin:0;
  font-size:13.5px;font-weight:600;color:var(--mr-text);
  line-height:1.45;
}
.mr-urg svg{flex:0 0 auto;color:var(--mr-success)}
.mr-urg-orders .mr-count{
  font-variant-numeric:tabular-nums;
  font-weight:700;color:var(--mr-secondary);
}
/* On a card the count is the proof point — give it a tinted pill so it
   reads at a glance instead of fading into the description text. */
.mr-urg-orders.is-compact{
  padding:5px 9px;border-radius:8px;
  background:var(--mr-primary-soft);
  font-size:13px;
}
.mr-urg-orders.is-compact svg{width:15px;height:15px}
.mr-urg-viewers svg{color:var(--mr-primary)}
.mr-urg-row{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}

.mr-urgency-block{margin:16px 0;display:flex;flex-direction:column;gap:12px}

.mr-stockbar{padding:12px 14px;border-radius:var(--mr-radius);background:var(--mr-muted);border:1px solid var(--mr-line)}
.mr-stockbar.is-low{background:color-mix(in srgb,var(--mr-danger) 7%,transparent);border-color:color-mix(in srgb,var(--mr-danger) 22%,transparent)}
.mr-stockbar-text{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:13.5px;font-weight:600}
.mr-stockbar-text svg{color:var(--mr-danger)}
.mr-stockbar-track{height:7px;border-radius:99px;background:var(--mr-line);overflow:hidden}
.mr-stockbar-fill{
  display:block;height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,var(--mr-accent),var(--mr-danger));
  transition:width 1.1s cubic-bezier(.2,.7,.3,1);
}
.mr-stockbar.is-visible .mr-stockbar-fill{width:var(--fill)}

.mr-timer{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:12px 16px;border-radius:var(--mr-radius);
  background:linear-gradient(120deg,var(--mr-secondary),var(--mr-primary));color:#fff;
}
.mr-timer-label{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600}
.mr-timer-clock{display:flex;align-items:center;gap:4px;font-family:var(--mr-font-heading);font-variant-numeric:tabular-nums}
.mr-timer-clock b{
  min-width:38px;padding:5px 6px;border-radius:9px;text-align:center;
  background:rgba(255,255,255,.17);font-size:17px;font-weight:700;
}
.mr-timer-clock i{opacity:.65;font-style:normal}

.mr-salespop{
  position:fixed;bottom:78px;inset-inline-start:14px;z-index:60;
  display:flex;align-items:center;gap:10px;max-width:290px;
  padding:9px 13px 9px 9px;border-radius:14px;
  background:color-mix(in srgb,var(--mr-surface) 88%,transparent);
  backdrop-filter:blur(14px) saturate(160%);
  border:1px solid var(--mr-line);box-shadow:var(--mr-shadow-lg);
  transform:translateY(14px);opacity:0;transition:opacity .35s ease,transform .35s ease;
}
.mr-salespop.is-on{transform:none;opacity:1}
.mr-salespop img{width:42px;height:42px;border-radius:10px;object-fit:cover;flex:0 0 auto}
.mr-salespop-txt{font-size:12px;line-height:1.45;color:var(--mr-text-2)}
.mr-salespop-txt b{display:block;color:var(--mr-text);font-size:12.5px}
@media (max-width:600px){.mr-salespop{bottom:72px;max-width:calc(100vw - 28px)}}

/* --- single product ---------------------------------------------------- */
.single-product div.product{
  display:grid;grid-template-columns:1fr;gap:clamp(18px,3vw,40px);
  width:100%;margin:8px auto 0;
}
@media (min-width:900px){
  .single-product div.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .single-product .woocommerce-product-gallery{position:sticky;top:84px}
}
.single-product .woocommerce-product-gallery{width:100% !important;float:none !important;margin:0}
.single-product .woocommerce-product-gallery__wrapper{width:100%;margin:0}
.single-product .woocommerce-product-gallery img{
  width:100%;height:auto;border-radius:var(--mr-radius);
  background:#fff;
}
.single-product .woocommerce-product-gallery__image{border-radius:var(--mr-radius);overflow:hidden}
.single-product .flex-control-thumbs{
  display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;
}
.single-product .flex-control-thumbs li{flex:0 0 68px;margin:0}
.single-product .flex-control-thumbs img{
  border:1.5px solid var(--mr-line);border-radius:10px;cursor:pointer;opacity:.75;
  transition:opacity .15s ease,border-color .15s ease;
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover{opacity:1;border-color:var(--mr-primary)}

/* WooCommerce floats these at 48%; the theme lays the page out with grid. */
.single-product div.product > .summary{width:100% !important;float:none !important;margin:0}
.single-product .product_title{font-size:clamp(20px,3.2vw,29px);margin-bottom:10px;font-family:var(--mr-font-heading)}
.single-product .price{
  font-family:var(--mr-font-heading);font-weight:700;
  font-size:clamp(22px,3.4vw,30px);color:var(--mr-primary);
  font-variant-numeric:tabular-nums;margin:0 0 6px;
}
.single-product .price del{font-size:.6em;color:var(--mr-text-2);font-weight:400;opacity:.8}
.single-product .price ins{text-decoration:none}

.mr-acc{margin-top:20px;border-top:1px solid var(--mr-line)}
.mr-acc-item{border-bottom:1px solid var(--mr-line)}
.mr-acc-item summary{
  cursor:pointer;padding:14px 2px;font-weight:700;font-family:var(--mr-font-heading);
  list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.mr-acc-item summary::-webkit-details-marker{display:none}
.mr-acc-item summary::after{content:'+';font-size:20px;color:var(--mr-primary);line-height:1}
.mr-acc-item[open] summary::after{content:'–'}
.mr-acc-item .mr-prose{padding-bottom:14px}

/* variation chips */
.mr-swatches{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.mr-swatch{
  padding:8px 15px;border-radius:var(--mr-radius-btn);border:1.5px solid var(--mr-line);
  background:var(--mr-surface);font-size:14px;font-weight:600;
  transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.mr-swatch:hover{border-color:var(--mr-primary)}
.mr-swatch.is-on{background:var(--mr-primary);border-color:var(--mr-primary);color:#fff}

/* --- order form -------------------------------------------------------- */
.mr-form{
  margin:20px 0;padding:clamp(16px,2.6vw,24px);
  border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-surface);box-shadow:var(--mr-shadow);
  scroll-margin-top:90px;
}
.mr-form-title{
  margin:0 0 16px;font-size:17px;padding-bottom:12px;
  border-bottom:1px solid var(--mr-line);
}
.mr-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.mr-form-row{display:flex;flex-direction:column;gap:5px;min-width:0}
.mr-form-row.is-wide{grid-column:1/-1}
@media (max-width:560px){.mr-form-grid{grid-template-columns:1fr}}

.mr-form-row label{font-size:13px;font-weight:600;color:var(--mr-text-2)}
.mr-req{color:var(--mr-danger)}
.mr-form-row input,
.mr-form-row select,
.mr-form-row textarea{
  width:100%;padding:12px 13px;border:1.5px solid var(--mr-line);
  border-radius:var(--mr-radius-btn);background:var(--mr-muted);
  transition:border-color .16s ease,background .16s ease;
}
.mr-form-row input:focus,
.mr-form-row select:focus,
.mr-form-row textarea:focus{border-color:var(--mr-primary);background:var(--mr-surface);outline:none}
.mr-form-row.has-error input,
.mr-form-row.has-error select,
.mr-form-row.has-error textarea{border-color:var(--mr-danger)}
.mr-err{font-size:12px;color:var(--mr-danger);min-height:0}
.mr-form-row.has-error .mr-err{min-height:16px}

.mr-form-qty{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}
.mr-form-qty label{font-size:13px;font-weight:600;color:var(--mr-text-2)}
.mr-stepper{display:flex;align-items:center;border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);overflow:hidden}
.mr-stepper button{width:42px;height:42px;font-size:19px;font-weight:700;color:var(--mr-primary);background:var(--mr-muted)}
.mr-stepper input{width:54px;height:42px;text-align:center;border:0;background:transparent;font-weight:700;font-variant-numeric:tabular-nums}

.mr-pay{display:flex;flex-direction:column;gap:8px;margin:16px 0}
.mr-pay-label{font-size:13px;font-weight:600;color:var(--mr-text-2)}
.mr-pay-opt{
  display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;
  padding:12px 14px;border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  cursor:pointer;transition:border-color .16s ease,background .16s ease;
}
.mr-pay-opt:has(input:checked){border-color:var(--mr-primary);background:var(--mr-primary-soft)}
.mr-pay-opt input{accent-color:var(--mr-primary);width:18px;height:18px}
.mr-pay-name{font-weight:700;font-size:14.5px}
.mr-pay-note{grid-column:2;font-size:12.5px;color:var(--mr-text-2)}
.mr-trx{display:grid;gap:10px;padding:12px;border-radius:var(--mr-radius-btn);background:var(--mr-muted)}

.mr-summary{
  margin:16px 0;padding:14px;border-radius:var(--mr-radius-btn);
  background:var(--mr-muted);display:flex;flex-direction:column;gap:7px;
}
.mr-summary-row{display:flex;justify-content:space-between;font-size:14px;color:var(--mr-text-2)}
.mr-summary-row b{font-variant-numeric:tabular-nums;color:var(--mr-text)}
.mr-summary-row.is-discount b{color:var(--mr-success)}
.mr-summary-row.is-total{
  padding-top:9px;margin-top:2px;border-top:1px dashed var(--mr-line);
  font-family:var(--mr-font-heading);font-weight:700;font-size:17px;color:var(--mr-text);
}
.mr-summary-row.is-total b{color:var(--mr-primary);font-size:20px}

.mr-prepaid-note{font-size:13px;color:var(--mr-success);font-weight:600;margin:0 0 12px}
.mr-form-msg{margin:10px 0 0;font-size:13.5px;text-align:center;min-height:20px}
.mr-form-msg.is-error{color:var(--mr-danger)}
.mr-form-msg.is-ok{color:var(--mr-success)}

.mr-btn-order.is-loading{position:relative;color:transparent}
.mr-btn-order.is-loading::after{
  content:'';position:absolute;width:18px;height:18px;border-radius:50%;
  border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;
  animation:mr-spin .7s linear infinite;
}
@keyframes mr-spin{to{transform:rotate(360deg)}}

/* --- sticky order bar -------------------------------------------------- */
.mr-stickybar{
  position:fixed;inset-inline:0;bottom:0;z-index:70;
  transform:translateY(110%);transition:transform .3s cubic-bezier(.2,.8,.3,1);
  background:color-mix(in srgb,var(--mr-surface) 88%,transparent);
  backdrop-filter:blur(16px) saturate(170%);
  border-top:1px solid var(--mr-line);
  padding:10px max(14px,calc((100vw - var(--mr-container))/2));
  padding-bottom:calc(10px + env(safe-area-inset-bottom));
}
.mr-stickybar.is-on{transform:none}
.mr-stickybar-in{display:flex;align-items:center;gap:12px}
.mr-stickybar-price{
  font-family:var(--mr-font-heading);font-weight:700;font-size:18px;
  color:var(--mr-primary);white-space:nowrap;font-variant-numeric:tabular-nums;
}
.mr-stickybar-price del{font-size:.65em;color:var(--mr-text-2);font-weight:400}
.mr-stickybar-price ins{text-decoration:none}
.mr-stickybar .mr-btn{width:auto;flex:1}
body.maira:has(.mr-bottomnav) .mr-stickybar{bottom:58px}

/* --- trust + reviews --------------------------------------------------- */
.mr-trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (min-width:760px){.mr-trust-grid{grid-template-columns:repeat(4,1fr)}}
.mr-trust-item{
  display:flex;align-items:center;gap:11px;padding:14px;
  border-radius:var(--mr-radius);background:var(--mr-muted);
}
.mr-trust-ico{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:12px;background:var(--mr-primary-soft);color:var(--mr-primary)}
.mr-trust-txt b{display:block;font-size:14px;font-family:var(--mr-font-heading)}
.mr-trust-txt small{color:var(--mr-text-2);font-size:12px}

.mr-review-scroll{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);
  gap:var(--mr-gap);overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:8px;scrollbar-width:none;
}
.mr-review-scroll::-webkit-scrollbar{display:none}

.mr-review{
  display:flex;flex-direction:column;
  margin:0;padding:24px 22px;scroll-snap-align:start;
  border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-surface);
}
.mr-review blockquote{
  margin:0 0 16px;flex:1;
  font-size:15px;line-height:1.75;color:var(--mr-text);
}
.mr-review-stars{display:flex;gap:2px;color:var(--mr-accent);margin-bottom:16px}
.mr-review-stars svg{fill:currentColor}

.mr-review figcaption{display:flex;align-items:center;gap:12px}
.mr-review figcaption img{
  width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;
  background:var(--mr-muted);
}
.mr-review-ini{
  display:grid;place-items:center;flex:none;
  width:46px;height:46px;border-radius:50%;
  background:var(--mr-primary-soft);color:var(--mr-primary);
  font-family:var(--mr-font-heading);font-weight:700;font-size:19px;
}
.mr-review-who{display:flex;flex-direction:column;gap:1px;min-width:0}
.mr-review figcaption b{font-size:14.5px;font-weight:700;color:var(--mr-text)}
.mr-review figcaption small{
  font-size:12.5px;color:var(--mr-text-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* dots */
.mr-review-dots{display:flex;justify-content:center;gap:7px;margin-top:18px}
.mr-review-dots button{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;
  background:var(--mr-line);cursor:pointer;
  transition:background .18s ease,width .18s ease;
}
.mr-review-dots button.is-on{width:24px;border-radius:99px;background:var(--mr-primary)}

@media (max-width:640px){
  .mr-review-scroll{grid-auto-columns:minmax(84%,1fr)}
  .mr-review{padding:20px 18px}
}

/* --- footer ------------------------------------------------------------ */
.mr-footer{margin-top:var(--mr-sec-gap);padding-top:clamp(28px,4vw,48px);background:var(--mr-muted);border-top:1px solid var(--mr-line)}
.mr-footer-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:760px){.mr-footer-grid{grid-template-columns:1.6fr 1fr 1fr}}
.mr-footer-brand p{color:var(--mr-text-2);font-size:14px;max-width:44ch}
.mr-footer-call{display:inline-flex;align-items:center;gap:7px;color:var(--mr-primary);font-weight:700}
.mr-footer-col h3{font-size:15px;margin:0 0 10px}
.mr-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mr-footer-col a{color:var(--mr-text-2);font-size:14px}
.mr-footer-col a:hover{color:var(--mr-primary)}

.mr-footer-bottom{
  margin-top:26px;padding:16px 0;border-top:1px solid var(--mr-line);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  padding-bottom:calc(16px + env(safe-area-inset-bottom));
}
.mr-social{display:flex;gap:14px;font-size:13.5px;font-weight:600}
.mr-social a:hover{color:var(--mr-primary)}
.mr-copy{margin:0;font-size:12.5px;color:var(--mr-text-2)}
.mr-dbid{margin-inline-start:10px;padding:2px 8px;border-radius:6px;background:var(--mr-line);font-size:11.5px}

@media (max-width:759px){
  .mr-footer.has-accordion .mr-footer-col h3{cursor:pointer;display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--mr-line);margin:0}
  .mr-footer.has-accordion .mr-footer-col h3::after{content:'+';color:var(--mr-primary)}
  .mr-footer.has-accordion .mr-footer-col h3.is-open::after{content:'–'}
  .mr-footer.has-accordion .mr-footer-col ul{display:none;padding:10px 0}
  .mr-footer.has-accordion .mr-footer-col ul.is-open{display:flex}
  .mr-footer-bottom{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
}

/* --- floats + bottom nav ----------------------------------------------- */
.mr-floats{position:fixed;inset-inline-end:14px;bottom:80px;z-index:65;display:flex;flex-direction:column;gap:10px}
.mr-float{
  display:grid;place-items:center;width:48px;height:48px;border-radius:50%;
  background:var(--mr-surface);color:var(--mr-primary);
  border:1px solid var(--mr-line);box-shadow:var(--mr-shadow-lg);
  transition:transform .16s ease;
}
.mr-float:active{transform:scale(.93)}
.mr-float-wa{background:#25D366;color:#fff;border-color:transparent}
.mr-float-top{opacity:0;pointer-events:none;transition:opacity .25s ease}
.mr-float-top.is-on{opacity:1;pointer-events:auto}

.mr-bottomnav{
  position:fixed;inset-inline:0;bottom:0;z-index:68;
  display:flex;
  background:color-mix(in srgb,var(--mr-surface) 90%,transparent);
  backdrop-filter:blur(16px) saturate(170%);
  border-top:1px solid var(--mr-line);
  padding-bottom:env(safe-area-inset-bottom);
}
.mr-bn-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:10.5px;font-weight:600;color:var(--mr-text-2)}
.mr-bn-item:hover,.mr-bn-item.is-on{color:var(--mr-primary)}
@media (min-width:901px){.mr-bottomnav{display:none}.mr-floats{bottom:24px}}

/* --- checkout ---------------------------------------------------------- */
.mr-checkout-cart{margin-bottom:22px;padding:16px;border-radius:var(--mr-radius);background:var(--mr-muted)}
.woocommerce-checkout .form-row{margin-bottom:12px}
.woocommerce-checkout .input-text,
.woocommerce-checkout select{
  width:100%;padding:12px 13px;border:1.5px solid var(--mr-line);
  border-radius:var(--mr-radius-btn);background:var(--mr-muted);
}
.woocommerce-checkout #place_order{
  width:100%;padding:15px;border-radius:var(--mr-radius-btn);
  background:linear-gradient(135deg,var(--mr-primary),var(--mr-secondary));
  color:#fff;font-family:var(--mr-font-heading);font-weight:700;font-size:16px;border:0;
}

/* --- misc -------------------------------------------------------------- */
.mr-page{padding-block:var(--mr-sec-gap)}
.mr-404{padding-block:60px;text-align:center;max-width:520px}
.mr-404 .mr-btn{margin-top:18px;width:auto;padding-inline:28px}
.mr-404 .mr-search{margin:22px 0}

.woocommerce-message,.woocommerce-info,.woocommerce-error{
  padding:13px 16px;border-radius:var(--mr-radius-btn);
  background:var(--mr-primary-soft);border:1px solid var(--mr-line);
  list-style:none;margin:0 0 16px;
}
.woocommerce-error{background:color-mix(in srgb,var(--mr-danger) 9%,transparent)}

/* --- dark -------------------------------------------------------------- */
body.maira-dark{
  --mr-bg:#0F140D;
  --mr-surface:#171E14;
  --mr-muted:#1E271A;
  --mr-line:#2C3826;
  --mr-text:#EDF4EA;
  --mr-text-2:#9FB098;
  --mr-shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);
  --mr-shadow-lg:0 2px 6px rgba(0,0,0,.45), 0 22px 48px -18px rgba(0,0,0,.7);
}

/* --- motion ------------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .mr-stockbar-fill{width:var(--fill)}
}

/* --- whatsapp ---------------------------------------------------------- */
.mr-wa-order{
  display:flex;align-items:center;justify-content:center;gap:9px;
  width:100%;margin-top:10px;padding:13px 18px;
  border:2px solid #25D366;border-radius:var(--mr-radius-btn);
  background:transparent;color:#128C4A;
  font-family:var(--mr-font-heading);font-weight:700;font-size:15px;
  text-decoration:none;transition:background .16s ease,color .16s ease,transform .12s ease;
}
.mr-wa-order:hover{background:#25D366;color:#fff}
.mr-wa-order:active{transform:translateY(1px)}
.mr-wa-order svg{flex:none}
.mr-wa-order.is-closed{border-color:var(--mr-line);color:var(--mr-text-2)}
.mr-wa-order.is-closed:hover{background:var(--mr-muted);color:var(--mr-text)}
.mr-wa-note{margin:7px 0 0;font-size:13px;color:var(--mr-text-2);text-align:center}
body.maira-dark .mr-wa-order{color:#4AE08B}

/* --- order bump -------------------------------------------------------- */
.mr-bump{
  display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px 14px;
  border:2px dashed var(--mr-primary);border-radius:var(--mr-radius);
  background:var(--mr-primary-soft);cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}
.mr-bump:hover{background:color-mix(in srgb,var(--mr-primary) 14%,transparent)}
.mr-bump:has(input:checked){border-style:solid;background:color-mix(in srgb,var(--mr-primary) 16%,transparent)}
.mr-bump input{flex:none;width:20px;height:20px;accent-color:var(--mr-primary);cursor:pointer}
.mr-bump img{flex:none;width:56px;height:56px;object-fit:cover;border-radius:10px;background:var(--mr-muted)}
.mr-bump-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.mr-bump-head{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--mr-primary)}
.mr-bump-name{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mr-bump-price{font-size:14px}
.mr-bump-price del{color:var(--mr-text-2);margin-inline-end:6px;font-size:13px}
.mr-bump-price ins{text-decoration:none;font-weight:700;color:var(--mr-primary)}

/* --- free delivery progress -------------------------------------------- */
.mr-freeship{margin-top:14px}
.mr-freeship-text{font-size:13px;font-weight:600;margin-bottom:7px;color:var(--mr-text-2)}
.mr-freeship.is-done .mr-freeship-text{color:var(--mr-success)}
.mr-freeship-track{height:8px;border-radius:99px;background:var(--mr-muted);overflow:hidden}
.mr-freeship-track span{
  display:block;height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,var(--mr-accent),var(--mr-primary));
  transition:width .35s ease;
}
.mr-freeship.is-done .mr-freeship-track span{background:var(--mr-success)}

/* --- campaign badge ---------------------------------------------------- */
.mr-cmp-badge{
  position:absolute;inset-inline-start:10px;top:10px;z-index:2;
  padding:4px 9px;border-radius:99px;
  background:var(--mr-secondary);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.02em;
}
@media (prefers-reduced-motion:reduce){
  .mr-freeship-track span{transition:none}
}

/* --- header search + hotline -------------------------------------------- */
.mr-header-search{
  display:none;align-items:center;flex:1 1 320px;max-width:460px;
  margin-inline:18px;
  border:1.5px solid var(--mr-line);border-radius:99px;
  background:var(--mr-surface);overflow:hidden;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.mr-header-search:focus-within{
  border-color:var(--mr-primary);
  box-shadow:0 0 0 3px var(--mr-primary-soft);
}
.mr-header-search input[type=search]{
  flex:1;min-width:0;padding:10px 16px;border:0;outline:0;
  background:transparent;color:var(--mr-text);
  font-family:inherit;font-size:14px;
}
.mr-header-search input::placeholder{color:var(--mr-text-2)}
.mr-header-search button{
  flex:none;display:grid;place-items:center;
  width:46px;align-self:stretch;border:0;cursor:pointer;
  background:var(--mr-primary);color:#fff;
}
.mr-header-search button:hover{filter:brightness(1.06)}

.mr-header-call{
  display:none;align-items:center;gap:9px;
  margin-inline-end:14px;color:var(--mr-text);
}
.mr-header-call svg{flex:none;color:var(--mr-primary)}
.mr-header-call span{display:flex;flex-direction:column;line-height:1.25}
.mr-header-call small{font-size:11px;color:var(--mr-text-2)}
.mr-header-call strong{font-size:15px;font-variant-numeric:tabular-nums;color:var(--mr-secondary)}

@media (min-width:1024px){
  .mr-header-search{display:flex}
  .mr-header-call{display:flex}
  /* the icon-only search button is redundant once the bar is visible */
  .mr-header-search ~ .mr-header-actions [data-search-open]{display:none}
}

/* --- section heading styles --------------------------------------------- */
.mr-head-pill .mr-sec-head,
.mr-head-pill .mr-sec > .mr-container > .mr-sec-title{
  display:flex;align-items:center;gap:14px;
}
.mr-head-pill .mr-sec-title{
  flex:none;padding:7px 16px;border-radius:8px;
  background:var(--mr-primary);color:#fff;
  font-size:16px;line-height:1.3;
}
.mr-head-pill .mr-sec-head::after,
.mr-head-pill .mr-sec > .mr-container > .mr-sec-title::after{
  content:"";flex:1;height:1.5px;background:var(--mr-line);
}
.mr-head-pill .mr-sec-head .mr-sec-more{order:3;flex:none}

.mr-head-bar .mr-sec-title{
  padding-inline-start:13px;
  border-inline-start:4px solid var(--mr-primary);
  line-height:1.2;
}

/* --- product photos sit on white, whole item visible -------------------- */
.mr-card-media{background:#fff}
.mr-card-media img{object-fit:contain;padding:6px}
body.maira-dark .mr-card-media{background:#f6f8f4}

/* --- numerals -----------------------------------------------------------
   Hind Siliguri draws Bangla ১ and ৯ almost identically, so "১৯৯" reads as
   "৯৯৯" at small sizes. Anek Bangla gives ১ a straight stem and keeps them
   apart, so every element that carries a number uses it. */
.mr-urg,
.mr-card-price,
.mr-price,
.mr-timer,
.mr-stickybar-price,
.mr-sum-row,
.mr-form-totals,
.mr-stockbar-label,
.woocommerce-Price-amount{
  font-family:var(--mr-font-heading);
  font-feature-settings:"lnum" 1;
}
.mr-urg{letter-spacing:.01em}
.mr-urg-orders .mr-count{letter-spacing:.02em}

/* --- checkout trust strip ------------------------------------------------ */
.mr-co-trust{
  display:flex;flex-wrap:wrap;gap:10px 22px;
  margin:0 0 20px;padding:14px 16px;list-style:none;
  border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-muted);
}
.mr-co-trust li{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600}
.mr-co-trust svg{flex:none;color:var(--mr-primary)}
.mr-co-note{
  margin:12px 0 0;text-align:center;
  font-size:13.5px;color:var(--mr-text-2);line-height:1.6;
}

/* --- order confirmation -------------------------------------------------- */
.mr-ty{
  max-width:640px;margin:0 auto 28px;padding:24px;
  border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-surface);box-shadow:var(--mr-shadow);
}
.mr-ty-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}
.mr-ty-tick{
  flex:none;display:grid;place-items:center;width:56px;height:56px;
  border-radius:50%;background:var(--mr-primary);color:#fff;
}
.mr-ty-head h2{margin:0 0 4px;font-size:21px;line-height:1.25}
.mr-ty-head p{margin:0;color:var(--mr-text-2);font-size:14.5px}
.mr-ty-head strong{color:var(--mr-text);font-family:var(--mr-font-heading)}

.mr-ty-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.mr-ty-steps li{
  display:flex;align-items:center;gap:11px;
  padding:11px 14px;border-radius:10px;
  font-size:14px;color:var(--mr-text-2);
}
.mr-ty-steps li svg{flex:none;color:var(--mr-line)}
.mr-ty-steps li.is-done{background:var(--mr-primary-soft);color:var(--mr-text);font-weight:600}
.mr-ty-steps li.is-done svg{color:var(--mr-primary)}

.mr-ty-phone{
  margin:18px 0 0;padding:12px 14px;border-radius:10px;
  background:var(--mr-muted);font-size:14px;
}
.mr-ty-phone strong{font-family:var(--mr-font-heading);color:var(--mr-secondary)}

.mr-ty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.mr-ty-actions .mr-btn{flex:1 1 180px;display:flex;align-items:center;justify-content:center;gap:8px}

@media (max-width:520px){
  .mr-ty{padding:18px 16px}
  .mr-ty-head{gap:12px}
  .mr-ty-tick{width:46px;height:46px}
  .mr-ty-head h2{font-size:18px}
}

/* --- classic cart & checkout -------------------------------------------- */
.woocommerce-cart .mr-page,
.woocommerce-checkout .mr-page{max-width:1100px}
.woocommerce-checkout .mr-woo,
.woocommerce-cart .mr-woo{width:min(100% - 28px,1100px)}

.woocommerce table.shop_table{
  width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid var(--mr-line);border-radius:var(--mr-radius);overflow:hidden;
}
.woocommerce table.shop_table th{
  padding:13px 14px;background:var(--mr-muted);
  font-family:var(--mr-font-heading);font-size:13px;text-align:start;
}
.woocommerce table.shop_table td{padding:13px 14px;border-top:1px solid var(--mr-line)}
.woocommerce table.shop_table .product-thumbnail img{width:58px;height:58px;object-fit:contain;border-radius:8px;background:#fff}

.woocommerce .cart_totals h2,
.woocommerce-checkout h3{font-size:18px;margin:0 0 12px}

.woocommerce-checkout .col2-set{display:block}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{float:none;width:100%;max-width:none;padding:0}
.woocommerce-checkout .form-row{display:block;width:100%;float:none;padding:0;margin:0 0 14px}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last{width:100%}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{width:100%}
.woocommerce-checkout .form-row label{
  display:block;margin-bottom:5px;
  font-size:13.5px;font-weight:600;color:var(--mr-text);
}
.woocommerce-checkout .required{color:var(--mr-danger);text-decoration:none}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea{
  width:100%;padding:12px 14px;
  border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  background:var(--mr-surface);color:var(--mr-text);
  font-family:inherit;font-size:15px;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{
  outline:0;border-color:var(--mr-primary);
  box-shadow:0 0 0 3px var(--mr-primary-soft);
}

.woocommerce-checkout #order_review{
  margin-top:20px;padding:18px;
  border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-muted);
}
.woocommerce-checkout .woocommerce-checkout-payment{
  margin-top:14px;padding:14px;border-radius:var(--mr-radius);
  background:var(--mr-surface);
}
.woocommerce-checkout .wc_payment_methods{margin:0;padding:0;list-style:none}
.woocommerce-checkout .wc_payment_method label{
  display:flex;align-items:center;gap:9px;
  padding:11px 12px;border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  cursor:pointer;font-weight:600;
}
.woocommerce-checkout .wc_payment_method input:checked + label{
  border-color:var(--mr-primary);background:var(--mr-primary-soft);
}
.woocommerce-checkout .payment_box{
  margin:8px 0 4px;padding:12px 14px;border-radius:10px;
  background:var(--mr-muted);font-size:13.5px;line-height:1.6;
}

.woocommerce #place_order,
.woocommerce .checkout-button,
.woocommerce .button.alt{
  width:100%;padding:16px 22px;border:0;border-radius:var(--mr-radius-btn);
  background:linear-gradient(135deg,var(--mr-primary),var(--mr-secondary));
  color:#fff;cursor:pointer;
  font-family:var(--mr-font-heading);font-weight:700;font-size:16.5px;
  box-shadow:var(--mr-shadow);
  transition:filter .16s ease,transform .12s ease;
}
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover,
.woocommerce .button.alt:hover{filter:brightness(1.07)}
.woocommerce #place_order:active,
.woocommerce .checkout-button:active{transform:translateY(1px)}

.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message{
  padding:13px 16px;border:0;border-inline-start:4px solid var(--mr-primary);
  border-radius:10px;background:var(--mr-muted);
}
.woocommerce .woocommerce-error{
  padding:13px 16px;border:0;border-inline-start:4px solid var(--mr-danger);
  border-radius:10px;background:color-mix(in srgb,var(--mr-danger) 10%,transparent);
  list-style:none;
}

/* Two boxes side by side — no row counting, so an injected notice cannot
   push the summary underneath the form. */
@media (min-width:860px){
  .woocommerce-checkout form.checkout{
    display:flex;flex-wrap:wrap;align-items:flex-start;gap:26px;
  }
  /* Percentages, not pixels: a fixed 440 + 370 could not fit a narrower
     container and wrapped the summary underneath the form. */
  .woocommerce-checkout form.checkout > #customer_details{
    flex:1 1 56%;min-width:0;max-width:56%;
  }
  .woocommerce-checkout form.checkout > .mr-co-side{
    flex:1 1 38%;min-width:0;max-width:40%;
    position:sticky;top:96px;
  }
  /* Notices and login/coupon forms span the full width above the columns. */
  .woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
  .woocommerce-checkout form.checkout > .woocommerce-form-login,
  .woocommerce-checkout form.checkout > .woocommerce-form-coupon{flex:1 1 100%}
}

.mr-co-side #order_review_heading{margin:0 0 12px;font-size:17px}
.mr-co-side #order_review{margin-top:0}

/* --- side cart ----------------------------------------------------------- */
.mr-sc{position:fixed;inset:0;z-index:120}
.mr-sc-scrim{
  position:absolute;inset:0;background:rgba(14,33,12,.42);
  opacity:0;transition:opacity .26s ease;
}
.mr-sc.is-open .mr-sc-scrim{opacity:1}

.mr-sc-panel{
  position:absolute;inset-block:0;inset-inline-end:0;
  display:flex;flex-direction:column;
  width:min(420px,100%);
  background:var(--mr-surface);
  box-shadow:-18px 0 48px -24px rgba(14,33,12,.4);
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
}
.mr-sc.is-open .mr-sc-panel{transform:translateX(0)}
body.mr-sc-open{overflow:hidden}

.mr-sc-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;border-bottom:1px solid var(--mr-line);
}
.mr-sc-head h2{margin:0;font-size:17px}
.mr-sc-x{
  display:grid;place-items:center;width:36px;height:36px;
  border:0;border-radius:50%;background:var(--mr-muted);
  color:var(--mr-text);cursor:pointer;
}
.mr-sc-x:hover{background:var(--mr-line)}

.mr-sc-inner{display:flex;flex-direction:column;flex:1;min-height:0}
.mr-sc-body{flex:1;overflow-y:auto;padding:16px 18px;-webkit-overflow-scrolling:touch}

/* free delivery progress */
.mr-sc-ship{margin-bottom:16px}
.mr-sc-ship p{margin:0 0 7px;font-size:13px;font-weight:600;color:var(--mr-text-2)}
.mr-sc-ship.is-done p{color:var(--mr-success)}
.mr-sc-track{height:7px;border-radius:99px;background:var(--mr-muted);overflow:hidden}
.mr-sc-track span{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--mr-accent),var(--mr-primary));
  transition:width .35s ease;
}
.mr-sc-ship.is-done .mr-sc-track span{background:var(--mr-success)}

/* items */
.mr-sc-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.mr-sc-item{display:flex;gap:12px;align-items:flex-start;position:relative}
.mr-sc-thumb{flex:none;width:64px;height:64px;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--mr-line)}
.mr-sc-thumb img{width:100%;height:100%;object-fit:contain}
.mr-sc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.mr-sc-name{font-family:var(--mr-font-heading);
  font-size:14px;font-weight:600;line-height:1.35;color:var(--mr-text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.mr-sc-name:hover{color:var(--mr-primary)}
.mr-sc-line{font-family:var(--mr-font-heading);font-weight:700;font-size:14.5px;color:var(--mr-primary)}

.mr-sc-qty{
  display:inline-flex;align-items:center;align-self:flex-start;
  border:1.5px solid var(--mr-line);border-radius:8px;overflow:hidden;
}
.mr-sc-qty button{
  width:30px;height:30px;border:0;background:var(--mr-muted);
  color:var(--mr-text);font-size:16px;line-height:1;cursor:pointer;
}
.mr-sc-qty button:hover{background:var(--mr-primary-soft);color:var(--mr-primary)}
.mr-sc-qty input{
  width:42px;height:30px;border:0;outline:0;text-align:center;
  background:transparent;color:var(--mr-text);
  font-family:var(--mr-font-heading);font-weight:600;font-size:14px;
  -moz-appearance:textfield;
}
.mr-sc-qty input::-webkit-outer-spin-button,
.mr-sc-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.mr-sc-remove{
  flex:none;display:grid;place-items:center;width:28px;height:28px;
  border:0;border-radius:50%;background:transparent;
  color:var(--mr-text-2);cursor:pointer;
}
.mr-sc-remove:hover{background:color-mix(in srgb,var(--mr-danger) 12%,transparent);color:var(--mr-danger)}

/* empty */
.mr-sc-empty{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;padding:40px 24px;text-align:center;color:var(--mr-text-2);
}
.mr-sc-empty svg{color:var(--mr-line)}
.mr-sc-empty p{margin:0;font-size:15px}

/* footer */
.mr-sc-foot{padding:16px 18px;border-top:1px solid var(--mr-line);background:var(--mr-muted)}
.mr-sc-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.mr-sc-total span{font-size:14px;color:var(--mr-text-2)}
.mr-sc-total strong{font-family:var(--mr-font-heading);font-size:21px;color:var(--mr-secondary)}
.mr-sc-note{margin:3px 0 12px;font-size:12.5px;color:var(--mr-text-2)}
.mr-sc-foot .mr-btn-order{width:100%;display:block;text-align:center}
.mr-sc-keep{
  display:block;width:100%;margin-top:9px;padding:9px;
  border:0;background:transparent;color:var(--mr-text-2);cursor:pointer;
  font-family:inherit;font-size:13.5px;text-decoration:underline;
}
.mr-sc-keep:hover{color:var(--mr-primary)}

/* loading veil */
.mr-sc-loading{position:absolute;inset:0;background:rgba(255,255,255,.55);cursor:progress}
body.maira-dark .mr-sc-loading{background:rgba(15,20,13,.5)}
.mr-btn.is-loading{opacity:.6;pointer-events:none}

@media (prefers-reduced-motion:reduce){
  .mr-sc-panel,.mr-sc-scrim,.mr-sc-track span{transition:none}
}

/* --- WooCommerce page container ----------------------------------------- */
.mr-woo{padding-block:28px 44px}
.woocommerce-page .mr-woo > h1,
.woocommerce-page .mr-woo > .entry-title{margin:0 0 20px;font-size:26px}

/* WooCommerce notices use an icon webfont this theme doesn't load, so the
   glyph renders as an empty box sitting on top of the text. The ancestor
   selector was not always present, so match the class on its own. */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-noreviews::before,
.wc-block-components-notice-banner::before{
  content:"" !important;
  display:none !important;
  background:none !important;
}
.woocommerce-info,
.woocommerce-message,
.woocommerce-error{padding-inline-start:16px !important}

/* WooCommerce sets these as a font-family on the pseudo element; if anything
   still slips through, there is nothing left for it to draw. */
.woocommerce-info::after,
.woocommerce-message::after,
.woocommerce-error::after{content:none}

.woocommerce form.checkout_coupon{
  margin:0 0 20px;padding:16px;
  border:1px dashed var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-surface);
}
.woocommerce form.checkout_coupon .form-row{margin-bottom:0}
@media (min-width:520px){
  .woocommerce form.checkout_coupon{display:flex;gap:10px;align-items:center}
  .woocommerce form.checkout_coupon .form-row{flex:1;margin:0}
  .woocommerce form.checkout_coupon .form-row-last{flex:0 0 auto}
  .woocommerce form.checkout_coupon .button{width:auto;padding:12px 22px;font-size:15px}
}

/* --- advance payment ------------------------------------------------------ */
.mr-adv-amount{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin:0 0 4px;padding:12px 14px;border-radius:10px;
  background:var(--mr-primary-soft);font-size:14px;font-weight:600;
}
.mr-adv-amount strong{font-family:var(--mr-font-heading);font-size:20px;color:var(--mr-secondary)}
.mr-adv-why{margin:0 0 12px;font-size:13px;color:var(--mr-text-2)}

.mr-adv-methods{margin:0 0 12px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.mr-adv-methods label{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:11px 13px;border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  cursor:pointer;
}
.mr-adv-methods label:has(input:checked){border-color:var(--mr-primary);background:var(--mr-primary-soft)}
.mr-adv-methods input{accent-color:var(--mr-primary)}
.mr-adv-name{font-weight:700}
.mr-adv-num{font-family:var(--mr-font-heading);font-weight:700;color:var(--mr-secondary)}
.mr-adv-type{
  margin-inline-start:auto;padding:2px 8px;border-radius:99px;
  background:var(--mr-muted);font-size:11.5px;color:var(--mr-text-2);
}

.mr-ty-due{
  margin:14px 0 0;padding:12px 14px;border-radius:10px;
  background:var(--mr-primary-soft);font-size:14px;
}
.mr-ty-due strong{font-family:var(--mr-font-heading);color:var(--mr-secondary)}

/* --- product reviews ------------------------------------------------------ */
.mr-rv{
  margin:32px 0 0;padding:24px;
  border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-surface);
}
.mr-rv-head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:14px;padding-bottom:16px;margin-bottom:18px;
  border-bottom:1px solid var(--mr-line);
}
.mr-rv-head h2{margin:0;font-size:20px}
.mr-rv-score{display:flex;align-items:center;gap:12px}
.mr-rv-num{font-family:var(--mr-font-heading);font-size:32px;font-weight:700;color:var(--mr-secondary);line-height:1}
.mr-rv-of{display:flex;flex-direction:column;gap:2px}
.mr-rv-set{display:flex;gap:1px}
.mr-rv-set i{color:var(--mr-line);display:inline-flex}
.mr-rv-set i.is-on{color:var(--mr-accent)}
.mr-rv-of small{font-size:12.5px;color:var(--mr-text-2)}

/* list */
.mr-rv .commentlist{margin:0 0 22px;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}
.mr-rv .commentlist li{padding:0}
.mr-rv .comment_container{display:flex;gap:13px;align-items:flex-start}
.mr-rv .comment_container img.avatar{
  width:42px;height:42px;border-radius:50%;flex:none;
  background:var(--mr-muted);
}
.mr-rv .comment-text{flex:1;min-width:0}
.mr-rv .comment-text .star-rating{margin-bottom:5px}
.mr-rv .comment-text p.meta{margin:0 0 5px;font-size:13px;color:var(--mr-text-2)}
.mr-rv .comment-text p.meta strong{color:var(--mr-text);font-size:14px}
.mr-rv .comment-text .description p{margin:0;font-size:14.5px;line-height:1.65}
.mr-rv .woocommerce-review__verified{
  margin-inline-start:6px;padding:1px 7px;border-radius:99px;
  background:var(--mr-primary-soft);color:var(--mr-primary);
  font-size:11px;font-weight:700;
}
.mr-rv .woocommerce-noreviews{
  margin:0 0 18px;padding:16px;border-radius:var(--mr-radius);
  background:var(--mr-muted);color:var(--mr-text-2);text-align:center;
}

/* form */
.mr-rv #review_form_wrapper{padding-top:18px;border-top:1px solid var(--mr-line)}
.mr-rv .comment-reply-title{display:block;margin-bottom:14px;font-family:var(--mr-font-heading);font-size:17px;font-weight:700}
.mr-rv-pending{
  margin:0 0 14px;padding:11px 14px;border-radius:10px;
  background:var(--mr-muted);font-size:13px;color:var(--mr-text-2);
}
.mr-rv .comment-form label{display:block;margin-bottom:5px;font-size:13.5px;font-weight:600}
.mr-rv .comment-form input[type=text],
.mr-rv .comment-form input[type=email],
.mr-rv .comment-form textarea{
  width:100%;padding:12px 14px;
  border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  background:var(--mr-surface);color:var(--mr-text);
  font-family:inherit;font-size:15px;
}
.mr-rv .comment-form input:focus,
.mr-rv .comment-form textarea:focus{
  outline:0;border-color:var(--mr-primary);box-shadow:0 0 0 3px var(--mr-primary-soft);
}
.mr-rv .comment-form p{margin:0 0 13px}
.mr-rv .comment-form .submit{
  padding:14px 30px;border:0;border-radius:var(--mr-radius-btn);
  background:linear-gradient(135deg,var(--mr-primary),var(--mr-secondary));
  color:#fff;cursor:pointer;
  font-family:var(--mr-font-heading);font-weight:700;font-size:15.5px;
}
.mr-rv .comment-form .submit:hover{filter:brightness(1.07)}

/* star picker */
.mr-rv-stars{margin-bottom:14px}
.mr-rv-label{display:block;margin-bottom:6px;font-size:13.5px;font-weight:600}
.mr-rv-picker{display:inline-flex;flex-direction:row-reverse;gap:3px}
.mr-rv-picker input{position:absolute;opacity:0;width:0;height:0}
.mr-rv-picker label{
  margin:0;cursor:pointer;color:var(--mr-line);line-height:0;
  transition:color .12s ease,transform .12s ease;
}
.mr-rv-picker label:hover,
.mr-rv-picker label:hover ~ label,
.mr-rv-picker input:checked ~ label{color:var(--mr-accent)}
.mr-rv-picker label:hover{transform:scale(1.12)}
.mr-rv-picker input:focus-visible + label{outline:2px solid var(--mr-primary);outline-offset:3px;border-radius:4px}

@media (max-width:520px){
  .mr-rv{padding:18px 15px}
  .mr-rv-head h2{font-size:18px}
  .mr-rv-num{font-size:27px}
}

/* --- checkout: trust strip and order box tidy ---------------------------- */
.woocommerce-checkout .mr-co-trust{margin-bottom:16px}
.woocommerce-checkout .mr-co-trust li{flex:1 1 220px}

.woocommerce-checkout #order_review_heading{font-size:17px}
.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table{
  border-radius:var(--mr-radius) var(--mr-radius) 0 0;
}
.woocommerce-checkout .shop_table td,
.woocommerce-checkout .shop_table th{font-size:14px}
.woocommerce-checkout .shop_table .product-name{line-height:1.45}
.woocommerce-checkout .shop_table tfoot .order-total td,
.woocommerce-checkout .shop_table tfoot .order-total th{
  font-family:var(--mr-font-heading);font-weight:700;font-size:16px;
}
.woocommerce-checkout .woocommerce-privacy-policy-text p{
  margin:0;font-size:12.5px;line-height:1.6;color:var(--mr-text-2);
}
.woocommerce-checkout .payment_box p{margin:0}

/* --- description accordion in the summary -------------------------------- */
.mr-acc-desc{margin-top:16px}
.mr-acc-desc .mr-prose{
  max-height:420px;overflow-y:auto;
  font-size:14.5px;line-height:1.75;
}
.mr-acc-desc .mr-prose p{margin:0 0 12px}
.mr-acc-desc .mr-prose p:last-child{margin-bottom:0}

/* the default add-to-cart sits under the order form as a secondary path */
.single-product form.cart{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin:14px 0 0;
}
.single-product form.cart .quantity{flex:none}
.single-product form.cart .quantity input{
  width:74px;padding:12px 8px;text-align:center;
  border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  background:var(--mr-surface);color:var(--mr-text);
  font-family:var(--mr-font-heading);font-weight:600;font-size:15px;
}
.single-product form.cart .single_add_to_cart_button{
  flex:1;min-width:160px;padding:13px 20px;
  border:2px solid var(--mr-primary);border-radius:var(--mr-radius-btn);
  background:transparent;color:var(--mr-primary);cursor:pointer;
  font-family:var(--mr-font-heading);font-weight:700;font-size:15px;
}
.single-product form.cart .single_add_to_cart_button:hover{
  background:var(--mr-primary);color:#fff;
}
.single-product form.cart .single_add_to_cart_button.is-loading{opacity:.6;pointer-events:none}
.single-product .stock{margin:8px 0 0;font-size:13px;color:var(--mr-text-2)}

/* --- floating cart pill --------------------------------------------------- */
.mr-cartpill{
  position:fixed;inset-inline-end:0;top:50%;z-index:66;
  display:none;flex-direction:column;align-items:center;gap:1px;
  padding:9px 8px;border:0;cursor:pointer;
  border-start-start-radius:10px;border-end-start-radius:10px;
  background:linear-gradient(135deg,var(--mr-primary),var(--mr-secondary));
  color:#fff;font-family:var(--mr-font-heading);line-height:1.2;
  box-shadow:-5px 0 16px -8px rgba(14,33,12,.45);
  transform:translateY(-50%);
  transition:filter .18s ease;
}
.mr-cartpill.is-on{display:flex}
.mr-cartpill:hover{filter:brightness(1.1)}
.mr-cartpill svg{width:18px;height:18px;opacity:.95}
.mr-cartpill-n{font-size:10px;font-weight:600;opacity:.9;white-space:nowrap}
.mr-cartpill-t{font-size:12px;font-weight:700;white-space:nowrap}

/* On phones the bottom nav already has a cart with a live count, so the
   floating pill would only duplicate it — and it landed on top of the
   WhatsApp button. Desktop keeps the pill; mobile uses the nav. */
@media (max-width:900px){
  .mr-cartpill{display:none !important}
}
body.mr-sc-open .mr-cartpill{display:none}

/* --- side cart: price row ------------------------------------------------- */
.mr-sc-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.mr-sc-unit{font-size:13px;color:var(--mr-text-2);font-family:var(--mr-font-heading)}
.mr-sc-line{font-family:var(--mr-font-heading);font-weight:700;font-size:14.5px;color:var(--mr-primary)}

/* --- side cart: suggestions ----------------------------------------------- */
.mr-sc-up{
  flex:none;padding:14px 18px 4px;
  border-top:1px solid var(--mr-line);background:var(--mr-muted);
}
.mr-sc-up h3{
  margin:0 0 10px;font-size:13.5px;font-weight:700;
  color:var(--mr-text-2);letter-spacing:.01em;
}
.mr-sc-up-track{
  display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;
  scroll-snap-type:x mandatory;scrollbar-width:none;
}
.mr-sc-up-track::-webkit-scrollbar{display:none}
.mr-sc-up-item{
  flex:0 0 210px;scroll-snap-align:start;
  display:flex;gap:9px;align-items:flex-start;
  padding:9px;border:1px solid var(--mr-line);border-radius:10px;
  background:var(--mr-surface);
}
.mr-sc-up-item img{
  width:54px;height:54px;flex:none;border-radius:8px;
  object-fit:contain;background:#fff;
}
.mr-sc-up-item > div{display:flex;flex-direction:column;gap:3px;min-width:0}
.mr-sc-up-name{
  font-size:12.5px;font-weight:600;line-height:1.35;color:var(--mr-text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.mr-sc-up-price{font-family:var(--mr-font-heading);font-weight:700;font-size:13px;color:var(--mr-secondary)}
.mr-sc-up-add{
  align-self:flex-start;margin-top:2px;padding:4px 11px;
  border:1.5px solid var(--mr-primary);border-radius:99px;
  background:transparent;color:var(--mr-primary);cursor:pointer;
  font-family:var(--mr-font-heading);font-weight:700;font-size:12px;
}
.mr-sc-up-add:hover{background:var(--mr-primary);color:#fff}
.mr-sc-up-add.is-loading{opacity:.55;pointer-events:none}

/* --- buy now buttons ------------------------------------------------------ */
.mr-buy{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin-top:16px}
.mr-buy-qty{
  display:inline-flex;align-items:stretch;flex:none;
  border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);overflow:hidden;
}
.mr-buy-qty button{
  width:38px;border:0;background:var(--mr-muted);color:var(--mr-text);
  font-size:18px;line-height:1;cursor:pointer;
}
.mr-buy-qty button:hover{background:var(--mr-primary-soft);color:var(--mr-primary)}
.mr-buy-qty input{
  width:52px;border:0;outline:0;text-align:center;background:transparent;color:var(--mr-text);
  font-family:var(--mr-font-heading);font-weight:700;font-size:15px;-moz-appearance:textfield;
}
.mr-buy-qty input::-webkit-outer-spin-button,
.mr-buy-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.mr-buy-now{flex:1 1 200px;font-size:16px;padding:15px 22px}
.mr-buy-cart{flex:1 1 100%;padding:13px 22px}
.mr-buy-now.is-loading{opacity:.6;pointer-events:none}
.mr-buy-out{
  margin:16px 0 0;padding:13px 16px;border-radius:var(--mr-radius);
  background:var(--mr-muted);color:var(--mr-text-2);font-weight:600;
}
@media (min-width:520px){
  .mr-buy-cart{flex:1 1 200px}
}

/* --- product meta --------------------------------------------------------- */
.single-product .product_meta{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--mr-line);
  font-size:13px;color:var(--mr-text-2);
}
.single-product .product_meta > span{display:block;margin-bottom:4px}
.single-product .product_meta a{color:var(--mr-primary)}

/* --- sold out ------------------------------------------------------------- */
.mr-stockbar.is-out .mr-stockbar-text{color:var(--mr-danger)}
.mr-stockbar.is-out .mr-stockbar-text svg{color:var(--mr-danger)}
.mr-stockbar.is-out .mr-stockbar-fill{background:var(--mr-text-2)}
.mr-card.is-out .mr-card-media{opacity:.62}
.mr-card-soldout{
  position:absolute;inset-inline-end:10px;top:10px;z-index:2;
  padding:4px 10px;border-radius:99px;
  background:var(--mr-text);color:#fff;
  font-size:11px;font-weight:700;
}
.mr-btn.is-disabled{
  pointer-events:none;opacity:.7;
  border-color:var(--mr-line);color:var(--mr-text-2);
}

/* --- delivery estimate ---------------------------------------------------- */
.mr-eta{
  margin:6px 0 0;padding:8px 11px;border-radius:8px;
  background:var(--mr-primary-soft);
  font-size:13px;font-weight:600;color:var(--mr-secondary);
}

/* --- back in stock -------------------------------------------------------- */
.mr-sa{
  margin-top:16px;padding:16px;
  border:1.5px dashed var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-muted);
}
.mr-sa-title{margin:0 0 3px;font-family:var(--mr-font-heading);font-weight:700;font-size:15px}
.mr-sa-sub{margin:0 0 11px;font-size:13px;color:var(--mr-text-2)}
.mr-sa-row{display:flex;flex-wrap:wrap;gap:8px}
.mr-sa-row input{
  flex:1 1 180px;min-width:0;padding:12px 14px;
  border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  background:var(--mr-surface);color:var(--mr-text);
  font-family:var(--mr-font-heading);font-size:15px;
}
.mr-sa-row input:focus{outline:0;border-color:var(--mr-primary);box-shadow:0 0 0 3px var(--mr-primary-soft)}
.mr-sa-row input:disabled{opacity:.6}
.mr-sa-row .mr-btn{flex:0 0 auto;padding:12px 24px}
.mr-sa-msg{margin:9px 0 0;font-size:13px}
.mr-sa-msg.is-ok{color:var(--mr-success);font-weight:600}
.mr-sa-msg.is-error{color:var(--mr-danger)}

/* --- review photos -------------------------------------------------------- */
.mr-rv-photos{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.mr-rv-photos img{
  width:72px;height:72px;object-fit:cover;border-radius:8px;
  border:1px solid var(--mr-line);
}
.comment-form-photo{margin-bottom:13px}
.comment-form-photo input[type=file]{
  display:block;width:100%;padding:10px;
  border:1.5px dashed var(--mr-line);border-radius:var(--mr-radius-btn);
  background:var(--mr-muted);font-size:13px;
}
.mr-rv-hint{display:block;margin-top:5px;font-size:12px;color:var(--mr-text-2)}

/* --- order tracking ------------------------------------------------------- */
.mr-trk{max-width:620px;margin:0 auto}
.mr-trk-form label{display:block;margin-bottom:6px;font-size:14px;font-weight:600}
.mr-trk-row{display:flex;flex-wrap:wrap;gap:9px}
.mr-trk-row input{
  flex:1 1 200px;min-width:0;padding:13px 15px;
  border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  background:var(--mr-surface);color:var(--mr-text);
  font-family:var(--mr-font-heading);font-size:16px;
}
.mr-trk-row input:focus{outline:0;border-color:var(--mr-primary);box-shadow:0 0 0 3px var(--mr-primary-soft)}
.mr-trk-row .mr-btn{flex:0 0 auto;padding:13px 26px}
.mr-trk-msg{margin:16px 0 0;padding:13px 16px;border-radius:var(--mr-radius);background:var(--mr-muted);font-size:14px}
.mr-trk-msg.is-error{background:color-mix(in srgb,var(--mr-danger) 10%,transparent);color:var(--mr-danger)}

.mr-trk-order{
  margin-top:18px;padding:18px;
  border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-surface);
}
.mr-trk-order header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.mr-trk-order header strong{font-family:var(--mr-font-heading);font-size:16px}
.mr-trk-order header span{display:block;font-size:12.5px;color:var(--mr-text-2)}
.mr-trk-total{font-family:var(--mr-font-heading);font-weight:700;font-size:16px;color:var(--mr-secondary)}

.mr-trk-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.mr-trk-steps li{
  display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;
  font-size:13.5px;color:var(--mr-text-2);
}
.mr-trk-steps li svg{flex:none;color:var(--mr-line)}
.mr-trk-steps li.is-done{background:var(--mr-primary-soft);color:var(--mr-text);font-weight:600}
.mr-trk-steps li.is-done svg{color:var(--mr-primary)}
.mr-trk-dead{
  margin:0;padding:12px 14px;border-radius:9px;
  background:color-mix(in srgb,var(--mr-danger) 10%,transparent);
  color:var(--mr-danger);font-weight:600;font-size:14px;
}
.mr-trk-items{margin:13px 0 0;padding:0 0 0 18px;font-size:13.5px;color:var(--mr-text-2)}
.mr-trk-cn{margin:11px 0 0;font-size:13.5px}
.mr-trk-cn strong{font-family:var(--mr-font-heading);color:var(--mr-secondary)}
.mr-trk-note{margin-top:16px;font-size:13px;color:var(--mr-text-2);text-align:center}

/* --- bottom nav cart badge ------------------------------------------------ */
.mr-bn-icon{position:relative;display:inline-flex}
.mr-bn-count{
  position:absolute;inset-inline-end:-9px;top:-6px;
  min-width:17px;height:17px;padding:0 4px;
  display:grid;place-items:center;border-radius:99px;
  background:var(--mr-primary);color:#fff;
  font-family:var(--mr-font-heading);font-weight:700;font-size:10.5px;line-height:1;
}
.mr-bn-count.is-empty{display:none}

/* --- brand loader --------------------------------------------------------- */
@keyframes mr-leaf-grow{0%,70%,100%{opacity:.18;transform:scale(.72)}20%,50%{opacity:1;transform:scale(1)}}
@keyframes mr-ring-spin{to{transform:rotate(360deg)}}
@keyframes mr-leaf-pulse{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1.06);opacity:1}}

.mr-loader{display:block;height:auto}
.mr-loader.is-grow .mr-lf{transform-origin:14px 26px;animation:mr-leaf-grow 1.6s ease-in-out infinite}
.mr-loader.is-ring .mr-ring{transform-origin:31px 31px;animation:mr-ring-spin 1.05s linear infinite}
.mr-loader.is-pulse > g{transform-origin:22px 24px;animation:mr-leaf-pulse 1.2s ease-in-out infinite}

/* the side cart veil now carries the mark */
.mr-sc-loading{display:grid;place-items:center}

/* --- page preloader ------------------------------------------------------- */
.mr-preload{
  position:fixed;inset:0;z-index:200;
  display:grid;place-items:center;
  background:var(--mr-surface);
  transition:opacity .35s ease,visibility .35s ease;
}
.mr-preload.is-gone{opacity:0;visibility:hidden;pointer-events:none}

@media (prefers-reduced-motion:reduce){
  .mr-loader.is-grow .mr-lf,
  .mr-loader.is-ring .mr-ring,
  .mr-loader.is-pulse > g{animation-duration:2.6s}
}

/* the drawer starts empty and fills itself — a cached page must never show
   someone else's cart */
.mr-sc-boot{flex:1;display:grid;place-items:center;padding:60px 0}

/* --- cart page ------------------------------------------------------------ */
.woocommerce-cart .mr-woo{max-width:1040px}
.woocommerce-cart .woocommerce{display:grid;gap:24px}

.woocommerce-cart table.cart{border:0;border-radius:0}
.woocommerce-cart table.cart thead{display:none}
.woocommerce-cart table.cart tbody{display:flex;flex-direction:column;gap:12px}
.woocommerce-cart table.cart tr.cart_item{
  display:grid;
  grid-template-columns:82px 1fr auto;
  grid-template-areas:"img name price" "img qty remove";
  align-items:center;gap:6px 14px;
  padding:14px;border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-surface);
}
.woocommerce-cart table.cart tr.cart_item td{border:0;padding:0}
.woocommerce-cart td.product-thumbnail{grid-area:img}
.woocommerce-cart td.product-thumbnail img{
  width:82px;height:82px;object-fit:contain;border-radius:10px;
  background:#fff;border:1px solid var(--mr-line);
}
.woocommerce-cart td.product-name{grid-area:name;font-size:14.5px;font-weight:600;line-height:1.4}
.woocommerce-cart td.product-name a{color:var(--mr-text)}
.woocommerce-cart td.product-name a:hover{color:var(--mr-primary)}
.woocommerce-cart td.product-price{display:none}
.woocommerce-cart td.product-subtotal{
  grid-area:price;text-align:end;
  font-family:var(--mr-font-heading);font-weight:700;font-size:16px;color:var(--mr-primary);
}
.woocommerce-cart td.product-quantity{grid-area:qty}
.woocommerce-cart td.product-quantity .quantity input{
  width:74px;padding:9px 6px;text-align:center;
  border:1.5px solid var(--mr-line);border-radius:8px;
  background:var(--mr-surface);color:var(--mr-text);
  font-family:var(--mr-font-heading);font-weight:600;
}
.woocommerce-cart td.product-remove{grid-area:remove;text-align:end}
.woocommerce-cart td.product-remove a.remove{
  display:inline-grid;place-items:center;width:28px;height:28px;
  border-radius:50%;background:var(--mr-muted);
  color:var(--mr-text-2) !important;font-size:17px;line-height:1;
}
.woocommerce-cart td.product-remove a.remove:hover{
  background:color-mix(in srgb,var(--mr-danger) 14%,transparent);
  color:var(--mr-danger) !important;
}

.woocommerce-cart td.actions{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:14px 0 0 !important;border:0 !important;
}
.woocommerce-cart td.actions .coupon{display:flex;gap:8px;flex:1 1 260px}
.woocommerce-cart td.actions .coupon input{
  flex:1;min-width:0;padding:11px 14px;
  border:1.5px solid var(--mr-line);border-radius:var(--mr-radius-btn);
  background:var(--mr-surface);color:var(--mr-text);font-family:inherit;
}
.woocommerce-cart td.actions .button{
  padding:11px 20px;border-radius:var(--mr-radius-btn);
  border:1.5px solid var(--mr-line);background:var(--mr-surface);
  color:var(--mr-text);cursor:pointer;font-family:var(--mr-font-heading);font-weight:600;
}
.woocommerce-cart td.actions .button:hover{border-color:var(--mr-primary);color:var(--mr-primary)}

.woocommerce-cart .cart-collaterals{width:100%;float:none}
.woocommerce-cart .cart_totals{
  width:100%;float:none;padding:18px;
  border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-muted);
}
.woocommerce-cart .cart_totals h2{font-size:17px;margin:0 0 12px}
.woocommerce-cart .cart_totals table{width:100%;border:0}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
  border:0;border-top:1px solid var(--mr-line);
  padding:11px 0;font-size:14.5px;text-align:start;
}
.woocommerce-cart .cart_totals table tr:first-child th,
.woocommerce-cart .cart_totals table tr:first-child td{border-top:0}
.woocommerce-cart .cart_totals table td{text-align:end;font-family:var(--mr-font-heading);font-weight:600}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{font-size:18px;font-weight:700}
.woocommerce-cart .wc-proceed-to-checkout{padding:14px 0 0}

@media (min-width:900px){
  .woocommerce-cart .woocommerce{grid-template-columns:1.35fr .65fr;align-items:start}
  .woocommerce-cart .woocommerce-notices-wrapper{grid-column:1 / -1}
  .woocommerce-cart form.woocommerce-cart-form{grid-column:1}
  .woocommerce-cart .cart-collaterals{grid-column:2;position:sticky;top:96px}
}
@media (max-width:520px){
  .woocommerce-cart table.cart tr.cart_item{
    grid-template-columns:64px 1fr;
    grid-template-areas:"img name" "img price" "qty remove";
  }
  .woocommerce-cart td.product-thumbnail img{width:64px;height:64px}
  .woocommerce-cart td.product-subtotal{text-align:start}
}

/* --- empty cart ----------------------------------------------------------- */
.woocommerce-cart .cart-empty{
  margin:0 0 14px;padding:22px;border-radius:var(--mr-radius);
  background:var(--mr-muted);text-align:center;font-size:16px;
}
.woocommerce-cart .return-to-shop{text-align:center}
.woocommerce-cart .return-to-shop .button{
  display:inline-block;padding:13px 26px;border:0;border-radius:var(--mr-radius-btn);
  background:linear-gradient(135deg,var(--mr-primary),var(--mr-secondary));
  color:#fff;font-family:var(--mr-font-heading);font-weight:700;
}

/* --- suggestions after the order ----------------------------------------- */
.mr-ty-more{max-width:640px;margin:24px auto 0}
.mr-ty-more h2{margin:0 0 4px;font-size:17px}
.mr-ty-coupon{
  margin:0 0 14px;padding:10px 13px;border-radius:10px;
  background:var(--mr-primary-soft);font-size:13.5px;color:var(--mr-secondary);
}
.mr-ty-coupon strong{
  font-family:var(--mr-font-heading);letter-spacing:.04em;
  padding:1px 7px;border-radius:5px;background:var(--mr-surface);
}
.mr-ty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.mr-ty-item{
  display:flex;flex-direction:column;gap:6px;
  padding:10px;border:1px solid var(--mr-line);border-radius:var(--mr-radius);
  background:var(--mr-surface);
}
.mr-ty-item img{
  width:100%;height:auto;aspect-ratio:1;object-fit:contain;
  border-radius:8px;background:#fff;
}
.mr-ty-item-name{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:12.5px;font-weight:600;line-height:1.4;color:var(--mr-text);
}
.mr-ty-item a:hover .mr-ty-item-name{color:var(--mr-primary)}
.mr-ty-item-price{
  margin-top:auto;font-family:var(--mr-font-heading);font-weight:700;
  font-size:13.5px;color:var(--mr-primary);
}

/* --- related products heading -------------------------------------------- */
.related.products > h2,
.up-sells > h2{
  margin:0 0 16px;font-family:var(--mr-font-heading);font-size:20px;
}
.related.products,
.up-sells{margin-top:36px;padding-top:28px;border-top:1px solid var(--mr-line)}

/* --- return policy notes -------------------------------------------------- */
.mr-policy-note{
  display:flex;align-items:flex-start;gap:10px;
  margin:0 0 14px;padding:12px 14px;border-radius:10px;
  border:1px solid color-mix(in srgb,var(--mr-accent) 45%,transparent);
  background:color-mix(in srgb,var(--mr-accent) 11%,var(--mr-surface));
  font-size:13.5px;font-weight:600;line-height:1.6;color:var(--mr-text);
}
.mr-policy-note svg{flex:none;margin-top:2px;color:var(--mr-accent)}
.mr-policy-note.is-ty{max-width:640px;margin:16px auto 0}

.mr-policy-line{
  display:flex;align-items:center;gap:7px;margin:12px 0 0;
  font-size:12.5px;color:var(--mr-text-2);
}
.mr-policy-line svg{flex:none;color:var(--mr-accent)}

.mr-policy-agree{margin:0 0 14px !important}
.mr-policy-agree label{display:flex !important;align-items:flex-start;gap:8px;font-size:13.5px;font-weight:600;cursor:pointer}
.mr-policy-agree input{margin-top:3px;accent-color:var(--mr-primary)}

/* --- working pages at full width ----------------------------------------- */
.mr-wide{width:100%;max-width:1100px;margin-inline:auto;color:var(--mr-text)}
.mr-post-wide .mr-post-title{max-width:1100px;margin-inline:auto;font-size:26px;margin-bottom:18px}

/* WooCommerce's own rule is .woocommerce .cart-collaterals .cart_totals
   {width:48%;float:right}, which out-ranks a two-class selector. */
.woocommerce-cart .woocommerce .cart-collaterals,
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .woocommerce .cart-collaterals .cross-sells{
  width:100% !important;float:none !important;
}
.woocommerce-cart .woocommerce .cart-collaterals::before,
.woocommerce-cart .woocommerce .cart-collaterals::after{content:none !important}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button{
  display:block;width:100%;white-space:normal;text-align:center;
  padding:15px 18px;font-size:16px;line-height:1.35;
}
.woocommerce-cart .cart_totals table th{width:auto;white-space:nowrap}
.woocommerce-cart .cart_totals table td{white-space:nowrap}

/* same trap on checkout: floats from WooCommerce's stylesheet */
.woocommerce-checkout .woocommerce form.checkout .col2-set,
.woocommerce-checkout .woocommerce form.checkout .col2-set .col-1,
.woocommerce-checkout .woocommerce form.checkout .col2-set .col-2{
  width:100% !important;float:none !important;
}

/* ==========================================================================
   TAZLYN PREMIUM JEWELLERY — Design Override Layer
   Applied on top of the Maira base. Every rule here targets body.maira so
   specificity wins without touching the base file.
   Palette: coral #E8967A · gold #C9A87C · blush #F2C4AC · cream #FBE8DD
   Typography: Playfair Display (display/heading) · Jost (body)
   ========================================================================== */

/* ---------- Token overrides ---------------------------------------------- */
body.maira {
  --mr-bg:           #FDFAF7;
  --mr-surface:      #FFFFFF;
  --mr-muted:        #FBE8DD;
  --mr-line:         rgba(201,168,124,0.22);
  --mr-text:         #1C1510;
  --mr-text-2:       #5C4A3A;
  --mr-shadow:       0 1px 2px rgba(200,140,100,.04), 0 8px 24px -12px rgba(200,140,100,.14);
  --mr-shadow-lg:    0 2px 6px rgba(200,140,100,.06), 0 22px 48px -18px rgba(200,140,100,.20);
  --mr-radius-card:  12px;
  --mr-radius-btn:   999px;
  --mr-container:    1280px;
}

/* ---------- Announce bar -------------------------------------------------- */
body.maira .mr-announce {
  background: #1C1510;
  color: #F2C4AC;
  font-size: 12.5px;
  letter-spacing: 0.3px;
}

/* ---------- Header -------------------------------------------------------- */
body.maira .mr-header {
  background: rgba(253,250,247,0.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--mr-line);
}
body.maira .mr-header.is-stuck {
  background: rgba(255,255,255,0.97);
  box-shadow: 0 4px 20px rgba(232,150,122,0.10);
}
body.maira .mr-logo-txt {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  color: #1C1510;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
body.maira .mr-nav-desktop a {
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #5C4A3A;
}
body.maira .mr-nav-desktop a:hover {
  color: #E8967A;
  border-color: #E8967A;
}

/* ---------- Category chips ----------------------------------------------- */
body.maira .mr-chip {
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 7px 16px;
  background: #FBE8DD;
  border: 1px solid rgba(232,150,122,0.25);
  color: #5C4A3A;
  transition: all 0.2s ease;
}
body.maira .mr-chip:hover,
body.maira .mr-chip.is-on {
  background: #E8967A;
  border-color: #E8967A;
  color: #fff;
}

/* ---------- Hero / Banner ------------------------------------------------- */
body.maira .mr-hero {
  border-radius: 16px;
  overflow: hidden;
  margin: 16px;
}
body.maira .mr-hero-text {
  font-family: 'Playfair Display', Georgia, serif;
}
body.maira .mr-hero-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
body.maira .mr-hero-sub {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  letter-spacing: 0.3px;
}
@media (min-width: 768px) {
  body.maira .mr-hero { margin: 24px; }
}

/* ---------- Section headings --------------------------------------------- */
body.maira .mr-sec-head {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
}
body.maira .mr-sec-head span {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
}

/* ---------- Product cards ------------------------------------------------- */
body.maira .mr-card {
  border-radius: 12px;
  border: 1px solid var(--mr-line);
  background: #FFFFFF;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
body.maira .mr-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(232,150,122,0.20);
}
body.maira .mr-card-media {
  aspect-ratio: 1/1;
  background: linear-gradient(135deg, #FBE8DD, #F2C4AC);
}
body.maira .mr-card-title {
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 13.5px;
  color: #1C1510;
  line-height: 1.4;
}
body.maira .mr-card-price {
  font-family: 'Jost', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: #1C1510;
}
body.maira .mr-card-price del {
  color: #A08878;
  text-decoration: line-through;
  font-size: 12px;
  font-weight: 400;
}
body.maira .mr-badge {
  background: #E8967A;
  color: #fff;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  padding: 3px 9px;
  letter-spacing: 0.3px;
}
body.maira .mr-card-rating {
  color: #C9A87C;
}

/* ---------- Buttons ------------------------------------------------------- */
body.maira .mr-btn {
  background: #1C1510;
  border-radius: 999px;
  font-family: 'Jost', sans-serif;
  font-weight: 600;
  font-size: 12.5px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  box-shadow: 0 6px 16px rgba(28,21,16,0.18);
  transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}
body.maira .mr-btn:hover {
  background: #E8967A;
  filter: none;
  box-shadow: 0 10px 24px rgba(232,150,122,0.35);
  transform: translateY(-1px);
}
body.maira .mr-btn-ghost {
  background: transparent;
  border: 1.5px solid #E8967A;
  color: #E8967A;
  box-shadow: none;
}
body.maira .mr-btn-ghost:hover {
  background: #E8967A;
  color: #fff;
  border-color: #E8967A;
  filter: none;
}

/* WhatsApp button */
body.maira .mr-btn-wa,
body.maira [class*="whatsapp"].mr-btn {
  background: #25D366;
}
body.maira .mr-btn-wa:hover {
  background: #1EBA59;
}

/* ---------- Single product page ------------------------------------------ */
body.maira .single-product .product_title {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: clamp(22px, 3.4vw, 32px);
  color: #1C1510;
  letter-spacing: -0.01em;
}
body.maira .single-product .woocommerce-Price-amount {
  font-family: 'Jost', sans-serif;
  font-weight: 700;
  font-size: clamp(22px, 3.4vw, 28px);
  color: #1C1510;
}
body.maira .single-product .price del .woocommerce-Price-amount {
  font-size: 16px;
  color: #A08878;
  font-weight: 400;
}
body.maira .woocommerce-product-gallery__image {
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(135deg, #FBE8DD, #F2C4AC);
}
body.maira .flex-control-thumbs img {
  border-radius: 8px;
  border: 1.5px solid var(--mr-line);
}
body.maira .flex-control-thumbs img:hover,
body.maira .flex-control-thumbs .flex-active {
  border-color: #E8967A;
}

/* Product tabs */
body.maira .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--mr-line);
  padding: 0;
  margin-bottom: 24px;
}
body.maira .woocommerce-tabs ul.tabs li {
  border: none;
  background: none;
  border-radius: 0;
  margin-right: 4px;
}
body.maira .woocommerce-tabs ul.tabs li a {
  font-family: 'Jost', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #A08878;
  padding: 10px 18px;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
body.maira .woocommerce-tabs ul.tabs li.active a,
body.maira .woocommerce-tabs ul.tabs li a:hover {
  color: #1C1510;
  border-bottom-color: #E8967A;
}

/* ---------- Reviews ------------------------------------------------------- */
body.maira #reviews .woocommerce-Reviews-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
}
body.maira #reviews .star-rating {
  color: #C9A87C;
}
body.maira .comment-form input,
body.maira .comment-form textarea {
  border: 1.5px solid var(--mr-line);
  border-radius: 8px;
  font-family: 'Jost', sans-serif;
  padding: 11px 14px;
}
body.maira .comment-form input:focus,
body.maira .comment-form textarea:focus {
  border-color: #E8967A;
  outline: none;
}

/* ---------- Sidecart ------------------------------------------------------- */
body.maira .mr-sc-panel {
  border-radius: 16px 0 0 16px;
}
body.maira .mr-sc-head {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
}

/* ---------- Checkout / Order form ----------------------------------------- */
body.maira .woocommerce-checkout h3,
body.maira .mr-form-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
}
body.maira .woocommerce-checkout input,
body.maira .woocommerce-checkout select,
body.maira .woocommerce-checkout textarea,
body.maira .mr-form input,
body.maira .mr-form select,
body.maira .mr-form textarea {
  border: 1.5px solid var(--mr-line);
  border-radius: 8px;
  font-family: 'Jost', sans-serif;
  padding: 12px 14px;
  font-size: 14px;
}
body.maira .woocommerce-checkout input:focus,
body.maira .woocommerce-checkout select:focus,
body.maira .woocommerce-checkout textarea:focus {
  border-color: #E8967A;
  outline: none;
  box-shadow: 0 0 0 3px rgba(232,150,122,0.12);
}
body.maira #place_order,
body.maira .mr-form .mr-btn {
  background: #1C1510;
  border-radius: 999px;
  font-family: 'Jost', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  border: none;
  transition: background 0.3s ease;
}
body.maira #place_order:hover,
body.maira .mr-form .mr-btn:hover {
  background: #E8967A;
}
body.maira .mr-pay-opt {
  border: 1.5px solid var(--mr-line);
  border-radius: 10px;
  transition: border-color 0.2s ease;
}
body.maira .mr-pay-opt:has(input:checked) {
  border-color: #E8967A;
  background: #FBE8DD;
}

/* ---------- Floating WhatsApp button ------------------------------------- */
body.maira .mr-float-wa {
  background: #25D366;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(37,211,102,0.35);
  animation: tz-bob 3s ease-in-out infinite;
}
@keyframes tz-bob {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-5px); }
}

/* ---------- Mobile bottom nav -------------------------------------------- */
body.maira .mr-bottomnav {
  background: #FFFFFF;
  border-top: 1px solid var(--mr-line);
  box-shadow: 0 -4px 16px rgba(232,150,122,0.10);
}
body.maira .mr-bottomnav .mr-bn-item.is-on,
body.maira .mr-bottomnav .mr-bn-item:hover {
  color: #E8967A;
}
body.maira .mr-bottomnav svg {
  width: 22px;
  height: 22px;
}

/* ---------- Sticky Add to Cart (mobile product page) --------------------- */
body.maira .mr-stickybar {
  background: #FFFFFF;
  border-top: 1px solid var(--mr-line);
  box-shadow: 0 -4px 16px rgba(232,150,122,0.10);
}

/* ---------- Footer -------------------------------------------------------- */
body.maira .mr-footer {
  background: #1C1510;
  color: #F2C4AC;
}
body.maira .mr-footer h4,
body.maira .mr-footer h5 {
  font-family: 'Jost', sans-serif;
  font-size: 11.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #F2C4AC;
  margin-bottom: 14px;
}
body.maira .mr-footer a {
  color: rgba(242,196,172,0.75);
  font-size: 13.5px;
  transition: color 0.2s;
}
body.maira .mr-footer a:hover {
  color: #E8967A;
}
body.maira .mr-footer-brand strong {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 1px;
  text-transform: uppercase;
}
body.maira .mr-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(242,196,172,0.45);
  font-size: 11.5px;
}
/* Social icons in footer */
body.maira .mr-footer .mr-social a {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: rgba(242,196,172,0.8);
  transition: background 0.2s, color 0.2s;
}
body.maira .mr-footer .mr-social a:hover {
  background: #E8967A;
  color: #fff;
  border-color: #E8967A;
}

/* ---------- Trust strip -------------------------------------------------- */
body.maira .mr-trust {
  background: #FBE8DD;
  border-top: 1px solid rgba(232,150,122,0.15);
  border-bottom: 1px solid rgba(232,150,122,0.15);
}
body.maira .mr-trust-item strong {
  font-family: 'Jost', sans-serif;
  font-weight: 600;
  color: #1C1510;
  font-size: 13px;
}
body.maira .mr-trust-item svg {
  color: #E8967A;
}

/* ---------- Search overlay ----------------------------------------------- */
body.maira .mr-search {
  border-radius: 12px;
}
body.maira .mr-search input {
  border-radius: 999px;
  border: 1.5px solid var(--mr-line);
  font-family: 'Jost', sans-serif;
}
body.maira .mr-search button {
  border-radius: 999px;
  background: #1C1510;
}

/* ---------- Typography polish -------------------------------------------- */
body.maira {
  font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  color: #1C1510;
}
body.maira h1, body.maira h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.01em;
}
body.maira h3, body.maira h4, body.maira h5 {
  font-family: 'Jost', sans-serif;
  font-weight: 600;
}

/* ---------- Urgency — remove fake/aggressive styles ---------------------- */
body.maira .mr-popup-urgency {
  display: none !important;
}
body.maira .mr-fake-urgency {
  display: none !important;
}

/* ---------- Wishlist icon ------------------------------------------------- */
body.maira .mr-wishlist-icon,
body.maira [class*="wishlist"] svg {
  color: #E8967A;
}

/* ---------- Scrollbar (luxury touch) ------------------------------------- */
body.maira ::-webkit-scrollbar { width: 6px; }
body.maira ::-webkit-scrollbar-track { background: #FBE8DD; }
body.maira ::-webkit-scrollbar-thumb { background: #E8967A; border-radius: 3px; }

/* ---------- Selection color ---------------------------------------------- */
body.maira ::selection {
  background: #F2C4AC;
  color: #1C1510;
}



/* TAZLYN Luxury Frontpage Upgrade */
.mr-hero img{
 width:100%;
 height:520px;
 object-fit:cover;
 border-radius:28px;
 box-shadow:0 20px 60px rgba(0,0,0,.12);
}
.mr-sec-title{
 font-size:32px;
 letter-spacing:.5px;
 margin-bottom:28px;
}
.mr-cat-grid.is-tile{
 gap:22px;
}
.mr-cat{
 border-radius:24px;
 overflow:hidden;
 background:#fff;
 box-shadow:0 10px 35px rgba(0,0,0,.08);
 transition:.35s ease;
}
.mr-cat:hover{
 transform:translateY(-8px);
 box-shadow:0 18px 45px rgba(0,0,0,.14);
}
.mr-cat-img{
 display:block;
 aspect-ratio:1/1;
 overflow:hidden;
}
.mr-cat-img img{
 width:100%;
 height:100%;
 object-fit:cover;
 transition:.5s ease;
}
.mr-cat:hover img{
 transform:scale(1.06);
}
.mr-cat-name{
 display:block;
 padding:18px;
 font-size:18px;
 font-weight:600;
 text-align:center;
 color:#222;
}
@media(max-width:768px){
 .mr-hero img{height:300px;border-radius:18px;}
 .mr-sec-title{font-size:24px;}
}

/* ==========================================================================
   TAZLYN BOUTIQUE UPGRADE — v16
   Refined, feminine, mobile-first. Everything is scoped to body.maira and
   sits last in the file so it wins without touching the base styles.
   ========================================================================== */
body.maira{
  --tz-ivory:#FFFBF8; --tz-blush:#FBEDE6; --tz-rose:#E8967A; --tz-rose-d:#D27C60;
  --tz-gold:#C9A87C; --tz-ink:#1C1510; --tz-ink-2:#6B584A; --tz-line:rgba(201,168,124,.28);
  --tz-card-r:18px; --tz-ease:cubic-bezier(.22,.61,.36,1);
  background:var(--tz-ivory);
}

/* ---- Section rhythm & headings ----------------------------------------- */
body.maira .mr-sec{padding-block:56px}
@media (max-width:640px){ body.maira .mr-sec{padding-block:38px} }
body.maira .mr-sec-head{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin-bottom:30px;position:relative;
}
body.maira .mr-sec-title,
body.maira .mr-sec > .mr-container > .mr-sec-title{
  font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(26px,3.6vw,38px);
  letter-spacing:-.01em;color:var(--tz-ink);margin:0;text-align:center;line-height:1.15;
}
body.maira .mr-sec-head::after{
  content:"\25C6";display:block;width:84px;margin-top:8px;text-align:center;font-size:8px;line-height:10px;color:var(--tz-rose);
  background:
    linear-gradient(var(--tz-gold),var(--tz-gold)) left center/34px 1px no-repeat,
    linear-gradient(var(--tz-gold),var(--tz-gold)) right center/34px 1px no-repeat;
}
body.maira .tz-eyebrow{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif;font-style:italic;font-size:18px;
  color:var(--tz-rose-d);letter-spacing:.02em;line-height:1;
}
body.maira .mr-more{
  order:5;margin-top:8px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tz-ink);border-bottom:1px solid var(--tz-rose);padding-bottom:3px;gap:6px;
}
body.maira .mr-more:hover{color:var(--tz-rose-d)}
body.maira .mr-sec-head .mr-more{position:static}
@media (min-width:900px){
  body.maira .mr-sec-head .mr-more{position:absolute;right:0;bottom:22px;margin:0}
}

/* ---- Announcement + header polish -------------------------------------- */
body.maira .mr-announce{letter-spacing:.06em;font-size:12px}
body.maira .mr-header{box-shadow:0 1px 0 var(--tz-line)}
body.maira .mr-chips{background:transparent;border-top:0}
body.maira .mr-chips-scroll{justify-content:center;gap:10px;padding-block:12px}
@media (max-width:760px){ body.maira .mr-chips-scroll{justify-content:flex-start} }
body.maira .mr-chip{
  background:#fff;border:1px solid var(--tz-line);color:var(--tz-ink-2);
  font-size:12px;letter-spacing:.04em;padding:8px 16px;box-shadow:0 2px 8px rgba(200,140,100,.06);
}
body.maira .mr-chip:hover,body.maira .mr-chip.is-on{background:var(--tz-ink);border-color:var(--tz-ink);color:#fff}

/* ---- Hero --------------------------------------------------------------- */
body.maira .mr-hero{margin-top:14px}
body.maira .mr-hero img{box-shadow:0 30px 70px -30px rgba(160,90,60,.45)}

/* ---- Collections tiles -------------------------------------------------- */
body.maira .mr-cat-grid.is-tile{gap:22px}
body.maira .mr-cat{
  border-radius:var(--tz-card-r);background:#fff;border:1px solid var(--tz-line);
  box-shadow:0 12px 30px -18px rgba(160,90,60,.35);transition:transform .45s var(--tz-ease),box-shadow .45s var(--tz-ease);
}
body.maira .mr-cat:hover{transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(160,90,60,.45)}
body.maira .mr-cat-img{border-radius:0;aspect-ratio:1/1}
body.maira .mr-cat-img img{transition:transform .9s var(--tz-ease)}
body.maira .mr-cat:hover .mr-cat-img img{transform:scale(1.07)}
body.maira .mr-cat-name{
  font-family:'Playfair Display',Georgia,serif;font-size:18px;font-weight:600;color:var(--tz-ink);
  padding:14px 10px 16px;margin:0;position:relative;
}
body.maira .mr-cat-name::after{
  content:"Explore \2192";display:block;font-family:'Jost',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--tz-rose-d);margin-top:4px;
  opacity:.75;transition:opacity .3s,letter-spacing .3s;
}
body.maira .mr-cat:hover .mr-cat-name::after{opacity:1;letter-spacing:.2em}
body.maira .mr-cat-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#FBEDE6,#F2C4AC)}
@media (max-width:640px){
  body.maira .mr-cat-grid.is-tile{grid-template-columns:repeat(2,1fr);gap:12px}
  body.maira .mr-cat-name{font-size:15px;padding:10px 6px 12px}
  body.maira .mr-cat-name::after{font-size:9.5px}
}

/* ---- Product grid & cards ---------------------------------------------- */
body.maira .mr-grid{gap:22px}
@media (max-width:640px){ body.maira .mr-grid{gap:12px} }
body.maira .mr-card{
  background:#fff;border:1px solid var(--tz-line);border-radius:var(--tz-card-r);
  box-shadow:0 10px 26px -20px rgba(160,90,60,.35);
  transition:transform .4s var(--tz-ease),box-shadow .4s var(--tz-ease);
}
body.maira .mr-card:hover{transform:translateY(-6px);box-shadow:0 28px 50px -26px rgba(160,90,60,.5);border-color:var(--tz-line)}
body.maira .mr-card-media{
  margin:8px 8px 0;border-radius:calc(var(--tz-card-r) - 6px);background:#F7EFE9;overflow:hidden;
}
body.maira .mr-card-media img{transition:transform .9s var(--tz-ease),opacity .45s ease}
body.maira .mr-card:hover .mr-card-media img.mr-card-img{transform:scale(1.06)}
body.maira .mr-badge{
  top:10px;left:10px;inset-inline-start:10px;background:var(--tz-rose);color:#fff;border-radius:999px;
  padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;flex-direction:row;gap:2px;
  box-shadow:0 6px 14px -6px rgba(210,124,96,.8);
}
body.maira .mr-badge{align-items:baseline}
body.maira .mr-badge small{font-size:9.5px;margin:0;vertical-align:baseline;line-height:1}
body.maira .mr-card-body{padding:14px 14px 16px;gap:8px;text-align:center;align-items:center}
body.maira .mr-card-title{font-family:'Jost',sans-serif;font-size:14px;font-weight:500;color:var(--tz-ink);letter-spacing:.01em}
body.maira .mr-card-price{justify-content:center;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
body.maira .mr-card-price ins,
body.maira .mr-card-price > .woocommerce-Price-amount{
  text-decoration:none;font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:18px;color:var(--tz-ink)
}
body.maira .mr-card-price del{color:#A8968A;font-size:12.5px;font-weight:400;opacity:1;order:2}
body.maira .mr-card-actions{width:100%;display:flex;flex-direction:column;gap:7px;margin-top:4px}
body.maira .mr-card-actions .mr-btn{width:100%;min-height:40px;padding:10px 12px;font-size:11.5px;letter-spacing:.14em}
body.maira .mr-card-actions .mr-btn-order{background:var(--tz-ink);color:#fff}
body.maira .mr-card-actions .mr-btn-order:hover{background:var(--tz-rose-d)}
body.maira .mr-card-actions .mr-btn-ghost{
  background:transparent;border:1px solid var(--tz-line);color:var(--tz-ink-2);box-shadow:none;
}
body.maira .mr-card-actions .mr-btn-ghost:hover{border-color:var(--tz-rose);color:var(--tz-rose-d);background:#FFF6F2}
body.maira .mr-card.is-out .mr-card-media img{filter:grayscale(.35);opacity:.75}
@media (max-width:640px){
  body.maira .mr-card{border-radius:14px}
  body.maira .mr-card-media{margin:6px 6px 0;border-radius:10px}
  body.maira .mr-card-body{padding:10px 8px 12px;gap:6px}
  body.maira .mr-card-title{font-size:12.5px}
  body.maira .mr-card-price ins,body.maira .mr-card-price > .woocommerce-Price-amount{font-size:15.5px}
  body.maira .mr-card-actions .mr-btn{min-height:36px;font-size:10.5px;letter-spacing:.1em;padding:8px 6px}
}

/* ---- Trust bar ---------------------------------------------------------- */
body.maira .mr-trust{background:linear-gradient(180deg,#FBEDE6,#FDF4EE);border:0}
body.maira .mr-trust-grid{gap:16px}
body.maira .mr-trust-item{
  background:#fff;border:1px solid var(--tz-line);border-radius:16px;padding:18px;gap:14px;
  box-shadow:0 10px 24px -20px rgba(160,90,60,.4);
}
body.maira .mr-trust-ico{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;
  background:linear-gradient(135deg,#FBE3D8,#F6CDB9);color:var(--tz-rose-d);
}
body.maira .mr-trust-txt b{font-family:'Playfair Display',Georgia,serif;font-size:15.5px;color:var(--tz-ink)}
body.maira .mr-trust-txt small{color:var(--tz-ink-2)}
@media (max-width:640px){
  body.maira .mr-trust-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  body.maira .mr-trust-item{flex-direction:column;text-align:center;padding:14px 10px;gap:8px}
  body.maira .mr-trust-txt b{font-size:13.5px}
  body.maira .mr-trust-txt small{font-size:11px}
}

/* ---- Shop by occasion --------------------------------------------------- */
body.maira .tz-occ-grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
body.maira .tz-occ-grid.is-1{grid-template-columns:1fr}
body.maira .tz-occ-grid.is-2{grid-template-columns:repeat(2,1fr)}
body.maira .tz-occ{
  position:relative;display:block;border-radius:22px;overflow:hidden;aspect-ratio:4/5;background:#F7EFE9;
  box-shadow:0 20px 44px -26px rgba(120,60,40,.55);
}
body.maira .tz-occ-grid.is-1 .tz-occ{aspect-ratio:16/7}
body.maira .tz-occ img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--tz-ease)}
body.maira .tz-occ:hover img{transform:scale(1.06)}
body.maira .tz-occ::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(28,21,16,.72))}
body.maira .tz-occ-text{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;color:#fff;text-align:center;display:flex;flex-direction:column;gap:4px}
body.maira .tz-occ-text small{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;opacity:.9}
body.maira .tz-occ-text b{font-family:'Playfair Display',Georgia,serif;font-size:26px;font-weight:600;line-height:1.15}
body.maira .tz-occ-text em{font-style:normal;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;margin-top:6px;opacity:.9}
@media (max-width:760px){
  body.maira .tz-occ-grid,body.maira .tz-occ-grid.is-2{grid-template-columns:1fr;gap:14px}
  body.maira .tz-occ{aspect-ratio:16/10}
  body.maira .tz-occ-text b{font-size:22px}
}

/* ---- Brand story -------------------------------------------------------- */
body.maira .tz-story{background:linear-gradient(135deg,#FDF4EE 0%,#FBE8DD 100%)}
body.maira .tz-story-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
body.maira .tz-story-media{position:relative}
body.maira .tz-story-media img{width:100%;border-radius:26px;aspect-ratio:4/5;object-fit:cover;box-shadow:0 30px 60px -30px rgba(120,60,40,.55)}
body.maira .tz-story-media::before{
  content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--tz-gold);border-radius:30px;z-index:0;
}
body.maira .tz-story-media img{position:relative;z-index:1}
body.maira .tz-story.no-img .tz-story-media{display:grid;place-items:center}
body.maira .tz-story.no-img .tz-story-media::before{display:none}
body.maira .tz-story.no-img .tz-story-media img.tz-story-logo{width:min(320px,80%);aspect-ratio:1;border-radius:50%;object-fit:cover}
body.maira .tz-story-text h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(28px,4vw,44px);line-height:1.12;margin:10px 0 16px;color:var(--tz-ink)}
body.maira .tz-story-text h2 em{color:var(--tz-rose-d);font-weight:500}
body.maira .tz-story-text p{color:var(--tz-ink-2);font-size:15.5px;line-height:1.8;margin:0 0 18px;max-width:520px}
body.maira .tz-story-points{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
body.maira .tz-story-points li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--tz-ink)}
body.maira .tz-story-points svg{color:var(--tz-rose-d);flex-shrink:0}
body.maira .tz-story-btns{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
body.maira .tz-story-btns .mr-btn{width:auto;flex:0 0 auto;padding:14px 30px;border-radius:999px}
body.maira .tz-link{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tz-ink);border-bottom:1px solid var(--tz-rose);padding-bottom:3px}
@media (max-width:760px){
  body.maira .tz-story-inner{grid-template-columns:1fr;gap:30px;text-align:center}
  body.maira .tz-story-media{max-width:420px;margin:0 auto}
  body.maira .tz-story-text p{margin-inline:auto}
  body.maira .tz-story-points{justify-items:center}
  body.maira .tz-story-btns{justify-content:center}
}

/* ---- Reviews ------------------------------------------------------------ */
body.maira .mr-review{
  background:#fff;border:1px solid var(--tz-line);border-radius:20px;padding:26px 22px 20px;position:relative;
  box-shadow:0 14px 30px -24px rgba(160,90,60,.45);
}
body.maira .mr-review::before{
  content:"\201C";position:absolute;top:-6px;left:18px;font-family:'Playfair Display',Georgia,serif;
  font-size:72px;line-height:1;color:#F2C4AC;
}
body.maira .mr-review blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;line-height:1.55;color:var(--tz-ink);margin:10px 0 12px}
body.maira .mr-review-stars{color:var(--tz-gold)}
@media (max-width:640px){
  body.maira .mr-review-scroll{grid-auto-columns:86%}
  body.maira .mr-review-scroll > .mr-review{scroll-snap-align:center}
  body.maira .mr-review blockquote{font-size:16.5px}
}
body.maira .mr-review-ini{background:linear-gradient(135deg,#FBE3D8,#F2C4AC);color:var(--tz-rose-d)}

/* ---- Follow us ---------------------------------------------------------- */
body.maira .tz-social{text-align:center;background:radial-gradient(ellipse at top,#FBE3D8 0%,#FDF4EE 60%)}
body.maira .tz-social .mr-sec-title{margin:8px 0 10px}
body.maira .tz-social p{color:var(--tz-ink-2);max-width:520px;margin:0 auto 24px;font-size:15px}
body.maira .tz-social-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
body.maira .tz-social-btns a{
  display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:999px;background:#fff;
  border:1px solid var(--tz-line);color:var(--tz-ink);font-size:13px;font-weight:600;
  box-shadow:0 8px 20px -14px rgba(160,90,60,.5);transition:all .3s var(--tz-ease);
}
body.maira .tz-social-btns a:hover{background:var(--tz-ink);color:#fff;border-color:var(--tz-ink);transform:translateY(-3px)}
@media (max-width:640px){
  body.maira .tz-social-btns{display:grid;grid-template-columns:repeat(2,1fr);max-width:360px;margin:0 auto}
  body.maira .tz-social-btns a{justify-content:center;padding:11px 12px}
}

/* ---- Footer ------------------------------------------------------------- */
body.maira .mr-footer p,
body.maira .mr-footer-about{color:rgba(251,232,221,.78)}
body.maira .mr-footer{background:linear-gradient(180deg,#221913 0%,#170F0B 100%)}

/* ---- Scroll reveal (only when JS is on; respects reduced motion) -------- */
html.tz-js body.maira .tz-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--tz-ease),transform .8s var(--tz-ease)}
html.tz-js body.maira .tz-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html.tz-js body.maira .tz-reveal{opacity:1;transform:none;transition:none}
  body.maira .mr-card,body.maira .mr-cat,body.maira .tz-occ img{transition:none}
}

/* ==========================================================================
   TAZLYN LUXURY MOTION — v17
   Only transform / opacity / background-position are animated, so it stays
   smooth on mid-range phones. Everything is behind body.tz-anim (admin
   toggle) and switched off for visitors who ask for reduced motion.
   ========================================================================== */
@media (prefers-reduced-motion: no-preference){

/* ---- keyframes ---------------------------------------------------------- */
@keyframes tz-hero-settle{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes tz-sweep{0%{transform:translateX(-130%) skewX(-18deg)}22%,100%{transform:translateX(230%) skewX(-18deg)}}
@keyframes tz-shimmer{0%{background-position:0% 50%}100%{background-position:250% 50%}}
@keyframes tz-twinkle{0%,100%{opacity:.35;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(45deg)}}
@keyframes tz-glow{0%,100%{text-shadow:0 0 0 rgba(232,150,122,0)}50%{text-shadow:0 0 10px rgba(232,150,122,.9)}}
@keyframes tz-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes tz-ring{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.9);opacity:0}}
@keyframes tz-bump{0%{transform:scale(1)}30%{transform:scale(1.3) rotate(-8deg)}60%{transform:scale(.92) rotate(4deg)}100%{transform:scale(1)}}
@keyframes tz-drop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

/* ---- header ------------------------------------------------------------- */
body.tz-anim .mr-logo{animation:tz-drop .9s var(--tz-ease) both}
body.tz-anim .mr-header-actions{animation:tz-drop .9s .12s var(--tz-ease) both}
body.tz-anim .mr-logo img{transition:transform .45s var(--tz-ease)}
body.tz-anim .mr-header.is-stuck .mr-logo img{transform:scale(.88)}
body.tz-anim .mr-header{transition:box-shadow .4s ease,background-color .4s ease}
body.tz-anim .mr-header.is-stuck{box-shadow:0 10px 30px -18px rgba(120,60,40,.35)}

/* ---- hero: slow settle + a single gold light sweep every few seconds ---- */
body.tz-anim .mr-hero picture{
  position:relative;display:block;overflow:hidden;border-radius:28px;
  box-shadow:0 30px 70px -30px rgba(160,90,60,.45);isolation:isolate;
}
body.tz-anim .mr-hero picture img{box-shadow:none;animation:tz-hero-settle 2.2s var(--tz-ease) both}
body.tz-anim .mr-hero picture::after{
  content:"";position:absolute;top:0;bottom:0;left:0;width:38%;pointer-events:none;z-index:2;
  background:linear-gradient(100deg,transparent 0%,rgba(255,244,230,.0) 30%,rgba(255,244,230,.45) 50%,rgba(255,244,230,0) 70%,transparent 100%);
  animation:tz-sweep 8s 1.4s ease-in-out infinite;
}
@media (max-width:768px){ body.tz-anim .mr-hero picture{border-radius:18px} }

/* ---- headings: shimmering gold eyebrow + twinkling diamond ------------- */
body.tz-anim .tz-eyebrow{
  background:linear-gradient(90deg,#C9704F 0%,#E9B99A 25%,#C9A87C 50%,#E9B99A 75%,#C9704F 100%);
  background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:tz-shimmer 7s linear infinite;padding:2px 0;
}
body.tz-anim .mr-sec-head::after{animation:tz-glow 3.6s ease-in-out infinite}

/* ---- sparkles (tiny 4-point stars) ------------------------------------- */
body.tz-sparkle .mr-sec-head .mr-sec-title{position:relative}
body.tz-sparkle .mr-sec-head .mr-sec-title::after{
  content:"\2726";position:absolute;top:-8px;right:-20px;font-size:13px;color:var(--tz-gold);
  animation:tz-twinkle 2.8s ease-in-out infinite;
}
body.tz-sparkle .tz-spark{
  position:absolute;z-index:3;pointer-events:none;width:var(--s,14px);height:var(--s,14px);
  background:radial-gradient(circle,#fff 0 18%,rgba(255,236,214,.9) 30%,transparent 62%);
  clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);
  animation:tz-twinkle var(--d,3s) var(--delay,0s) ease-in-out infinite;
  filter:drop-shadow(0 0 4px rgba(255,230,200,.9));
}

/* ---- underline links grow ---------------------------------------------- */
body.tz-anim .mr-more,body.tz-anim .tz-link{
  border-bottom:0;padding-bottom:4px;
  background:linear-gradient(var(--tz-rose),var(--tz-rose)) left bottom/100% 1px no-repeat;
  transition:background-size .45s var(--tz-ease),color .3s,letter-spacing .35s;
}
@media (hover:hover){
  body.tz-anim .mr-more:hover,body.tz-anim .tz-link:hover{background-size:0 1px;background-position:right bottom;letter-spacing:.16em}
}

/* ---- buttons: soft light sweep on hover -------------------------------- */
body.tz-anim .mr-btn{position:relative;overflow:hidden;isolation:isolate}
body.tz-anim .mr-btn::after{
  content:"";position:absolute;top:0;bottom:0;left:0;width:45%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);
  transform:translateX(-160%) skewX(-18deg);
}
@media (hover:hover){
  body.tz-anim .mr-btn:hover::after{transform:translateX(320%) skewX(-18deg);transition:transform .85s var(--tz-ease)}
  body.tz-anim .mr-btn-order:hover{box-shadow:0 12px 24px -10px rgba(210,124,96,.7)}
}
body.tz-anim .mr-btn:active{transform:scale(.97)}

/* ---- cards & tiles: jewel shine across the photo on hover -------------- */
body.tz-anim .mr-card-media,body.tz-anim .mr-cat-img{position:relative;overflow:hidden}
body.tz-anim .mr-card-media::after,body.tz-anim .mr-cat-img::after{
  content:"";position:absolute;top:0;bottom:0;left:0;width:45%;z-index:2;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,250,240,.38),transparent);
  transform:translateX(-160%) skewX(-18deg);
}
@media (hover:hover){
  body.tz-anim .mr-card:hover .mr-card-media::after,
  body.tz-anim .mr-cat:hover .mr-cat-img::after{transform:translateX(330%) skewX(-18deg);transition:transform 1.1s var(--tz-ease)}
  body.tz-anim .mr-card:hover .mr-card-title a{color:var(--tz-rose-d)}
}
body.tz-anim .mr-card-title a{transition:color .3s}
body.tz-anim .mr-badge{transition:transform .35s var(--tz-ease)}
@media (hover:hover){ body.tz-anim .mr-card:hover .mr-badge{transform:translateY(-2px) scale(1.06)} }

/* ---- occasion banners: text lifts, arrow glides ------------------------ */
body.tz-anim .tz-occ-text{transition:transform .6s var(--tz-ease)}
body.tz-anim .tz-occ-text em{display:inline-block;transition:letter-spacing .5s var(--tz-ease),opacity .4s}
body.tz-anim .tz-occ::after{transition:opacity .6s}
@media (hover:hover){
  body.tz-anim .tz-occ:hover .tz-occ-text{transform:translateY(-8px)}
  body.tz-anim .tz-occ:hover .tz-occ-text em{letter-spacing:.3em;opacity:1}
}

/* ---- brand story: floating logo, framed photo drifts ------------------- */
body.tz-anim .tz-story.no-img .tz-story-logo{animation:tz-bob 6s ease-in-out infinite}
body.tz-anim .tz-story-media::before{transition:transform 1.2s var(--tz-ease)}
@media (hover:hover){ body.tz-anim .tz-story-media:hover::before{transform:translate(10px,-10px)} }
body.tz-anim .tz-story-media img{will-change:auto;transition:transform .2s linear}

/* ---- trust icons gently float, staggered ------------------------------- */
body.tz-anim .mr-trust-ico{animation:tz-bob 4.5s ease-in-out infinite}
body.tz-anim .mr-trust-item:nth-child(2) .mr-trust-ico{animation-delay:.6s}
body.tz-anim .mr-trust-item:nth-child(3) .mr-trust-ico{animation-delay:1.2s}
body.tz-anim .mr-trust-item:nth-child(4) .mr-trust-ico{animation-delay:1.8s}
body.tz-anim .mr-trust-item{transition:transform .45s var(--tz-ease),box-shadow .45s}
@media (hover:hover){ body.tz-anim .mr-trust-item:hover{transform:translateY(-4px);box-shadow:0 20px 34px -22px rgba(160,90,60,.5)} }

/* ---- social buttons ---------------------------------------------------- */
body.tz-anim .tz-social-btns a svg{transition:transform .45s var(--tz-ease)}
@media (hover:hover){ body.tz-anim .tz-social-btns a:hover svg{transform:rotate(-10deg) scale(1.15)} }

/* ---- WhatsApp: calm pulse ring ----------------------------------------- */
body.tz-anim .mr-float-wa{position:relative;overflow:visible}
body.tz-anim .mr-float-wa::before{
  content:"";position:absolute;inset:0;border-radius:inherit;background:#25D366;z-index:-1;
  animation:tz-ring 2.8s ease-out infinite;
}
body.tz-anim .mr-float-wa{animation:none}

/* ---- cart icon bounces when something is added ------------------------- */
body.tz-anim .mr-cart.tz-bump{animation:tz-bump .7s var(--tz-ease)}
body.tz-anim .mr-cart.tz-bump .mr-cart-n{background:var(--tz-rose-d)}

/* ---- scroll reveal: a touch of scale for depth ------------------------- */
html.tz-js body.tz-anim .tz-reveal{transform:translateY(26px) scale(.985)}
html.tz-js body.tz-anim .tz-reveal.is-in{transform:none}

/* ---- thin gold scroll-progress line under the header ------------------- */
body.tz-anim .tz-progress{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:9999;pointer-events:none;
  background:linear-gradient(90deg,#C9A87C,#E8967A,#C9A87C);transform-origin:0 50%;transform:scaleX(0);
}
body.admin-bar.tz-anim .tz-progress{top:32px}
@media (max-width:782px){ body.admin-bar.tz-anim .tz-progress{top:46px} }

} /* end reduced-motion guard */

/* Without the setting the reveal never hides content. */
body:not(.tz-anim) .tz-reveal{opacity:1 !important;transform:none !important}

/* Footer credit line */
body.maira .mr-credit{display:block;margin-top:6px;font-size:11.5px;color:rgba(251,232,221,.45)}
body.maira .mr-credit a{color:rgba(251,232,221,.6);transition:color .3s}
body.maira .mr-credit a:hover{color:var(--tz-rose)}

/* Shop grid fix
   WooCommerce ships a clearfix on ul.products (content:" ";display:table).
   The theme lays that list out with CSS grid, so those pseudo-elements become
   grid items and eat the first cell — which pushed the first row down to three
   products and left a blank space. Removing them restores four per row on
   desktop and leaves the responsive column counts untouched.
   Cards in this theme are <article class="mr-card">, so anything else that
   WooCommerce prints inside the list is made full width instead. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
ul.products::before,
ul.products::after{content:none;display:none}

/* The same stylesheet floats each card and gives it a 22% width, which is for
   WooCommerce's own float layout, not this grid. Cards fill their cell. */
.woocommerce ul.products > .product,
.woocommerce-page ul.products > .product,
ul.products > .mr-card{float:none;clear:none;width:auto;margin:0}

ul.products > .woocommerce-notices-wrapper,
ul.products > .woocommerce-result-count,
ul.products > .woocommerce-ordering,
ul.products > .woocommerce-info,
ul.products > .woocommerce-message{grid-column:1 / -1}

.woocommerce-notices-wrapper:empty{display:none}
