/* Maia — modern UI layer. Loaded last; restyles surfaces, controls and popups without touching layout grids. */
:root{--m-accent:#ff5722;--m-accent-deep:#e8430f;--m-accent-soft:#fff1eb;--m-ink:#171614;--m-muted:#6f6962;--m-line:#ebe6df;--m-surface:#fff;--m-radius-sm:10px;--m-radius:14px;--m-radius-lg:20px;--m-ease:cubic-bezier(.2,.7,.2,1);--m-shadow-sm:0 1px 2px rgba(23,22,20,.06),0 2px 8px rgba(23,22,20,.05);--m-shadow:0 2px 6px rgba(23,22,20,.05),0 12px 32px rgba(23,22,20,.10);--m-shadow-lg:0 4px 12px rgba(23,22,20,.06),0 24px 60px rgba(23,22,20,.16);--m-ring:0 0 0 4px rgba(255,87,34,.16)}
::selection{background:var(--m-accent);color:#fff}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--m-accent);outline-offset:2px}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* Utility bar */
.utility-bar{border-bottom:1px solid var(--m-line);letter-spacing:.01em}

/* Header shell */
.maia-header{background:var(--m-surface);box-shadow:0 1px 0 var(--m-line)}
.maia-logo img{transition:transform .5s var(--m-ease)}
.maia-logo:hover img{transform:rotate(-8deg) scale(1.06)}

/* Browse Categories button */
.category-button{border-radius:var(--m-radius);background:linear-gradient(135deg,#ff6a3d,var(--m-accent) 55%,var(--m-accent-deep));box-shadow:0 6px 18px rgba(255,87,34,.28),inset 0 1px 0 rgba(255,255,255,.22);letter-spacing:.02em;transition:transform .25s var(--m-ease),box-shadow .25s var(--m-ease),filter .25s}
.category-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(255,87,34,.34),inset 0 1px 0 rgba(255,255,255,.22)}
.category-button:active{transform:translateY(0)}
.category-button.is-open{background:var(--m-accent-deep);box-shadow:inset 0 2px 6px rgba(0,0,0,.18)}

/* Search bar */
.search-bar{border:1px solid var(--m-line);border-radius:999px;background:var(--m-surface);box-shadow:var(--m-shadow-sm);transition:border-color .2s,box-shadow .25s var(--m-ease)}
.search-bar:hover{border-color:#ddd5ca}
.search-bar:focus-within{border-color:var(--m-accent);box-shadow:var(--m-ring),var(--m-shadow-sm)}
.search-bar>span{padding-left:22px;border-right-color:var(--m-line);font-weight:500;transition:color .2s}
.search-bar>span:hover{color:var(--m-accent)}
.search-bar input{background:transparent;font-size:14px;color:var(--m-ink)}
.search-bar input::placeholder{color:#9a938a}
.search-bar>img{width:20px;height:20px;transition:transform .2s var(--m-ease)}
.search-bar>img:hover{transform:scale(1.12)}

/* Account / wishlist / cart cluster — pill sizes to its content instead of the fixed 210/180/155px column */
@media(min-width:801px){
  .commerce-row{grid-template-columns:180px 220px minmax(320px,1fr) auto}
  .commerce-row .header-tools{width:auto;padding:0 20px 0 8px;gap:18px;border:1px solid var(--m-line);border-radius:999px;background:#fbfaf8}
}
@media(min-width:801px) and (max-width:1280px){.commerce-row{grid-template-columns:170px 195px minmax(280px,1fr) auto}.commerce-row .header-tools{gap:15px}}
@media(min-width:801px) and (max-width:1050px){.commerce-row{grid-template-columns:165px 190px minmax(240px,1fr) auto}.commerce-row .header-tools{padding:0 16px 0 6px;gap:12px}}
@media(min-width:801px) and (max-width:900px){.commerce-row{grid-template-columns:160px minmax(0,1fr) auto}}
.customer-auth-links{gap:2px}
.customer-auth-links a,.customer-auth-links a:first-child{border:0;border-radius:999px;font-weight:500;transition:color .2s,background .2s}
.customer-auth-links a:hover{background:var(--m-accent-soft)}
.icon-tool img,.wishlist-tool img,.cart-tool img{transition:transform .25s var(--m-ease)}
.icon-tool:hover img,.wishlist-tool:hover img,.cart-tool:hover img{transform:translateY(-2px)}
.tool-count,.cart-count{box-shadow:0 0 0 2px #fff,0 3px 8px rgba(255,87,34,.35);font-weight:700}

/* Navigation */
.nav-shell{background:#fbfaf8;border-top-color:var(--m-line)}
@media(min-width:801px){
  .main-nav a,.nav-mega>a{background:linear-gradient(var(--m-accent),var(--m-accent)) no-repeat 0 100%/0 2px;transition:color .2s,background-size .35s var(--m-ease)}
  .main-nav a:hover,.main-nav a.active,.nav-mega>a:hover{background-size:100% 2px;color:var(--m-accent)}
  .main-nav .mega-category{background:none}
  .mega-menu{border:1px solid var(--m-line)!important;border-radius:var(--m-radius-lg)!important;box-shadow:var(--m-shadow-lg)!important;overflow:hidden}
  .mega-category img{border-radius:var(--m-radius);transition:transform .4s var(--m-ease)}
  .mega-category:hover img{transform:scale(1.05)}
}
.promo-nav .promo-link{padding:6px 12px;border-radius:999px;transition:background .2s,color .2s}
.promo-nav .promo-link:hover{background:var(--m-accent-soft);color:var(--m-accent)}
.promo-nav .recent-link{border-radius:0}
.promo-nav .recent-link:hover{background:none}

/* Header popups */
.category-popup,.search-category-popup{border:1px solid var(--m-line);border-radius:var(--m-radius-lg);box-shadow:var(--m-shadow-lg);transform:translateY(8px) scale(.98);transform-origin:top left;transition:opacity .2s,visibility .2s,transform .25s var(--m-ease)}
.category-popup.is-open,.search-category-popup.is-open{transform:none}
.category-popup{padding:8px}
.category-popup a{min-height:42px;padding:0 12px;border:0;border-radius:var(--m-radius-sm);letter-spacing:.12em;transition:background .15s,color .15s,padding .2s var(--m-ease)}
.category-popup a:hover{background:var(--m-accent-soft);padding-left:16px}
.search-category-popup{padding:8px;scrollbar-width:thin;scrollbar-color:#d9d2c8 transparent}
.search-category-popup a{padding:10px 12px;border:0;border-radius:var(--m-radius-sm);transition:background .15s,color .15s}
.search-category-popup a:hover{background:var(--m-accent-soft)}

/* Buttons */
.maia-button,.checkout-button,.wishlist-to-cart{border-radius:999px;font-weight:600;letter-spacing:.08em;box-shadow:0 6px 18px rgba(23,22,20,.14);transition:transform .25s var(--m-ease),box-shadow .25s var(--m-ease),background .2s,color .2s,border-color .2s}
.maia-button:hover,.checkout-button:hover,.wishlist-to-cart:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,22,20,.2)}
.maia-button:active,.checkout-button:active,.wishlist-to-cart:active{transform:translateY(0)}
.hero-copy .maia-button{box-shadow:0 10px 30px rgba(255,87,34,.3)}
.view-all{border-radius:999px;background:var(--m-accent-soft);font-weight:600;transition:background .2s,color .2s,transform .25s var(--m-ease)}
.view-all:hover{background:var(--m-accent);color:#fff;transform:translateY(-2px)}
.newsletter input{border-radius:999px 0 0 999px;padding-left:24px}
.newsletter button{border-radius:0 999px 999px 0;font-weight:600;transition:background .2s}
.newsletter button:hover{background:var(--m-accent-deep)}
@media(max-width:800px){.newsletter input,.newsletter button{border-radius:999px}.newsletter button{margin-top:10px}}

/* Hero slider controls */
.hero-arrow{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--m-shadow);cursor:pointer;transition:background .2s,transform .25s var(--m-ease)}
.hero-arrow:hover{background:rgba(255,255,255,.4);transform:scale(1.06)}

/* Product cards */
.product-image,.deal-card .product-image,.post-image,.promo-card{border-radius:var(--m-radius-lg);overflow:hidden}
.product-card{transition:opacity .2s,transform .35s var(--m-ease)}
.product-card:hover{transform:translateY(-4px)}
.product-card:hover .product-image{box-shadow:var(--m-shadow)}
.product-image{transition:box-shadow .35s var(--m-ease)}
.product-badge{border-radius:999px;padding:5px 10px!important;font-weight:700!important}
.card-actions button,.product-hover-actions>button,.product-hover-actions>a{border-radius:999px!important;border-color:var(--m-line);box-shadow:var(--m-shadow-sm);transition:background .2s,border-color .2s,color .2s,transform .2s var(--m-ease)}
.card-actions button:hover,.product-hover-actions>button:hover,.product-hover-actions>a:hover{transform:translateY(-2px)}
.shop-results .card-actions>button{border-radius:999px!important;border-color:var(--m-line)!important}
.add-to-cart{border-radius:999px}
.product-tabs button{transition:color .2s,border-color .2s}
.product-tabs button:hover{color:var(--m-ink)}

/* Service band */
.promise-grid article{border-radius:var(--m-radius-lg);transition:background .25s,transform .3s var(--m-ease)}
.promise-grid article:hover{transform:translateY(-2px)}
.promise-icon{transition:transform .4s var(--m-ease)}
.promise-grid article:hover .promise-icon{transform:scale(1.08) rotate(-4deg)}

/* Mini cart + toast */
.nx-mini-cart{border-radius:var(--m-radius-lg);border-color:var(--m-line);box-shadow:var(--m-shadow-lg);overflow:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .22s,visibility .22s,transform .28s var(--m-ease)}
.nx-mini-cart.is-open{transform:none}
.nx-mini-cart__head button,.nx-mini-cart__item>button{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;transition:background .2s,color .2s}
.nx-mini-cart__head button:hover,.nx-mini-cart__item>button:hover{background:var(--m-accent-soft);color:var(--m-accent)}
.nx-mini-cart__image{border-radius:var(--m-radius-sm)}
.nx-mini-cart__footer{background:#fbfaf8;border-top:1px solid var(--m-line)}
.nx-mini-cart__footer>a{border-radius:999px;transition:background .2s,color .2s,transform .2s var(--m-ease)}
.nx-mini-cart__footer>a:hover{transform:translateY(-1px)}
.nx-mini-cart__footer>a:first-of-type:hover{background:var(--m-ink);color:#fff}
.nx-commerce-toast{border-radius:var(--m-radius);backdrop-filter:blur(8px)}

/* Product hover actions: one size token so every button is identical, scaled with the viewport. */
.product-hover-actions{--pha-size:clamp(32px,2.6vw,40px);--pha-icon:calc(var(--pha-size)*.45);top:clamp(10px,1.2vw,16px)!important;right:clamp(10px,1.2vw,16px)!important;gap:clamp(6px,.6vw,8px)!important;transform:translateX(8px)!important;align-items:center}
.product-card:hover .product-hover-actions,.product-card:focus-within .product-hover-actions{transform:none!important}
.product-hover-actions>button,.product-hover-actions>a{box-sizing:border-box;flex:0 0 auto;width:var(--pha-size)!important;min-width:0!important;height:var(--pha-size)!important;min-height:0!important;margin:0!important;padding:0!important;display:grid!important;place-items:center}
.product-hover-actions>button::before,.product-hover-actions>a::before{width:var(--pha-icon)!important;height:var(--pha-icon)!important;-webkit-mask-size:var(--pha-icon) var(--pha-icon)!important;mask-size:var(--pha-icon) var(--pha-icon)!important}
.product-hover-actions>button:hover,.product-hover-actions>a:hover{transform:scale(1.06)}
.deal-card .product-hover-actions{top:clamp(10px,1.2vw,16px)!important}
@media(max-width:800px){.product-hover-actions{opacity:1;visibility:visible;transform:none!important}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Floating compare shortcut */
.compare-float{position:fixed;left:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:#171717;color:#fff;text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 26px rgba(23,22,20,.25);transition:transform .25s ease,background .2s}
.compare-float[hidden]{display:none}
.compare-float:hover{transform:translateY(-2px);background:#ff5722}
.compare-float-icon{font-size:16px}
.compare-float .compare-count{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#ff5722;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.compare-float:hover .compare-count{background:#fff;color:#ff5722}
@media(max-width:600px){.compare-float{left:16px;bottom:16px;padding:10px 14px}}

/* Product card images: fill the square frame edge to edge, cropping any overflow */
.product-card .product-image{aspect-ratio:1/1;height:auto;background:#f4f2ee}
.product-card .product-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* Shop grid on mobile: two even columns, text that stays inside the card, one consistent alignment */
@media(max-width:800px){
  .shop-results .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
  .shop-results .product-card{min-width:0;text-align:left}
  .shop-results .product-card:hover{transform:none}
  .shop-results .product-copy{padding:12px 4px 0}
  .shop-results .product-copy>.price{margin-bottom:4px;font-size:15px!important;line-height:1.3;text-align:left}
  .shop-results .product-copy h3{margin:0 0 6px;font-size:14px;line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .shop-results .product-copy h3 a{color:inherit}
  .shop-results .rating{display:block;font-size:12px;line-height:1;letter-spacing:1px}
  .shop-results .product-badge{top:10px;left:10px;padding:4px 8px!important;font-size:9px!important;letter-spacing:1px}
  .shop-results .sale-badge+.product-badge{top:34px}
}
@media(max-width:380px){
  .shop-results .shop-grid{gap:22px 10px}
  .shop-results .product-copy h3{font-size:13px}
}

/* Product reviews: verified-buyer form, star picker and submit notices */
.summary-review-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
.summary-review-link:hover{color:var(--m-accent)}
.review-title{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--m-ink)}
.review-empty{margin:0 0 20px;color:var(--m-muted)}
.review-notice{margin:0 0 20px;padding:12px 16px;border-radius:var(--m-radius-sm);font-size:14px}
.review-notice.success{background:#eaf7ee;color:#17693a}
.review-notice.error{background:var(--m-accent-soft);color:var(--m-accent-deep)}
.review-form{display:grid;gap:16px;max-width:620px;margin-top:8px;padding:24px;border:1px solid var(--m-line);border-radius:var(--m-radius);background:var(--m-surface)}
.review-form h3{margin:0;font-size:20px}
.review-form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--m-ink)}
.review-form input[type=text],.review-form textarea{width:100%;box-sizing:border-box;padding:11px 13px;border:1px solid var(--m-line);border-radius:var(--m-radius-sm);font:inherit;font-weight:400;background:#fff;transition:border-color .2s,box-shadow .2s}
.review-form input[type=text]:focus,.review-form textarea:focus{border-color:var(--m-accent);box-shadow:var(--m-ring);outline:0}
.review-form textarea{resize:vertical;min-height:120px}
.review-stars{margin:0;padding:0;border:0}
.review-stars-label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--m-ink)}
.star-input{display:inline-flex;flex-direction:row-reverse;gap:4px}
.star-input input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.review-form .star-input label{display:block;font-size:30px;line-height:1;font-weight:400;color:#d9d3ca;cursor:pointer;transition:color .15s,transform .15s}
.star-input label:hover,.star-input label:hover~label,.star-input input:checked~label{color:#f6c600}
.star-input label:active{transform:scale(.9)}
.star-input input:focus-visible+label{outline:2px solid var(--m-accent);outline-offset:2px;border-radius:4px}
.review-submit{justify-self:start;padding:12px 26px;border:0;border-radius:999px;background:var(--m-accent);color:#fff;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .2s}
.review-submit:hover{background:var(--m-accent-deep)}
.tab-panel-note a{color:var(--m-accent);font-weight:600}
@media(max-width:600px){.review-form{padding:18px}.review-submit{justify-self:stretch}}
