/* Trast Shop 1.3.0 — optional, reversible UI layer.  Remove by selecting classic in Admin > Settings.
   Covers presentation only; legacy bundle and business/payment logic are untouched. */
body.trast-modern {
  --accent:#d92e68;--ink:#201a20;--muted:#756d72;--bg:#fcfafb;--soft:#fbf3f5;--line:#eee6e9;
  --store-accent:#d92e68;--store-accent-hover:#bd2258;--store-border:#eee4e8;
  --ts-radius:16px;--ts-pill:999px;--ts-shadow:0 14px 34px rgba(52,23,40,.075);
  background:#fcfafb;color:#201a20;
}
.trast-modern :where(button,input,select,textarea){font-family:inherit}
.trast-modern :where(a,button,input,select,textarea):focus-visible{outline:2px solid #ba2158;outline-offset:3px}
.trast-modern .container{width:min(1240px,calc(100% - 48px))}
.trast-modern .section{padding-block:clamp(36px,4.8vw,62px)}
.trast-modern .shop-head{background:#f9f2f4!important;border-color:#f0e6eb!important;padding-block:18px!important}
.trast-modern .shop-head__row{min-height:48px!important;align-items:center}
.trast-modern .shop-head h1{font-size:clamp(1.25rem,2vw,1.7rem)!important;letter-spacing:-.025em}
/* Header: preserve existing destinations and order while polishing alignment. */
.trast-modern .site-header{background:rgba(255,255,255,.96);border-color:#eee7ea;backdrop-filter:blur(16px)}
.trast-modern .header-row{height:78px;gap:20px}
.trast-modern .brand{font-weight:900;letter-spacing:-.035em;white-space:nowrap}
.trast-modern .header-row nav{gap:17px}
.trast-modern .header-search{min-width:0}
.trast-modern .header-search input{border-radius:14px;border:1px solid #e5e0e4;background:#fff;min-height:48px}
.trast-modern .header-icon,.trast-modern .header-login{transition:color .18s,border-color .18s,background-color .18s;transform:none!important}
.trast-modern .header-icon:hover,.trast-modern .header-login:hover{color:#cb255e}
/* Section headings: precise title/icon/divider/action alignment. */
.trast-modern .section-head:has(>a){display:grid;grid-template-columns:minmax(0,max-content) minmax(16px,1fr) max-content;gap:14px;align-items:center}
.trast-modern .section-head:has(>a)::before{content:"";grid-column:2;grid-row:1;border-block-start:1px solid #e7e0e4;align-self:center}
.trast-modern .section-head:has(>a)>:first-child{grid-column:1;grid-row:1;min-width:0}
.trast-modern .section-head:has(>a)>a{grid-column:3;grid-row:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;color:#5e5058;font-weight:700;font-size:.83rem;line-height:1.5;margin:0;min-height:34px}
.trast-modern .section-head:has(>a)>a:hover{color:#cd2a62}
.trast-modern .section-head:has(>a)>a .ui-icon{width:17px;height:17px;vertical-align:middle}
.trast-modern .section-head h2{font-size:clamp(1.15rem,2vw,1.65rem)!important;line-height:1.55;letter-spacing:-.025em}
.trast-modern .icon-heading{display:inline-flex;align-items:center;gap:9px;vertical-align:middle}
.trast-modern .icon-heading .ui-icon{width:21px;height:21px;flex:none;color:#da2c69}
.trast-modern .home-category-section,.trast-modern .home-products-section{padding-block:36px!important}
.trast-modern .category-choice{padding:16px 8px;gap:10px;min-height:115px;border-radius:17px;background:#fff}
.trast-modern .category-choice__symbol{width:51px;height:51px;border-radius:16px}
.trast-modern .category-choice:hover{transform:none!important;background:#fff8fa;border-color:#e6adc0}
/* The entire product card becomes a compact, consistent component. */
.trast-modern .product-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.trast-modern .shop-results .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.trast-modern .product-card--modern{min-width:0;overflow:visible!important;height:100%;display:flex;flex-direction:column;gap:0;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;transform:none!important;isolation:isolate}
.trast-modern .product-card--modern:hover{transform:none!important;box-shadow:none!important}
.trast-modern .product-card__visual{position:relative;isolation:isolate;min-width:0;aspect-ratio:1 / 1.03;border:1px solid #f0e9ec;border-radius:18px;overflow:hidden;background:#f9f8f9;transition:border-color .2s,box-shadow .2s}
.trast-modern .product-card--modern:hover .product-card__visual,.trast-modern .product-card--modern:focus-within .product-card__visual{border-color:#e9bed0;box-shadow:var(--ts-shadow)}
.trast-modern .product-card--modern .product-image{width:100%;height:100%;aspect-ratio:auto;display:grid;place-items:center;position:static;background:transparent;padding:17px 14px 20px;border-radius:inherit}
.trast-modern .product-card--modern .product-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;aspect-ratio:auto;background:transparent;mix-blend-mode:multiply}
.trast-modern .product-card__placeholder .ui-icon{width:54px;height:54px;color:#c1b4bb}
.trast-modern .product-card__discount{position:absolute;z-index:3;inset-block-start:10px;inset-inline-start:10px;background:#db2a66;color:white;border-radius:999px;padding:3px 8px;font-size:.65rem;line-height:1.7;font-style:normal;font-weight:800}
.trast-modern .product-card__tools{position:absolute;z-index:4;inset-block-start:10px;inset-inline-end:10px;display:grid;gap:2px;border-radius:12px;padding:5px;background:rgba(255,255,255,.98);border:1px solid #f0eaed;box-shadow:0 7px 19px #21101d0c;opacity:0;visibility:hidden;transition:opacity .17s,visibility .17s}
.trast-modern .product-card--modern:is(:hover,:focus-within) .product-card__tools{opacity:1;visibility:visible}
.trast-modern .product-card__tools form{position:static!important;inset:auto!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;display:block!important}
.trast-modern .product-card__tools button,.trast-modern .product-card__tool{display:grid!important;place-items:center;width:34px!important;height:34px!important;border:0!important;background:transparent!important;color:#63535b!important;border-radius:9px!important;padding:7px!important;margin:0!important;min-width:0!important;min-height:0!important;box-shadow:none!important;transition:color .2s,background-color .2s!important;transform:none!important}
.trast-modern .product-card__tools .ui-icon{width:19px!important;height:19px!important}
.trast-modern .product-card__tools .heart-container .svg-container{width:21px;height:21px}
.trast-modern .product-card__tools .heart-container svg{width:21px;height:21px}
.trast-modern .product-card__tools button:hover,.trast-modern .product-card__tool:hover{background:#fff0f5!important;color:#d72867!important}
.trast-modern .product-card__quick-buy{position:absolute;inset-inline:0;bottom:0;z-index:3;margin:0;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s}
.trast-modern .product-card--modern:is(:hover,:focus-within) .product-card__quick-buy{opacity:1;visibility:visible}
.trast-modern .product-card__quick-buy button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;border:0;background:#d82d68;color:#fff;font-weight:800;font-size:.81rem;line-height:1.45;border-radius:0 0 17px 17px;cursor:pointer;transition:background-color .18s;transform:none!important}
.trast-modern .product-card__quick-buy button:hover{background:#bd2258}
.trast-modern .product-card__quick-buy .ui-icon{width:17px;height:17px}
.trast-modern .product-card__unavailable{position:absolute;bottom:10px;inset-inline-start:10px;z-index:2;border-radius:8px;padding:4px 9px;background:#fff;color:#9e606b;font-size:.68rem;font-weight:800}
.trast-modern .product-card--modern .product-meta{display:flex;flex-direction:column;gap:6px;padding:11px 5px 4px!important;min-height:0!important;text-align:center;flex:1}
.trast-modern .product-card--modern .product-meta h3{margin:0!important;min-height:0!important;font-weight:750;font-size:.83rem!important;line-height:1.75;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.trast-modern .product-card__price{margin-top:auto;display:flex;align-items:baseline;justify-content:center;gap:7px;flex-wrap:wrap}
.trast-modern .product-card__price strong{font-size:.89rem;white-space:nowrap;font-weight:850;color:#d72d65;line-height:1.55}
.trast-modern .product-card__price del{font-size:.71rem;color:#afa4a8}
.trast-modern .home-product-rail{gap:16px}
.trast-modern .related-grid>*{flex-basis:calc((100% - 64px)/5);min-width:0}
/* Product page — same skeleton, shorter aligned gallery, calmer detail typography. */
.trast-modern .product-section{padding-block:25px 36px}
.trast-modern .breadcrumbs{margin-bottom:20px;color:#93838b;font-size:.76rem}
.trast-modern .product-showcase{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(18px,3vw,38px)!important;align-items:stretch!important}
.trast-modern .product-gallery-panel{min-height:0!important;max-height:none!important;align-self:stretch;justify-content:flex-start;border:1px solid #eee8eb;border-radius:23px;background:#f9f8f9;padding:15px!important;overflow:hidden}
.trast-modern .product-main-image{width:100%;height:100%!important;max-height:none;min-height:0;flex:1 1 0;object-fit:contain!important;mix-blend-mode:multiply}
.trast-modern .product-thumbnails{display:flex;gap:10px;overflow:auto;flex:none;margin-top:10px;max-height:76px}
.trast-modern .product-thumbnails button{width:66px;height:66px;flex:0 0 66px;border-radius:12px;background:#fff}
.trast-modern .product-thumbnails img{width:100%;height:100%;max-height:58px;object-fit:contain}
.trast-modern .product-summary{min-width:0;padding-block:10px!important;justify-content:center}
.trast-modern .product-summary h1{font-size:clamp(1.4rem,2.3vw,2rem)!important;line-height:1.65!important;margin-block:12px 6px;letter-spacing:-.02em}
.trast-modern .product-feature-list{font-size:.9rem;line-height:1.95;gap:7px}
.trast-modern .product-price{margin-top:12px!important}
.trast-modern .product-buy{display:grid;grid-template-columns:minmax(0,126px) minmax(0,1fr);align-items:end;gap:12px;border:1px solid #efe5e9;border-radius:17px;padding:14px;min-width:0}
.trast-modern .product-buy .product-quantity{display:grid;grid-template-rows:18px 50px;gap:7px;min-width:0;margin:0}
.trast-modern .product-buy input[type="number"]{height:50px;width:100%;padding-inline:10px;border:1px solid #e9e0e4;border-radius:12px;box-sizing:border-box}
.trast-modern .product-buy>.primary{display:flex;align-items:center;justify-content:center;height:50px;min-height:50px;width:100%;padding:0 14px!important;border-radius:12px;margin:0;box-sizing:border-box;transform:none!important}
.trast-modern .product-buy>label:not(.product-quantity){grid-column:1 / -1}
.trast-modern .product-utility-actions{display:flex;flex-wrap:wrap;gap:8px}
.trast-modern .product-benefits{margin-top:22px!important;border-top:1px solid #efe7ea}
.trast-modern .product-benefits>div{min-width:0}
.trast-modern .product-benefits b{font-size:.72rem!important}
.trast-modern .product-information,.trast-modern .product-reviews-section,.trast-modern .related-products{border-top:1px solid #e8e1e5}
.trast-modern .related-products{padding-block:34px!important}
/* Forms/cart/filters: single consistent geometry. */
.trast-modern :where(.filters,.cart-items,.order-summary,.account-box,.review-card,.review-list){border-color:#ede5e9;border-radius:20px}
.trast-modern :where(input,select,textarea){min-width:0}
.trast-modern .sort select{height:44px;padding-block:0;min-width:142px;border-radius:12px;background-position:left 14px center}
.trast-modern .cart-items>.btn{margin-block-start:19px!important;min-height:43px}
.trast-modern .cart-item input[type=number]{height:44px;text-align:center}
.trast-modern .blog-tile:hover{transform:none!important}
.trast-modern .section-head h2 .ui-icon{width:22px;height:22px}
/* One dialog title only, one scroll surface, hidden decorative scrollbars. */
.trast-modern .commerce-modal[open]{display:flex;flex-direction:column;width:min(840px,calc(100% - 26px));max-height:min(88dvh,880px);padding:0;overflow:hidden;border-radius:22px;background:#fff;border:1px solid #e8dfe4}
.trast-modern .commerce-modal__header{position:relative;top:auto;flex:0 0 auto;padding:18px 22px;margin:0;min-height:70px;background:#fff;z-index:1;border-bottom:1px solid #f0e8ec}
.trast-modern .commerce-modal__header h2{font-size:1.16rem}
.trast-modern .commerce-modal [data-commerce-content]{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:17px 23px 25px}
.trast-modern .commerce-modal [data-commerce-content]::-webkit-scrollbar{display:none}
.trast-modern .commerce-modal [data-commerce-content]>.shop-head{display:none!important}
.trast-modern .commerce-modal .section{padding:0!important}
.trast-modern .commerce-modal .section-head{margin:0 0 12px;min-height:0}
.trast-modern .commerce-modal .section-head span{font-size:.82rem;color:#8a7f83}
.trast-modern .commerce-modal .empty-store{padding:48px 14px;min-height:270px;border-radius:18px}
.trast-modern .commerce-modal .cart-layout{gap:15px;align-items:start}
.trast-modern .commerce-modal .cart-items,.trast-modern .commerce-modal .order-summary{padding:15px}
.trast-modern .commerce-modal .cart-items>.btn{margin-top:17px!important}
.trast-modern .commerce-modal .compare-grid{padding-block:4px 12px}
.trast-modern .commerce-modal .compare-grid article{border-radius:16px}
/* Responsive foundations, touch access, safe area and no layout jumps. */
@media(max-width:1050px){
 .trast-modern .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .trast-modern .shop-results .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .trast-modern .related-grid>*{flex-basis:calc((100% - 36px)/3)}
}
@media(max-width:760px){
 .trast-modern .container{width:min(100% - 26px,1240px)}
 .trast-modern .section{padding-block:29px}
 .trast-modern .section-head{gap:9px;margin-bottom:17px}
 .trast-modern .section-head:has(>a){gap:9px;grid-template-columns:minmax(0,max-content) minmax(8px,1fr) max-content}
 .trast-modern .section-head h2{font-size:1.04rem!important}
 .trast-modern .section-head:has(>a)>a{font-size:.73rem;min-height:34px}
 .trast-modern .section-head:has(>a)>a .ui-icon{width:15px;height:15px}
 .trast-modern .icon-heading{gap:6px}.trast-modern .icon-heading .ui-icon{width:18px;height:18px}
 .trast-modern .home-category-section,.trast-modern .home-products-section{padding-block:25px!important}
 .trast-modern .product-grid,.trast-modern .shop-results .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .trast-modern .home-product-rail{display:flex!important;overflow-x:auto;gap:11px;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:none}
 .trast-modern .home-product-rail .product-card--modern{flex:0 0 clamp(150px,43vw,195px);max-width:195px;min-width:0;scroll-snap-align:start}
 .trast-modern .product-card__tools{opacity:1;visibility:visible;box-shadow:none;padding:2px;inset-block-start:6px;inset-inline-end:6px;gap:0;background:rgba(255,255,255,.92)}
 .trast-modern .product-card__tools .product-card__compare,.trast-modern .product-card__tools>a{display:none!important}
 .trast-modern .product-card__tools .heart-container{width:30px!important;height:30px!important;padding:5px!important}
 .trast-modern .product-card__quick-buy{position:relative;opacity:1;visibility:visible;inset:auto;bottom:auto}
 .trast-modern .product-card__visual{display:flex;flex-direction:column;aspect-ratio:auto}
 .trast-modern .product-card--modern .product-image{height:clamp(145px,42vw,195px);padding:13px;flex:none}
 .trast-modern .product-card__quick-buy button{height:37px;font-size:.72rem;border-radius:0 0 17px 17px}
 .trast-modern .product-card--modern .product-meta{padding:9px 3px 3px!important;gap:6px}
 .trast-modern .product-card--modern .product-meta h3{font-size:.76rem!important}
 .trast-modern .product-card__price strong{font-size:.78rem}.trast-modern .product-card__price del{font-size:.66rem}
 .trast-modern .related-grid>*{flex:0 0 clamp(150px,44vw,195px)}
 .trast-modern .product-section{padding-top:12px}
 .trast-modern .product-showcase{display:flex!important;flex-direction:column;gap:17px!important}
 .trast-modern .product-gallery-panel{max-height:440px!important;min-height:0!important;align-self:stretch}
 .trast-modern .product-main-image{height:clamp(230px,65vw,335px)!important;max-height:335px!important;flex:0 0 auto}
 .trast-modern .product-summary{padding:0!important}
 .trast-modern .product-summary h1{font-size:1.45rem!important}
 .trast-modern .product-benefits{margin-top:18px!important}
 .trast-modern .mobile-bottom-nav{border-color:#eee2e8;background:#fffffff2;backdrop-filter:blur(16px)}
 .trast-modern .mobile-bottom-nav a{min-width:0}
 .trast-modern .mobile-product-purchase{bottom:calc(68px + env(safe-area-inset-bottom,0px))!important}
 .trast-modern .commerce-modal[open]{width:calc(100% - 16px);max-height:calc(100dvh - 20px);border-radius:17px}
 .trast-modern .commerce-modal__header{padding:13px 16px;min-height:58px}
 .trast-modern .commerce-modal [data-commerce-content]{padding:13px 14px calc(16px + env(safe-area-inset-bottom,0px))}
 .trast-modern .commerce-modal .cart-item{grid-template-columns:60px minmax(0,1fr) 68px;gap:10px}
 .trast-modern .commerce-modal .cart-item img{max-width:60px;max-height:60px}
}
@media(max-width:350px){
 .trast-modern .container{width:calc(100% - 20px)}
 .trast-modern .section-head h2{font-size:.94rem!important}
 .trast-modern .product-card--modern .product-image{height:142px}
 .trast-modern .product-card__quick-buy button{font-size:.68rem}
 .trast-modern .product-buy{gap:7px;grid-template-columns:88px minmax(0,1fr)}
 .trast-modern .product-buy .primary{font-size:.79rem;padding-inline:5px!important}
}
@media(prefers-reduced-motion:reduce){
 .trast-modern .product-card__visual,.trast-modern .product-card__tools,.trast-modern .product-card__quick-buy{transition:none!important}
}

/* Uniform non-shifting hover behavior for all interactive cards. */
.trast-modern :where(.blog-tile,.category-choice,.product-card--modern,.related-products .product-card--modern,.product-utility-actions a,.product-utility-actions button):hover{transform:none!important}
