:root { --navy:#0b2742; --navy-deep:#061b2e; --cream:#fbf5e9; --cream-dark:#efe5d3; --orange:#eb6b2d; --orange-dark:#c94d18; --ink:#14202a; --muted:#5f6a72; --line:rgba(11,39,66,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.site-header { min-height:88px; padding:14px clamp(24px,7vw,140px); background:#fff; display:flex; align-items:center; justify-content:space-between; gap:34px; position:sticky; top:0; z-index:30; box-shadow:0 8px 30px rgba(6,27,46,.08); }
.brand { display:flex; align-items:center; gap:11px; min-width:max-content; }
.brand-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:#fff; font-size:22px; font-weight:900; }
.brand strong { color:var(--navy); font-size:21px; letter-spacing:.08em; }
nav { display:flex; gap:clamp(18px,2.5vw,42px); color:#344552; font-weight:700; }
nav a { padding:12px 0; border-bottom:2px solid transparent; }
nav a:hover,nav a.active { color:var(--orange-dark); border-color:var(--orange); text-shadow:0 0 18px rgba(235,107,45,.28); }
.nav-contact { padding:16px 25px; border-radius:8px; background:var(--orange); color:#fff; font-weight:900; }

.hero { display:grid; grid-template-columns:1.08fr .92fr; min-height:790px; background:var(--navy-deep); }
.hero-copy { padding:clamp(68px,8vw,120px) clamp(30px,7vw,130px); color:#fff; background:radial-gradient(circle at 78% 16%,#183f5e 0,transparent 30%),linear-gradient(145deg,var(--navy-deep),var(--navy)); }
.hero-brand-card { width:max-content; display:flex; align-items:center; gap:14px; padding:16px 20px; margin-bottom:28px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); }
.hero-brand-card>span { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--orange); font-size:25px; font-weight:900; }
.hero-brand-card strong,.hero-brand-card small { display:block; }
.hero-brand-card strong { font-size:22px; letter-spacing:.1em; }.hero-brand-card small { margin-top:4px; color:#eebea8; letter-spacing:.18em; font-size:10px; }
.rating-pill { width:max-content; max-width:100%; margin:0 0 28px; padding:11px 17px; border-radius:99px; background:rgba(255,255,255,.13); color:#ffc18d; font-weight:800; }
.hero h1 { margin:0; font-size:clamp(48px,5.4vw,86px); line-height:1.08; letter-spacing:-.045em; }.hero h1 em { color:var(--orange); font-style:normal; }
.hero-copy h2 { margin:30px 0 0; font-size:25px; }.hero-copy>p:last-of-type { color:rgba(255,255,255,.75); font-size:18px; line-height:1.8; }
.hero-actions { display:flex; gap:14px; margin-top:35px; }.button { min-height:58px; padding:0 28px; display:inline-flex; align-items:center; justify-content:center; border-radius:7px; font-weight:900; }.primary { background:var(--orange); color:#fff; }.pale { background:var(--cream); color:var(--navy); }
.reservation { padding:clamp(46px,5vw,80px) clamp(28px,5vw,78px); background:#fff; display:grid; align-content:center; gap:17px; }
.reservation h2 { margin:0 0 8px; color:var(--navy); text-align:center; font-size:30px; }.reservation label { display:grid; gap:8px; color:var(--navy); font-weight:800; }
.reservation input,.reservation select,.reservation textarea { width:100%; padding:15px 17px; border:1px solid #d3dbe0; border-radius:7px; background:#fff; color:var(--ink); font-weight:400; }.reservation textarea { resize:vertical; }
.reservation button { min-height:58px; border:0; border-radius:7px; background:var(--orange); color:#fff; font-weight:900; cursor:pointer; }.reservation small { color:var(--muted); text-align:center; }

.local-intro { display:grid; grid-template-columns:.9fr 1.1fr; min-height:560px; background:var(--navy); color:#fff; }.local-intro-visual { display:grid; place-content:center; text-align:center; background:linear-gradient(145deg,var(--orange-dark),var(--orange)); }.local-intro-visual span { font-size:clamp(88px,11vw,170px); font-weight:900; line-height:.9; }.local-intro-visual small { margin-top:22px; font-size:17px; font-weight:800; letter-spacing:.08em; }.local-intro-copy { padding:clamp(65px,8vw,125px); display:flex; flex-direction:column; justify-content:center; }.local-intro-copy>p { margin:0 0 18px; color:#f4b18f; font-size:12px; font-weight:900; letter-spacing:.2em; }.local-intro-copy h2 { margin:0 0 25px; font-size:clamp(32px,4vw,52px); }.local-intro-copy strong { font-size:clamp(30px,4vw,57px); line-height:1.35; }.local-intro-copy span { max-width:680px; margin-top:30px; color:rgba(255,255,255,.75); font-size:18px; line-height:1.9; }

.section { padding:clamp(85px,10vw,145px) clamp(25px,8vw,150px); }
.center-heading { text-align:center; margin-bottom:62px; }.center-heading p { margin:0 0 12px; color:var(--orange-dark); font-size:12px; font-weight:900; letter-spacing:.18em; }.center-heading h2 { margin:0; color:var(--navy); font-size:clamp(36px,4vw,56px); }.center-heading span { display:block; margin-top:14px; color:var(--muted); font-size:18px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.service-grid article { min-height:240px; padding:36px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.25); }.service-grid b { color:var(--orange); }.service-grid h3 { color:var(--navy); font-size:24px; }.service-grid p { color:var(--muted); line-height:1.8; }

.why { background:#fff; }.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; margin-bottom:85px; }.stats div { text-align:center; }.stats span { display:block; color:var(--orange-dark); font-size:clamp(46px,5vw,72px); font-weight:900; line-height:1; }.stats small { display:block; margin-top:16px; color:var(--navy); font-weight:800; }
.reason-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:55px 40px; }.reason-grid article { text-align:center; }.reason-grid article>span { width:78px; height:78px; display:grid; place-items:center; margin:auto; border-radius:50%; background:var(--cream); color:var(--orange-dark); font-size:24px; font-weight:900; border:1px solid var(--cream-dark); }.reason-grid h3 { color:var(--navy); font-size:22px; }.reason-grid p { color:var(--muted); line-height:1.75; }

.cases { background:#f6f7f8; }.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }.case-grid article { background:#fff; box-shadow:0 10px 28px rgba(11,39,66,.07); }.case-placeholder { aspect-ratio:4/3; padding:25px; display:grid; place-content:center; gap:10px; text-align:center; background:linear-gradient(135deg,#e7edf0,#f9fbfc); color:#8a979f; border:2px dashed #bdc8ce; }.case-placeholder b { color:var(--orange); font-size:32px; }.case-grid h3,.case-grid p { margin-left:24px; margin-right:24px; }.case-grid h3 { color:var(--navy); margin-bottom:7px; }.case-grid p { margin-top:0; margin-bottom:24px; color:var(--muted); }

.products { background:#fff; text-align:center; }.product-grid { max-width:1120px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.product-grid article { padding:44px 28px; background:var(--cream); border:1px solid var(--cream-dark); border-radius:14px; }.product-grid article>span { width:72px; height:72px; margin:auto; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:#fff; font-size:23px; font-weight:900; }.product-grid h3 { margin:22px 0 10px; color:var(--navy); font-size:23px; }.product-grid p { margin:0; color:var(--muted); line-height:1.7; }.product-note { margin:34px 0 20px; color:var(--muted); }.product-cta { min-width:190px; min-height:56px; display:inline-grid; place-items:center; padding:0 28px; border-radius:8px; background:#1ba94c; color:#fff; font-weight:900; }

.reviews { background:#f2f4f5; }.review-carousel { position:relative; max-width:1260px; margin:auto; padding:60px 0; }.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.review-card { min-height:310px; padding:40px; background:#fff; border-radius:15px; box-shadow:0 14px 38px rgba(11,39,66,.08); display:flex; flex-direction:column; }.stars { color:#f59a0a; font-size:22px; letter-spacing:.08em; }.review-card>p { flex:1; color:#334753; font-size:17px; line-height:1.85; }.review-card footer { display:flex; align-items:center; gap:14px; }.review-card footer>span { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--cream); color:var(--orange-dark); font-weight:900; }.review-card footer strong,.review-card footer small { display:block; }.review-card footer strong { color:var(--navy); }.review-card footer small { margin-top:4px; color:var(--muted); }
.review-arrow { position:absolute; left:50%; z-index:2; width:48px; height:48px; margin-left:-24px; border:0; border-radius:50%; background:#fff; color:var(--navy); font-size:25px; cursor:pointer; box-shadow:0 8px 22px rgba(11,39,66,.16); }.review-arrow.up { top:0; }.review-arrow.down { bottom:0; }.review-arrow:hover { background:var(--orange); color:#fff; }.all-reviews { display:block; width:max-content; max-width:100%; margin:15px auto 0; color:var(--navy); font-weight:900; border-bottom:2px solid var(--orange); }

.faq { background:#fff; }.faq-list { max-width:1050px; margin:auto; display:grid; gap:18px; }.faq details { border-radius:7px; background:#f6f7f8; box-shadow:0 5px 14px rgba(11,39,66,.08); overflow:hidden; }.faq summary { min-height:86px; padding:0 30px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--navy); font-size:19px; font-weight:900; cursor:pointer; list-style:none; }.faq summary::-webkit-details-marker { display:none; }.faq summary span { font-size:26px; transition:transform .2s; }.faq details[open] summary span { transform:rotate(180deg); }.faq details p { margin:0; padding:0 30px 28px; color:var(--muted); line-height:1.9; }

.contact { padding:clamp(85px,10vw,140px) 25px; background:var(--navy); color:#fff; text-align:center; }.contact header p { color:#f4b18f; font-size:12px; font-weight:900; letter-spacing:.18em; }.contact header h2 { margin:10px 0; font-size:clamp(40px,5vw,62px); }.contact header span { color:rgba(255,255,255,.72); font-size:18px; }.contact-card { max-width:1040px; margin:45px auto 0; padding:40px; border-radius:14px; background:rgba(255,255,255,.1); }.contact-card h3 { margin:0 0 8px; font-size:clamp(36px,4vw,58px); }.contact-card p { margin:9px 0; color:rgba(255,255,255,.82); font-size:17px; }.contact-buttons { display:flex; justify-content:center; flex-wrap:wrap; gap:16px; margin-top:36px; }.contact-buttons a { min-width:190px; min-height:58px; display:grid; place-items:center; border-radius:8px; background:var(--orange); color:#fff; font-weight:900; }.contact-buttons .line { background:#1ba94c; }.contact-buttons .map { background:#fff; color:var(--navy); }
.site-footer { min-height:90px; padding:25px clamp(25px,8vw,150px); background:var(--navy-deep); color:rgba(255,255,255,.65); display:flex; align-items:center; gap:22px; }.site-footer strong { color:#fff; }.site-footer small { margin-left:auto; }.mobile-actions { display:none; }

@media (max-width:1000px) { nav { display:none; }.hero,.local-intro { grid-template-columns:1fr; }.local-intro-visual { min-height:360px; }.service-grid,.reason-grid,.case-grid { grid-template-columns:repeat(2,1fr); }.stats { grid-template-columns:repeat(2,1fr); }.review-grid { grid-template-columns:1fr; }.review-card:nth-child(n+2) { display:none; } }
@media (max-width:640px) { body { padding-bottom:62px; }.site-header { min-height:72px; padding:11px 18px; }.brand-mark { width:40px; height:40px; }.brand strong { font-size:17px; }.nav-contact { padding:12px 15px; font-size:14px; }.hero-copy { padding:64px 22px; }.hero h1 { font-size:45px; }.hero-copy h2 { font-size:20px; }.hero-actions { display:grid; }.button { width:100%; }.reservation { padding:55px 22px; }.local-intro-visual { min-height:290px; }.local-intro-copy { padding:60px 22px; }.section { padding:78px 20px; }.center-heading { margin-bottom:42px; }.center-heading h2 { font-size:38px; }.service-grid,.reason-grid,.case-grid,.product-grid { grid-template-columns:1fr; }.stats { gap:42px 15px; }.reason-grid { gap:40px; }.review-card { min-height:330px; padding:30px 25px; }.contact-card { padding:30px 18px; }.contact-card h3 { font-size:33px; }.contact-buttons { display:grid; }.site-footer { display:grid; gap:7px; }.site-footer small { margin:0; }.mobile-actions { position:fixed; left:0; right:0; bottom:0; z-index:50; height:62px; display:grid; grid-template-columns:1fr 1fr; box-shadow:0 -5px 20px rgba(0,0,0,.16); }.mobile-actions a { display:grid; place-items:center; background:var(--orange); color:#fff; font-weight:900; }.mobile-actions a+ a { background:#1ba94c; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

.store-photo { position:relative; height:clamp(330px,55vw,760px); margin:0; overflow:hidden; background:var(--navy-deep); }
.store-photo img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .8s ease,filter .5s ease; }
.store-photo:hover img { transform:scale(1.035); filter:saturate(1.08); }
.store-photo::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(6,27,46,.88)); }
.store-photo figcaption { position:absolute; z-index:1; left:clamp(25px,8vw,150px); right:25px; bottom:clamp(28px,6vw,75px); color:#fff; }
.store-photo figcaption strong,.store-photo figcaption span { display:block; }
.store-photo figcaption strong { font-size:clamp(30px,5vw,62px); }
.store-photo figcaption span { margin-top:10px; color:rgba(255,255,255,.82); font-size:18px; }

.service-grid article { transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; }
.service-grid article:hover { position:relative; z-index:1; transform:translateY(-10px) scale(1.015); border-color:var(--orange); box-shadow:0 20px 45px rgba(11,39,66,.16),0 0 30px rgba(235,107,45,.12); background:#fff; }

.shop-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.shop-heading p { margin:0 0 10px; color:var(--orange-dark); font-size:12px; font-weight:900; letter-spacing:.18em; }
.shop-heading h2 { margin:0; color:var(--navy); font-size:clamp(38px,5vw,64px); }
.shop-heading span { display:block; max-width:760px; margin-top:13px; color:var(--muted); font-size:18px; line-height:1.7; }
.shop-heading>b { width:100px; height:100px; display:grid; place-content:center; text-align:center; border-radius:50%; background:var(--navy); color:#fff; font-size:34px; box-shadow:0 0 0 8px var(--cream); }
.shop-heading b small { display:block; margin-top:4px; font-size:11px; }
.shop-benefits { display:flex; flex-wrap:wrap; gap:12px 28px; padding:20px 24px; margin-bottom:28px; background:var(--cream); color:var(--navy); font-weight:800; }
.category-tabs { display:flex; gap:10px; overflow:auto; padding:4px 2px 18px; }
.category-tabs button { flex:0 0 auto; padding:12px 18px; border:1px solid var(--line); border-radius:99px; background:#fff; color:var(--navy); font-weight:800; cursor:pointer; transition:.25s ease; }
.category-tabs button:hover,.category-tabs button.selected { background:var(--navy); color:#fff; border-color:var(--navy); box-shadow:0 8px 22px rgba(11,39,66,.18); transform:translateY(-2px); }
.shop-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.shop-card { overflow:hidden; border:1px solid var(--line); background:#fff; transition:transform .35s ease,box-shadow .35s ease; }
.shop-card:hover { transform:translateY(-9px); box-shadow:0 22px 48px rgba(11,39,66,.14); }
.product-art { position:relative; aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#e8eff3,#fff); }
.product-art::before { content:""; width:48%; height:56%; border:10px solid var(--navy); border-radius:8px; background:#fff; box-shadow:0 12px 30px rgba(11,39,66,.15); transition:transform .4s ease; }
.shop-card:hover .product-art::before { transform:scale(1.08); }
.product-art span { position:absolute; left:18px; top:18px; z-index:1; padding:7px 11px; border-radius:99px; background:var(--orange); color:#fff; font-size:12px; font-weight:900; }
.product-art.air::before { width:64%; height:25%; border-width:7px; border-radius:5px 5px 16px 16px; }
.product-art.fridge::before { width:38%; height:67%; background:linear-gradient(90deg,#fff 49%,#dce6eb 50%); }
.product-art.washer::before,.product-art.care::before { width:47%; height:62%; border-radius:10px; background:radial-gradient(circle at 50% 58%,#acc5d2 0 22%,var(--navy) 23% 28%,#fff 29%); }
.product-art.tv::before { width:67%; height:43%; border-radius:4px; background:linear-gradient(135deg,var(--navy),#32698f); }
.product-art.dehumidifier::before { width:38%; height:59%; border-radius:18px; background:linear-gradient(#fff 68%,#d7e3e9 69%); }
.shop-card-body { padding:25px; }
.shop-card-body>small { color:var(--orange-dark); font-weight:900; }
.shop-card h3 { margin:9px 0; color:var(--navy); font-size:23px; }
.shop-card p { min-height:55px; color:var(--muted); line-height:1.65; }
.shop-card strong { display:block; margin:18px 0; color:var(--navy); }
.shop-card button { width:100%; min-height:50px; border:0; background:var(--orange); color:#fff; font-weight:900; cursor:pointer; transition:.25s ease; }
.shop-card button:hover { transform:scale(1.025); box-shadow:0 10px 26px rgba(235,107,45,.3); }
.shop-card button.added { background:var(--navy); }
.inquiry-bar { max-height:0; margin-top:0; padding:0 24px; overflow:hidden; display:flex; justify-content:space-between; align-items:center; background:var(--navy); color:#fff; transition:.35s ease; }
.inquiry-bar.show { max-height:100px; margin-top:28px; padding:18px 24px; }
.inquiry-bar a { padding:12px 18px; border-radius:6px; background:#1ba94c; font-weight:900; }

.review-card { transition:transform .35s ease,box-shadow .35s ease; }
.review-card:hover { transform:translateY(-7px) scale(1.01); box-shadow:0 22px 48px rgba(11,39,66,.14),0 0 26px rgba(235,107,45,.08); }

.site-footer { min-height:0; padding:70px clamp(25px,8vw,150px) 28px; background:#071525; color:#93a9ba; display:block; }
.footer-grid { display:grid; grid-template-columns:1.25fr 1.25fr 1fr .8fr; gap:55px; }
.footer-grid section { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.footer-grid h2,.footer-grid h3 { margin:0 0 10px; color:#fff; }
.footer-grid h2 { font-size:27px; }
.footer-grid p { margin:0; }
.footer-grid strong { color:#f59a0a; }
.footer-grid strong span { color:#aebdca; font-weight:500; }
.footer-grid a { transition:.2s ease; }
.footer-grid a:hover { color:#fff; transform:translateX(4px); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:50px; padding-top:25px; border-top:1px solid rgba(255,255,255,.12); }
.footer-bottom a { color:#fff; font-weight:800; }
.back-to-top { position:fixed; right:28px; bottom:92px; z-index:25; width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:var(--orange); color:#fff; font-size:24px; font-weight:900; box-shadow:0 10px 30px rgba(235,107,45,.35); transition:.25s ease; }
.back-to-top:hover { transform:translateY(-5px) scale(1.05); box-shadow:0 14px 38px rgba(235,107,45,.5); }

[data-reveal] { opacity:0; transform:translateY(30px); transition:opacity .7s ease,transform .7s ease; }
[data-reveal].is-visible { opacity:1; transform:translateY(0); }
.button,.nav-contact,.contact-buttons a,.reservation button { transition:transform .25s ease,box-shadow .25s ease,filter .25s ease; }
.button:hover,.nav-contact:hover,.contact-buttons a:hover,.reservation button:hover { transform:translateY(-3px) scale(1.02); filter:brightness(1.04); box-shadow:0 12px 30px rgba(235,107,45,.3); }
.button:active,.nav-contact:active,.contact-buttons a:active,.reservation button:active,.shop-card button:active { transform:scale(.97); }

@media (max-width:1100px) { .footer-grid { grid-template-columns:repeat(2,1fr); }.shop-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .shop-grid,.footer-grid { grid-template-columns:1fr; }.shop-heading { align-items:flex-start; }.shop-heading>b { width:74px; height:74px; font-size:26px; flex:0 0 auto; }.shop-benefits { display:grid; }.inquiry-bar,.footer-bottom { align-items:stretch; flex-direction:column; }.inquiry-bar a { text-align:center; }.site-footer { padding-bottom:42px; }.footer-grid { gap:42px; }.back-to-top { right:16px; bottom:78px; } }
@media (prefers-reduced-motion:reduce) { .store-photo img { transform:none!important; }[data-reveal] { opacity:1; transform:none; } }

.service-grid article { position:relative; }
.service-grid article>b { position:absolute; top:26px; right:28px; font-size:15px; letter-spacing:.12em; }
.service-icon { width:72px; height:72px; display:grid; place-items:center; margin-bottom:22px; border-radius:18px; background:var(--cream); border:1px solid var(--cream-dark); transition:transform .35s ease,box-shadow .35s ease; }
.service-icon img { width:38px; height:38px; filter:invert(40%) sepia(94%) saturate(1446%) hue-rotate(347deg) brightness(91%) contrast(88%); }
.service-grid article:hover .service-icon { transform:scale(1.08) rotate(-3deg); box-shadow:0 10px 26px rgba(235,107,45,.18); }
.reason-grid article>span img { width:36px; height:36px; filter:invert(40%) sepia(94%) saturate(1446%) hue-rotate(347deg) brightness(91%) contrast(88%); transition:transform .35s ease; }
.reason-grid article:hover>span img { transform:scale(1.12) rotate(-4deg); }
.faq details p { white-space:pre-line; }

/* WordPress structure and navigation. */
body.admin-bar .site-header { top:32px; }
.site-header .custom-logo-link { display:block; line-height:0; }
.site-header .custom-logo { width:auto; height:54px; object-fit:contain; }
.primary-navigation,.primary-menu { display:flex; align-items:center; gap:clamp(18px,2.5vw,42px); }
.primary-menu { margin:0; padding:0; list-style:none; }
.primary-navigation a { display:block; padding:12px 0; border-bottom:2px solid transparent; }
.primary-navigation a:hover,.primary-navigation a.active,.primary-navigation .current-menu-item>a { color:var(--orange-dark); border-color:var(--orange); text-shadow:0 0 18px rgba(235,107,45,.28); }
.menu-toggle { display:none; width:44px; height:44px; padding:10px; border:0; background:transparent; }
.menu-toggle>span:not(.screen-reader-text) { display:block; height:2px; margin:5px 0; background:var(--navy); transition:.25s ease; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { top:8px; left:8px; z-index:100000; width:auto; height:auto; padding:12px 18px; clip:auto; background:#fff; color:var(--navy); font-weight:800; }
#main-content { scroll-margin-top:92px; }
.section,.contact,.local-intro,.store-photo { scroll-margin-top:88px; }
.hero.has-hero-image .hero-copy { position:relative; isolation:isolate; background-image:var(--hero-image); background-position:center; background-size:cover; }
.hero.has-hero-image .hero-copy::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(105deg,rgba(6,27,46,.97),rgba(11,39,66,.86)); }
.reservation .form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-message { min-height:22px; margin:0; color:var(--orange-dark); text-align:center; font-weight:800; }
.form-message.success { color:#148343; }
.service-icon img,.reason-grid img { display:block; }
.case-grid article { overflow:hidden; }
.case-image { width:100%; aspect-ratio:4/3; display:block; object-fit:cover; transition:transform .55s ease; }
.case-grid article:hover .case-image { transform:scale(1.035); }
.product-link { min-height:50px; display:grid; place-items:center; background:var(--orange); color:#fff; font-weight:900; transition:.25s ease; }
.product-link:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(235,107,45,.3); }
.shop-heading-link { flex:0 0 auto; min-height:54px; padding:0 23px; display:inline-flex; align-items:center; border-radius:7px; background:var(--navy); color:#fff; font-weight:900; transition:.25s ease; }
.shop-heading-link:hover { transform:translateY(-3px); background:var(--orange); box-shadow:0 12px 28px rgba(11,39,66,.2); }
.product-price { min-height:34px; margin:16px 0; color:var(--orange-dark); font-size:20px; font-weight:900; }
.shop-card .attachment-woocommerce_thumbnail,.shop-card .wp-post-image { width:100%; aspect-ratio:4/3; display:block; object-fit:contain; padding:18px; background:linear-gradient(145deg,#e8eff3,#fff); transition:transform .4s ease; }
.shop-card:hover .attachment-woocommerce_thumbnail,.shop-card:hover .wp-post-image { transform:scale(1.04); }
.category-tabs a { flex:0 0 auto; padding:12px 18px; border:1px solid var(--line); border-radius:99px; background:#fff; color:var(--navy); font-weight:800; transition:.25s ease; }
.category-tabs a:hover { background:var(--navy); color:#fff; transform:translateY(-2px); }
.review-card[hidden] { display:none!important; }
.review-card footer { background:transparent; }

/* Posts and pages. */
.content-shell { min-height:65vh; padding:150px clamp(24px,8vw,150px) 100px; background:#fff; }
.content-container { max-width:980px; margin:auto; }
.entry-header h1,.entry-title { color:var(--navy); font-size:clamp(38px,5vw,64px); line-height:1.2; }
.entry-meta { color:var(--muted); }
.entry-content { font-size:18px; line-height:1.9; }
.entry-content img { max-width:100%; height:auto; }
.entry-content a { color:var(--orange-dark); text-decoration:underline; }
.post-card { margin-bottom:28px; padding:30px; border:1px solid var(--line); background:var(--cream); }
.post-navigation { margin-top:50px; }

/* WooCommerce pages, deliberately aligned with the site palette. */
.woocommerce-shell { min-height:70vh; padding:145px clamp(22px,8vw,150px) 100px; background:#fff; }
.woocommerce-container { max-width:1320px; margin:auto; }
.woocommerce .woocommerce-breadcrumb { margin-bottom:28px; color:var(--muted); }
.woocommerce h1.page-title,.woocommerce div.product .product_title,.woocommerce-account .entry-title { color:var(--navy); font-size:clamp(36px,4.5vw,58px); }
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering { margin-bottom:30px; }
.woocommerce .woocommerce-ordering select { min-height:46px; padding:0 42px 0 14px; border:1px solid var(--line); background:#fff; color:var(--navy); }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin:25px 0 0; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { float:none!important; width:auto!important; margin:0!important; padding:0 0 24px; overflow:hidden; border:1px solid var(--line); background:var(--cream); transition:.35s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-8px); box-shadow:0 20px 44px rgba(11,39,66,.14); }
.woocommerce ul.products li.product a img { aspect-ratio:4/3; margin:0; padding:18px; object-fit:contain; background:#fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart { margin-left:24px; margin-right:24px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--navy); font-size:21px; }
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--orange-dark); font-weight:900; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt { min-height:48px; padding:14px 22px; border-radius:6px; background:var(--orange); color:#fff; font-weight:900; transition:.25s ease; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover { background:var(--orange-dark); color:#fff; transform:translateY(-2px); }
.woocommerce span.onsale { min-width:54px; min-height:54px; display:grid; place-items:center; background:var(--orange); }
.woocommerce div.product { color:var(--ink); }
.woocommerce div.product div.images img { background:#f7f8f9; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-color:var(--orange); background:var(--cream); }
.woocommerce table.shop_table { border-color:var(--line); border-radius:0; }
.woocommerce table.shop_table th { color:var(--navy); background:var(--cream); }
.woocommerce-cart table.cart img { width:84px; }
.woocommerce .quantity .qty { min-height:44px; border:1px solid var(--line); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single { min-height:50px; padding:12px 14px; border:1px solid #cad4da; border-radius:5px; background:#fff; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height:25px; }
.woocommerce-checkout #payment { background:var(--cream); }
.woocommerce-checkout #payment div.payment_box { background:#fff; }
.woocommerce-info,.woocommerce-message { border-top-color:var(--orange); background:var(--cream); }
.woocommerce-info::before,.woocommerce-message::before { color:var(--orange-dark); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0; padding:0; list-style:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:14px 18px; border-bottom:1px solid var(--line); background:var(--cream); color:var(--navy); font-weight:800; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background:var(--navy); color:#fff; }
.woocommerce-order-received .woocommerce-order-overview { padding:24px; background:var(--cream); }

@media (max-width:1000px) {
	.primary-navigation { position:absolute; top:100%; left:0; right:0; display:block; max-height:0; overflow:hidden; background:#fff; box-shadow:0 15px 30px rgba(6,27,46,.12); transition:max-height .35s ease; }
	.primary-navigation.is-open { max-height:560px; }
	.primary-menu { display:block; padding:12px 24px 24px; }
	.primary-navigation a { padding:14px 0; }
	.menu-toggle { display:block; margin-left:auto; cursor:pointer; }
	.site-header .nav-contact { margin-left:0; }
	.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:782px) { body.admin-bar .site-header { top:46px; } }
@media (max-width:640px) {
	.site-header { gap:10px; }
	.site-header .custom-logo { max-width:150px; height:44px; }
	.woocommerce-shell,.content-shell { padding:105px 18px 70px; }
	.woocommerce ul.products { grid-template-columns:1fr; }
	.woocommerce div.product div.images,.woocommerce div.product div.summary { float:none; width:100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; }
}

/* Version 1.2: editable branding, image cases, category gateway and header actions. */
html,body { max-width:100%; overflow-x:hidden; }
.site-header { gap:24px; }
.brand { flex:0 0 auto; }
.brand-logo { width:46px; height:46px; flex:0 0 46px; object-fit:contain; display:block; }
.header-actions { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.nav-shop,.nav-contact { min-height:54px; padding:0 21px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; font-weight:900; white-space:nowrap; transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease; }
.nav-shop { border:2px solid var(--navy); background:var(--navy); color:#fff; }
.nav-contact { background:var(--orange); color:#fff; }
.nav-shop:hover,.nav-contact:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(11,39,66,.18); }
.mobile-nav-actions { display:none; }
.hero-brand-logo { overflow:hidden; background:#fff!important; }
.hero-brand-logo img { width:100%; height:100%; object-fit:contain; display:block; }
.section-cta { width:max-content; max-width:100%; min-height:54px; margin:38px auto 0; padding:0 24px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:var(--orange); color:#fff; font-weight:900; transition:.25s ease; }
.section-cta:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(235,107,45,.28); }

.case-grid { max-width:1320px; margin:auto; gap:28px; }
.case-grid .case-card { position:relative; aspect-ratio:4/3; min-height:0; padding:0; overflow:hidden; border:0; border-radius:16px; background:var(--navy); box-shadow:0 12px 32px rgba(11,39,66,.12); isolation:isolate; }
.case-card .case-image { width:100%; height:100%; aspect-ratio:auto; padding:0; object-fit:cover; object-position:center; display:block; transition:transform .45s ease,filter .45s ease; }
.case-overlay { position:absolute; inset:0; z-index:1; padding:30px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:linear-gradient(180deg,rgba(6,27,46,.03) 20%,rgba(6,27,46,.92) 100%); opacity:.22; transition:opacity .4s ease; }
.case-overlay span { width:max-content; max-width:100%; padding:6px 10px; border-radius:99px; background:var(--orange); font-size:12px; font-weight:900; transform:translateY(12px); transition:transform .4s ease; }
.case-grid .case-overlay h3,.case-grid .case-overlay p { margin-left:0; margin-right:0; color:#fff; transform:translateY(16px); opacity:0; transition:transform .4s ease,opacity .4s ease; }
.case-grid .case-overlay h3 { margin-top:12px; margin-bottom:7px; font-size:24px; }
.case-grid .case-overlay p { margin-top:0; margin-bottom:0; line-height:1.6; }
.case-card:hover .case-image,.case-card:focus-within .case-image { transform:scale(1.075); filter:saturate(1.08); }
.case-card:hover .case-overlay,.case-card:focus-within .case-overlay { opacity:1; }
.case-card:hover .case-overlay span,.case-card:hover .case-overlay h3,.case-card:hover .case-overlay p,.case-card:focus-within .case-overlay span,.case-card:focus-within .case-overlay h3,.case-card:focus-within .case-overlay p { transform:translateY(0); opacity:1; }
.case-card .case-placeholder { width:100%; height:100%; aspect-ratio:auto; border:2px dashed #9fb0bb; }
.case-placeholder small { display:block; color:var(--navy); font-weight:800; }

.products { background:#f5f7f8; text-align:left; }
.shop-heading,.shop-benefits,.shop-category-grid,.shop-subheading,.shop-grid,.shop-empty-note { width:100%; max-width:1320px; margin-left:auto; margin-right:auto; }
.shop-subheading { margin-top:52px; margin-bottom:22px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.shop-subheading h3 { margin:0; color:var(--navy); font-size:clamp(28px,3vw,40px); }
.shop-subheading a { color:var(--orange-dark); font-weight:900; }
.shop-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.shop-category-card { position:relative; aspect-ratio:4/3; min-width:0; overflow:hidden; border-radius:16px; background:var(--navy); box-shadow:0 12px 30px rgba(11,39,66,.12); isolation:isolate; }
.shop-category-media { position:absolute; inset:0; display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#dfe8ed,#fff); }
.shop-category-media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform .45s ease,filter .45s ease; }
.shop-category-media .category-fallback-icon { width:86px; height:86px; padding:20px; object-fit:contain; border-radius:50%; background:rgba(255,255,255,.92); filter:none; }
.shop-category-media .promotion-card-icon { position:absolute; z-index:2; width:86px; height:86px; padding:20px; object-fit:contain; border-radius:50%; background:rgba(255,255,255,.92); filter:none; box-shadow:0 8px 24px rgba(6,27,46,.18); }
.shop-category-overlay { position:absolute; inset:0; z-index:1; padding:24px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:linear-gradient(180deg,transparent 15%,rgba(6,27,46,.95) 100%); }
.shop-category-overlay h4 { margin:0; font-size:25px; }
.shop-category-overlay p { min-height:48px; margin:7px 0 12px; color:rgba(255,255,255,.8); line-height:1.5; }
.shop-category-overlay span { font-weight:900; color:#ffb18b; transform:translateY(8px); opacity:.8; transition:.35s ease; }
.shop-category-card:hover .shop-category-media img,.shop-category-card:focus-visible .shop-category-media img { transform:scale(1.075); filter:saturate(1.08); }
.shop-category-card:hover .shop-category-overlay,.shop-category-card:focus-visible .shop-category-overlay { background:linear-gradient(180deg,rgba(6,27,46,.18),rgba(6,27,46,.97)); }
.shop-category-card:hover .shop-category-overlay span,.shop-category-card:focus-visible .shop-category-overlay span { transform:translateY(0); opacity:1; }
.shop-category-card.is-missing { outline:1px dashed rgba(255,255,255,.35); outline-offset:-8px; }
.featured-heading { margin-top:70px; }
.shop-empty-note { margin-top:-5px; margin-bottom:24px; padding:15px 18px; border-left:4px solid var(--orange); background:#fff; color:var(--muted); }
.shop-grid { align-items:stretch; }
.shop-card { height:100%; border-radius:14px; display:flex; flex-direction:column; }
.shop-card-body { height:100%; display:flex; flex-direction:column; }
.shop-card-body h4 { margin:9px 0; color:var(--navy); font-size:23px; }
.shop-card-body p { min-height:0; }
.shop-card-body .product-link { margin-top:auto; }
.product-art img { position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.product-art img+span { z-index:2; }
.woocommerce-empty-state { padding:55px 28px; text-align:center; border-radius:14px; background:var(--cream); }
.woocommerce-empty-state h2 { margin-top:0; color:var(--navy); font-size:32px; }
.woocommerce-empty-state p { color:var(--muted); }
.woocommerce-empty-state .button { margin-top:18px; }
.floating-line { position:fixed; right:28px; bottom:28px; z-index:40; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:#06c755; color:#fff; font-size:12px; font-weight:900; box-shadow:0 10px 30px rgba(6,199,85,.35); transition:.25s ease; }
.floating-line:hover { transform:translateY(-4px) scale(1.04); }
.back-to-top { bottom:98px; }

@media (max-width:1220px) {
	.site-header { padding-left:28px; padding-right:28px; gap:16px; }
	.primary-navigation,.primary-menu { gap:18px; }
	.nav-shop,.nav-contact { padding-left:16px; padding-right:16px; font-size:14px; }
	.shop-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1000px) {
	.site-header { flex-wrap:nowrap; }
	.header-actions { display:none; }
	.mobile-nav-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:5px 24px 24px; }
	.mobile-nav-actions .nav-shop,.mobile-nav-actions .nav-contact { width:100%; min-height:50px; }
	.primary-navigation.is-open { max-height:720px; }
	.review-card:not([hidden]) { display:flex!important; }
	.shop-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
	.brand { min-width:0; }
	.brand-logo { width:40px; height:40px; flex-basis:40px; }
	.brand strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
	.menu-toggle { flex:0 0 44px; }
	.mobile-nav-actions { grid-template-columns:1fr; }
	.case-grid .case-card { aspect-ratio:4/3; min-height:220px; }
	.case-overlay { padding:22px; opacity:1; background:linear-gradient(180deg,rgba(6,27,46,.04) 10%,rgba(6,27,46,.94) 100%); }
	.case-overlay span,.case-grid .case-overlay h3,.case-grid .case-overlay p { transform:none; opacity:1; }
	.shop-heading { display:grid; }
	.shop-heading-link { width:100%; justify-content:center; }
	.shop-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
	.shop-category-card { aspect-ratio:3/4; border-radius:12px; }
	.shop-category-overlay { padding:16px; }
	.shop-category-overlay h4 { font-size:20px; }
	.shop-category-overlay p { min-height:0; margin:6px 0 10px; font-size:13px; }
	.shop-category-media .category-fallback-icon,.shop-category-media .promotion-card-icon { width:68px; height:68px; padding:16px; }
	.shop-subheading { margin-top:42px; align-items:flex-start; flex-direction:column; }
	.floating-line { display:none; }
}
@media (max-width:390px) {
	.shop-category-grid { grid-template-columns:1fr; }
	.shop-category-card { aspect-ratio:4/3; }
}
@media (prefers-reduced-motion:reduce) {
	.case-card .case-image,.case-overlay,.case-overlay span,.case-overlay h3,.case-overlay p,.shop-category-media img,.shop-category-overlay span,.floating-line { transition:none!important; transform:none!important; }
}

/* Version 1.3: WooCommerce catalogue navigation, filters and product cards. */
.catalog-page { display:grid; grid-template-columns:240px minmax(0,1fr); gap:42px; align-items:start; }
.catalog-sidebar { position:sticky; top:112px; min-width:0; padding:24px 20px; border:1px solid var(--line); border-radius:14px; background:var(--cream); }
.catalog-sidebar h2,.catalog-mobile-categories h2 { margin:0 0 18px; color:var(--navy); font-size:24px; }
.catalog-all-products { display:block; margin-bottom:8px; padding:12px 13px; border-radius:7px; color:var(--navy); font-weight:900; }
.catalog-all-products:hover,.catalog-all-products.is-current { background:var(--navy); color:#fff; }
.catalog-category-level { margin:0; padding:0; list-style:none; }
.catalog-category-level .catalog-category-level { max-height:0; overflow:hidden; padding-left:13px; opacity:0; transition:max-height .3s ease,opacity .3s ease; }
.catalog-category-item.is-open>.catalog-category-level { max-height:1200px; opacity:1; }
.catalog-category-row { display:flex; align-items:center; gap:4px; border-bottom:1px solid rgba(11,39,66,.08); }
.catalog-category-row>a { min-width:0; flex:1; padding:11px 8px; display:flex; align-items:center; justify-content:space-between; gap:8px; border-radius:6px; color:var(--ink); font-weight:750; }
.catalog-category-row>a:hover,.catalog-category-item.is-current>.catalog-category-row>a { color:#fff; background:var(--orange-dark); }
.catalog-category-row small { min-width:24px; padding:2px 6px; border-radius:99px; background:rgba(11,39,66,.09); text-align:center; font-size:11px; }
.catalog-category-item.is-current>.catalog-category-row>a small { background:rgba(255,255,255,.2); }
.category-toggle { width:34px; height:34px; flex:0 0 34px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--navy); font-size:21px; cursor:pointer; transition:transform .25s ease,background .25s ease; }
.category-toggle:hover { background:rgba(11,39,66,.08); }
.catalog-category-item.is-open>.catalog-category-row>.category-toggle { transform:rotate(180deg); }
.catalog-results { min-width:0; }
.catalog-results>.woocommerce-breadcrumb { margin:0 0 22px; }
.catalog-heading { margin-bottom:25px; display:flex; justify-content:space-between; align-items:end; gap:32px; }
.catalog-heading p { margin:0 0 8px; color:var(--orange-dark); font-size:13px; font-weight:900; letter-spacing:.16em; }
.woocommerce .catalog-heading h1 { margin:0; color:var(--navy); font-size:clamp(38px,4vw,58px); }
.catalog-description { max-width:570px; color:var(--muted); line-height:1.75; }
.catalog-description p { margin:0; }
.catalog-summary-row { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.catalog-result-count .woocommerce-result-count { margin:0; }
.catalog-filter-open { display:none; min-height:46px; padding:0 18px; border:0; border-radius:7px; background:var(--navy); color:#fff; font-weight:900; cursor:pointer; }
.catalog-filter-panel { margin-bottom:30px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#f5f7f8; }
.catalog-filter-panel-head,.catalog-mobile-categories { display:none; }
.catalog-filter-form { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:14px; align-items:end; }
.catalog-filter-form label,.catalog-price-fields { min-width:0; display:grid; gap:7px; }
.catalog-filter-form label>span,.catalog-price-fields>span { color:var(--navy); font-size:13px; font-weight:900; }
.catalog-filter-form select,.catalog-filter-form input { width:100%; min-width:0; min-height:46px; padding:0 13px; border:1px solid #bfcdd5; border-radius:6px; background:#fff; color:var(--ink); }
.catalog-price-fields>div { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:7px; }
.catalog-price-fields b { color:var(--muted); }
.catalog-filter-actions { display:flex; align-items:center; gap:14px; }
.catalog-filter-actions .button { margin:0; border:0; cursor:pointer; }
.catalog-filter-actions>a { color:var(--orange-dark); font-weight:900; }
.catalog-filter-backdrop { display:none; }
.woocommerce .catalog-results ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.woocommerce .catalog-results ul.products li.catalog-product-card { min-width:0; padding:0; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 7px 22px rgba(11,39,66,.06); }
.catalog-product-media { position:relative; aspect-ratio:4/3; overflow:hidden; background:#f7f8f9; }
.woocommerce ul.products li.catalog-product-card .catalog-product-media>a { width:100%; height:100%; display:block; }
.woocommerce ul.products li.catalog-product-card .catalog-product-media img { width:100%; height:100%; margin:0; padding:16px; object-fit:contain; display:block; transition:transform .35s ease; }
.catalog-product-card:hover .catalog-product-media img { transform:scale(1.045); }
.catalog-sale-badge { position:absolute; top:13px; left:13px; z-index:2; padding:6px 10px; border-radius:99px; background:var(--orange); color:#fff; font-size:12px; font-weight:900; }
.catalog-wishlist { position:absolute; top:9px; right:9px; z-index:3; }
.catalog-product-body { height:100%; padding:20px; display:flex; flex-direction:column; }
.catalog-product-brand { margin:0 0 7px; color:var(--orange-dark); font-size:12px; font-weight:900; letter-spacing:.08em; }
.woocommerce ul.products li.catalog-product-card .woocommerce-loop-product__title { margin:0 0 12px; padding:0; font-size:19px; line-height:1.45; }
.catalog-product-card .woocommerce-loop-product__title a { color:var(--navy); }
.catalog-product-price { margin-top:auto; color:var(--orange-dark); font-size:19px; font-weight:900; }
.catalog-product-price del { margin-right:7px; color:#87959d; font-size:14px; font-weight:500; }
.catalog-product-price ins { text-decoration:none; }
.catalog-stock { margin:9px 0 16px; font-size:13px; font-weight:800; }
.catalog-stock.in-stock { color:#277943; }
.catalog-stock.out-of-stock { color:#a13a32; }
.catalog-product-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.woocommerce ul.products li.catalog-product-card .catalog-product-actions .button { min-width:0; margin:0; padding:12px 9px; display:flex; align-items:center; justify-content:center; text-align:center; font-size:13px; }
.woocommerce ul.products li.catalog-product-card .catalog-view-product { border:1px solid var(--navy); background:#fff; color:var(--navy); }
.woocommerce ul.products li.catalog-product-card .catalog-view-product:hover { background:var(--navy); color:#fff; }

@media (max-width:1100px) {
	.catalog-page { grid-template-columns:1fr; gap:0; }
	.catalog-sidebar { display:none; }
	.catalog-filter-open { display:inline-flex; align-items:center; }
	.catalog-filter-panel { position:fixed; top:0; right:0; bottom:0; z-index:120; width:min(430px,92vw); margin:0; padding:0; overflow-y:auto; border:0; border-radius:0; background:#fff; box-shadow:-20px 0 50px rgba(6,27,46,.24); transform:translateX(105%); transition:transform .32s ease; }
	.catalog-filter-panel.is-open { transform:translateX(0); }
	.catalog-filter-panel-head { position:sticky; top:0; z-index:2; min-height:64px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; background:var(--navy); color:#fff; }
	.catalog-filter-close { width:44px; height:44px; border:0; background:transparent; color:#fff; font-size:32px; cursor:pointer; }
	.catalog-mobile-categories { padding:24px 20px 8px; display:block; }
	.catalog-filter-form { padding:22px 20px 36px; grid-template-columns:1fr; }
	.catalog-filter-backdrop { position:fixed; inset:0; z-index:119; border:0; background:rgba(4,20,34,.54); }
	.catalog-filter-panel.is-open+.catalog-filter-backdrop { display:block; }
	body.catalog-drawer-open { overflow:hidden; }
	.woocommerce .catalog-results ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:820px) {
	.catalog-heading { align-items:start; flex-direction:column; gap:12px; }
	.woocommerce .catalog-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
	.woocommerce-shell { padding-left:14px; padding-right:14px; }
	.catalog-summary-row { margin-bottom:18px; }
	.catalog-result-count { font-size:13px; }
	.woocommerce .catalog-results ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
	.catalog-product-body { padding:14px 12px; }
	.woocommerce ul.products li.catalog-product-card .woocommerce-loop-product__title { font-size:15px; }
	.catalog-product-price { font-size:16px; }
	.catalog-product-actions { grid-template-columns:1fr; }
	.woocommerce ul.products li.catalog-product-card .catalog-product-actions .button { min-height:42px; font-size:12px; }
}
@media (max-width:390px) {
	.woocommerce .catalog-results ul.products { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
	.catalog-filter-panel,.catalog-category-level .catalog-category-level,.category-toggle,.catalog-product-media img { transition:none!important; }
}

/* Version 1.4: editable promotions archive and activity products. */
.promotions-page { overflow:hidden; background:#f5f7f8; color:var(--ink); }
.promotions-container { width:min(1320px,calc(100% - 48px)); margin-left:auto; margin-right:auto; }
.promotions-hero { position:relative; min-height:510px; padding:160px 0 90px; display:flex; align-items:center; isolation:isolate; color:#fff; background:linear-gradient(135deg,#071f35,#123f60); }
.promotions-hero.has-background { background-image:var(--promotion-hero); background-size:cover; background-position:center; }
.promotions-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(6,27,46,var(--promotion-overlay,.65)),rgba(6,27,46,var(--promotion-overlay,.65))); }
.promotions-breadcrumb { margin:0 0 32px; color:rgba(255,255,255,.72); font-size:14px; font-weight:800; }
.promotions-kicker { margin:0 0 12px; color:#ff9b6a; font-size:13px; font-weight:900; letter-spacing:.16em; }
.promotions-hero h1 { max-width:850px; margin:0; color:#fff; font-size:clamp(52px,7vw,90px); line-height:1.05; }
.promotions-intro { max-width:720px; margin:22px 0 30px; color:rgba(255,255,255,.83); font-size:20px; line-height:1.8; }
.promotions-intro p { margin:0; }
.promotions-return { display:inline-flex; align-items:center; background:var(--orange); color:#fff; }
.promotions-content { padding-top:92px; padding-bottom:110px; }
.promotions-section-heading { margin-bottom:26px; display:flex; align-items:end; justify-content:space-between; }
.promotions-section-heading h2 { margin:0; color:var(--navy); font-size:clamp(34px,4vw,50px); }
.promotion-switcher { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.promotion-switch-card { position:relative; min-width:0; min-height:220px; overflow:hidden; display:flex; align-items:flex-end; border:2px solid transparent; border-radius:15px; background:var(--navy); color:#fff; box-shadow:0 10px 28px rgba(11,39,66,.1); isolation:isolate; transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease; }
.promotion-switch-card:hover,.promotion-switch-card:focus-visible { transform:translateY(-5px); box-shadow:0 20px 40px rgba(11,39,66,.18); }
.promotion-switch-card.is-current { border-color:var(--orange); box-shadow:0 0 0 3px rgba(235,107,45,.17),0 18px 36px rgba(11,39,66,.16); }
.promotion-switch-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.promotion-switch-card:hover .promotion-switch-image { transform:scale(1.06); }
.promotion-switch-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(6,27,46,.08),rgba(6,27,46,.96)); }
.promotion-switch-copy,.promotion-switch-all>div { width:100%; padding:24px; }
.promotion-switch-icon { width:42px; height:42px; margin-bottom:12px; padding:8px; object-fit:contain; border-radius:50%; background:rgba(255,255,255,.92); }
.promotion-switch-card h3 { margin:0 0 8px; color:#fff; font-size:25px; }
.promotion-switch-card p { min-height:44px; margin:0 0 12px; color:rgba(255,255,255,.75); line-height:1.55; }
.promotion-switch-card span { color:#ffad86; font-weight:900; }
.promotion-switch-all { background:linear-gradient(135deg,var(--orange-dark),var(--navy)); }
.promotion-banners { margin-top:50px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.promotion-banner { position:relative; min-height:300px; padding:34px; overflow:hidden; display:flex; align-items:flex-end; border-radius:15px; color:#fff; background:linear-gradient(135deg,var(--navy),#1d587e); isolation:isolate; }
.promotion-banner.has-image { background-image:linear-gradient(180deg,rgba(6,27,46,.1),rgba(6,27,46,.94)),var(--promotion-banner); background-size:cover; background-position:center; }
.promotion-banner h2 { margin:0 0 10px; color:#fff; font-size:30px; }
.promotion-banner p { margin:0 0 20px; color:rgba(255,255,255,.8); line-height:1.65; }
.promotion-banner .button { display:inline-flex; background:var(--orange); color:#fff; }
.promotions-products-heading { margin-top:82px; }
.promotion-products { margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; list-style:none; }
.promotion-product-card { min-width:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 8px 26px rgba(11,39,66,.08); transition:transform .35s ease,box-shadow .35s ease; }
.promotion-product-card:hover { transform:translateY(-6px); box-shadow:0 18px 38px rgba(11,39,66,.15); }
.promotion-product-image { aspect-ratio:4/3; overflow:hidden; display:block; background:#fff; }
.promotion-product-image img { width:100%; height:100%; padding:18px; object-fit:contain; display:block; transition:transform .35s ease; }
.promotion-product-card:hover .promotion-product-image img { transform:scale(1.045); }
.promotion-product-body { height:100%; padding:20px; display:flex; flex-direction:column; }
.promotion-product-tags { margin-bottom:10px; display:flex; flex-wrap:wrap; gap:6px; }
.promotion-product-tags span { padding:5px 8px; border-radius:99px; background:#fff0e9; color:var(--orange-dark); font-size:11px; font-weight:900; }
.promotion-product-card h2 { margin:0 0 16px; font-size:19px; line-height:1.45; }
.promotion-product-card h2 a { color:var(--navy); }
.promotion-product-price { margin-top:auto; margin-bottom:16px; color:var(--orange-dark); font-size:19px; font-weight:900; }
.promotion-product-price del { margin-right:7px; color:#87959d; font-size:14px; font-weight:500; }
.promotion-product-price ins { text-decoration:none; }
.promotion-product-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.promotion-product-actions .button { min-width:0; min-height:45px; padding:11px 8px; display:flex; align-items:center; justify-content:center; border-radius:6px; text-align:center; font-size:13px; font-weight:900; }
.promotion-view-button { border:1px solid var(--navy); background:#fff; color:var(--navy); }
.promotion-product-actions .add_to_cart_button { background:var(--orange); color:#fff; }
.promotions-empty { padding:60px 24px; border-radius:14px; background:var(--cream); text-align:center; color:var(--navy); font-size:20px; font-weight:800; }
.promotion-pagination { margin-top:42px; }
.promotion-pagination ul { margin:0; padding:0; display:flex; justify-content:center; flex-wrap:wrap; gap:7px; list-style:none; }
.promotion-pagination a,.promotion-pagination span { min-width:42px; height:42px; padding:0 10px; display:grid; place-items:center; border-radius:6px; background:#fff; color:var(--navy); font-weight:900; }
.promotion-pagination .current { background:var(--orange); color:#fff; }

@media (max-width:1100px) {
	.promotion-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.promotion-banners { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
	.promotions-container { width:min(100% - 32px,1320px); }
	.promotions-hero { min-height:460px; padding:135px 0 70px; }
	.promotion-switcher,.promotion-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.promotion-switch-card { min-height:210px; }
	.promotion-banners { grid-template-columns:1fr; }
}
@media (max-width:520px) {
	.promotions-container { width:min(100% - 28px,1320px); }
	.promotions-content { padding-top:65px; padding-bottom:85px; }
	.promotions-hero h1 { font-size:48px; }
	.promotions-intro { font-size:17px; }
	.promotion-switcher { grid-template-columns:1fr; }
	.promotion-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
	.promotion-product-body { padding:14px 11px; }
	.promotion-product-card h2 { font-size:15px; }
	.promotion-product-actions { grid-template-columns:1fr; }
	.promotion-product-actions .button { font-size:12px; }
}
@media (max-width:370px) {
	.promotion-products { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
	.promotion-switch-card,.promotion-switch-image,.promotion-product-card,.promotion-product-image img { transition:none!important; transform:none!important; }
}
