.gs-featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; margin:0; }
.gs-featured-card { position:relative; min-width:0; padding:10px; overflow:hidden; border:1px solid #e8e9eb; border-radius:14px; background:#fff; box-shadow:0 3px 14px rgba(23,29,35,.035); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; animation:gs-card-in .55s both ease; }
.gs-featured-card:nth-child(2) { animation-delay:.07s; }
.gs-featured-card:nth-child(3) { animation-delay:.14s; }
.gs-featured-card:nth-child(4) { animation-delay:.21s; }
.gs-featured-card:hover { transform:translateY(-4px); border-color:#dce3d2; box-shadow:0 13px 28px rgba(23,29,35,.1); }
.gs-featured-media { position:relative; display:block; height:198px; overflow:hidden; border-radius:10px; background:linear-gradient(140deg,#f3f5f6,#e9edf0); text-decoration:none; }
.gs-featured-media img { display:block; width:100%; height:100%; margin:0; object-fit:contain; mix-blend-mode:multiply; transition:opacity .45s ease,transform .65s cubic-bezier(.2,.75,.25,1); }
.gs-featured-card:hover .gs-featured-media img { transform:scale(1.055); }
.gs-featured-badge { position:absolute; top:10px; left:10px; padding:6px 8px; border-radius:999px; color:#293224; background:#dcf0bd; font-family:inherit; font-size:9px; font-weight:700; line-height:1.1; letter-spacing:.015em; }
.gs-gallery-next { position:absolute; top:calc(99px - 17px); right:16px; width:29px; height:29px; border:1px solid rgba(35,41,49,.12); border-radius:50%; color:#263036; background:rgba(255,255,255,.9); box-shadow:0 3px 10px rgba(20,24,32,.11); font-size:19px; line-height:1; opacity:0; transform:translateX(4px); transition:opacity .22s ease,transform .22s ease; cursor:pointer; }
.gs-featured-card:hover .gs-gallery-next,.gs-featured-card:focus-within .gs-gallery-next { opacity:1; transform:none; }
.gs-gallery-dots { position:absolute; right:0; bottom:10px; left:0; display:flex; justify-content:center; gap:4px; pointer-events:none; }
.gs-gallery-dots span { width:5px; height:5px; border-radius:50%; background:rgba(39,46,53,.25); transition:width .25s ease,background .25s ease; }
.gs-gallery-dots span.is-active { width:15px; border-radius:9px; background:#415b37; }
.gs-featured-copy { padding:11px 3px 3px; }
.gs-featured-copy h3 { min-height:37px; margin:0 0 6px; font-size:13px; line-height:1.35; letter-spacing:-.015em; }
.gs-featured-copy h3 a { color:#222832; text-decoration:none; }
.gs-featured-copy h3 a:hover { color:#52743e; }
.gs-featured-price { min-height:19px; color:#20262e; font-size:13px; font-weight:750; }
.gs-featured-price del { margin-right:6px; color:#a1a6ac; font-size:10px; font-weight:500; }
.gs-featured-price ins { text-decoration:none; }
.gs-featured-link { display:flex; align-items:center; justify-content:space-between; margin-top:8px; padding-top:8px; border-top:1px solid #f0f1f3; color:#647252; font-size:10px; font-weight:750; text-decoration:none; }
.gs-featured-link span { font-size:14px; transition:transform .2s ease; }
.gs-featured-link:hover span { transform:translateX(3px); }
.gs-featured-empty { padding:22px; border:1px dashed #dfe3e7; border-radius:12px; background:#fff; color:#69727c; font-size:13px; text-align:center; }
@keyframes gs-card-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:900px) { .gs-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .gs-featured-media { height:180px; } }
@media(max-width:480px) { .gs-featured-grid { gap:8px; } .gs-featured-card { padding:7px; border-radius:11px; } .gs-featured-media { height:148px; border-radius:8px; } .gs-featured-copy h3 { font-size:11px; } .gs-featured-price { font-size:12px; } .gs-gallery-next { top:60px; right:10px; opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .gs-featured-card,.gs-featured-card * { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }

/* The Elementor preview page gets its own storefront chrome and premium palette. */
body.page-id-12348 .whb-header,
body.page-id-12348 .wd-page-title,
body.page-id-12348 .wd-prefooter,
body.page-id-12348 .wd-footer,
body.page-id-12348 .wd-toolbar,
body.page-id-12348 .wd-sticky-nav { display:none !important; }
body.page-id-12348 { background:#f5f1eb !important; color:#1d252c; }
body.page-id-12348 #main-content { padding-top:0 !important; }
body.page-id-12348 .gs-home-preview { color:#263038; background:#f5f1eb; }
body.page-id-12348 .gs-home-preview .hero { background:linear-gradient(120deg,#f5f0e8 0%,#eee7dc 62%,#e7e0d6 100%) !important; color:#202931 !important; }
body.page-id-12348 .gs-home-preview .eyebrow { color:#b45f41 !important; }
body.page-id-12348 .gs-home-preview .lead { color:#5c646b !important; }
body.page-id-12348 .gs-home-preview .btn { background:#1c2831 !important; border-color:#1c2831 !important; color:#fff !important; }
body.page-id-12348 .gs-home-preview .btn.alt { background:#fff !important; border-color:#ddd5cb !important; color:#27323a !important; }
body.page-id-12348 .gs-home-preview .perks { color:#39434a !important; }
body.page-id-12348 .gs-home-preview .perk { border-color:#ded7ce !important; }
body.page-id-12348 .gs-home-preview .section-head .eyebrow { color:#b45f41 !important; }
body.page-id-12348 .gs-home-preview .cat { background:#fff !important; border-color:#e5ded5 !important; color:#242d34 !important; }
body.page-id-12348 .gs-home-preview .cat-icon { background:#f3e7df !important; color:#a55338 !important; }
body.page-id-12348 .gs-home-preview .repair { background:linear-gradient(125deg,#1a2730 0%,#30383b 100%) !important; }
body.page-id-12348 .gs-home-preview .repair .eyebrow { color:#e4a88e !important; }
body.page-id-12348 .gs-home-preview .repair .btn { background:#c36b4d !important; border-color:#c36b4d !important; color:#fff !important; }
body.page-id-12348 .gs-home-preview .footnote { color:#777e83 !important; }
body.page-id-12348 .gs-featured-card { border-color:#e6ded5; }
body.page-id-12348 .gs-featured-badge { color:#fff; background:#b76245; }
body.page-id-12348 .gs-gallery-dots span.is-active { background:#b76245; }
body.page-id-12348 .gs-featured-link { color:#a95439; }

.gs-draft-header { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(1240px,calc(100% - 48px)); min-height:78px; margin:0 auto; border-bottom:1px solid #e7e0d6; color:#1d252c; }
.gs-wordmark { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; }
.gs-wordmark-mark { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; background:#1c2831; color:#fff; font-size:12px; font-weight:900; letter-spacing:-.07em; }
.gs-wordmark b,.gs-wordmark small { display:block; }
.gs-wordmark b { font-size:11px; letter-spacing:.1em; }
.gs-wordmark small { margin-top:4px; color:#9b604b; font-size:8px; font-weight:750; letter-spacing:.15em; }
.gs-draft-nav { display:flex; align-items:center; gap:25px; }
.gs-draft-nav a { color:#4b555b; font-size:11px; font-weight:650; text-decoration:none; }
.gs-draft-nav a:hover { color:#ae5b3e; }
.gs-draft-header-cta { display:inline-flex; align-items:center; min-height:38px; padding:0 15px; border-radius:999px; background:#1c2831; color:#fff !important; font-size:10px !important; font-weight:750 !important; text-decoration:none; }
.gs-draft-header-cta:hover { background:#b76245; }
.gs-draft-footer { display:grid; grid-template-columns:1.4fr .65fr 1fr; gap:40px; max-width:1240px; margin:54px auto 0; padding:35px 0 18px; border-top:1px solid #dfd7cd; color:#39434a; }
.gs-draft-footer-main p { max-width:320px; margin:15px 0 0; color:#757b7e; font-size:11px; line-height:1.65; }
.gs-draft-footer-links,.gs-draft-footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.gs-draft-footer-links>b,.gs-draft-footer-contact>b { margin-bottom:3px; color:#a85439; font-size:8px; letter-spacing:.14em; }
.gs-draft-footer-links a,.gs-draft-footer-contact a,.gs-draft-footer-contact span { color:#626a6e; font-size:10px; line-height:1.6; text-decoration:none; }
.gs-draft-footer-links a:hover,.gs-draft-footer-contact a:hover { color:#ad593d; }
.gs-draft-footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:15px; margin-top:14px; padding-top:12px; border-top:1px solid #e6dfd6; color:#8a8d8e; font-size:8px; }

.gs-booking { max-width:1040px; margin:62px auto 0; padding:42px; border:1px solid #e5ded5; border-radius:20px; background:#fff; box-shadow:0 18px 55px rgba(38,39,37,.055); color:#222b32; }
.gs-booking-heading { max-width:610px; margin-bottom:25px; }
.gs-booking-kicker { margin:0 0 8px; color:#b76245; font-size:9px; font-weight:800; letter-spacing:.16em; }
.gs-booking-heading h2 { margin:0; color:#1d2830; font-size:clamp(26px,4vw,38px); line-height:1.05; letter-spacing:-.045em; }
.gs-booking-heading>p:last-child { margin:9px 0 0; color:#747b80; font-size:12px; line-height:1.6; }
.gs-booking-form { display:flex; flex-direction:column; gap:10px; }
.gs-booking-step { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; padding:18px 0; border-top:1px solid #eee9e3; }
.gs-booking-step>span { display:grid; width:27px; height:27px; place-items:center; border-radius:9px; background:#f4e9e2; color:#aa593d; font-size:9px; font-weight:850; }
.gs-booking-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.gs-booking-fields h3 { grid-column:1/-1; margin:1px 0 0; color:#253039; font-size:14px; letter-spacing:-.025em; }
.gs-booking-fields>label,.gs-booking-contact label { display:flex; flex-direction:column; gap:5px; color:#525b61; font-size:10px; font-weight:700; }
.gs-booking-fields input:not([type=radio]),.gs-booking-fields select,.gs-booking-fields textarea,.gs-booking-contact input { width:100%; min-height:39px; margin:0; padding:9px 11px; border:1px solid #dfdcd7; border-radius:8px; background:#fff; color:#202a31; font:inherit; font-size:11px; box-shadow:none; }
.gs-booking-fields textarea,.gs-booking-contact textarea { min-height:74px; resize:vertical; }
.gs-booking-fields input:focus,.gs-booking-fields select:focus,.gs-booking-fields textarea:focus,.gs-booking-contact input:focus { border-color:#b76245; box-shadow:0 0 0 3px rgba(183,98,69,.1); outline:0; }
.gs-booking-fields select:disabled { color:#9da2a4; background:#f8f7f5; }
.gs-booking-notes,.gs-mail-address { grid-column:1/-1; }
.gs-booking-methods { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gs-method-card { display:flex; align-items:flex-start; gap:9px; min-height:67px; padding:13px; border:1px solid #e4ded6; border-radius:10px; background:#fdfcfb; cursor:pointer; }
.gs-method-card:has(input:checked) { border-color:#b76245; background:#fbf3ef; box-shadow:0 0 0 2px rgba(183,98,69,.08); }
.gs-method-card input { margin:2px 0 0; accent-color:#ae5c40; }
.gs-method-card b,.gs-method-card small { display:block; }
.gs-method-card b { color:#28323a; font-size:10px; }
.gs-method-card small { margin-top:4px; color:#777e82; font-size:9px; line-height:1.45; }
.gs-booking-date-row,.gs-booking-contact { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gs-booking-contact { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); }
.gs-date-hint { grid-column:1/-1; color:#84898b; font-size:9px; line-height:1.5; }
.gs-booking-submit { justify-self:start; display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:44px; padding:0 19px; border:0; border-radius:999px; background:#1c2831; color:#fff; font-size:11px; font-weight:800; cursor:pointer; transition:background .2s ease,transform .2s ease; }
.gs-booking-submit:hover { transform:translateY(-1px); background:#b76245; }
.gs-booking-submit:disabled { opacity:.55; cursor:wait; }
.gs-booking-message { grid-column:1/-1; color:#9a4f3e; font-size:10px; line-height:1.5; }
.gs-booking-message.is-success { padding:10px 12px; border:1px solid #d9e3df; border-radius:8px; background:#f2f6f4; color:#3b655a; }
.gs-booking-privacy { margin:15px 0 0 46px; color:#929696; font-size:8px; line-height:1.5; }
.gs-booking-honeypot { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; }
.gs-booking-error { padding:16px; border:1px solid #f0d4d4; border-radius:9px; color:#844b47; background:#fff7f6; }
@media(max-width:900px) { .gs-draft-header,.gs-draft-footer { width:calc(100% - 32px); } .gs-draft-nav { gap:14px; } .gs-booking { width:calc(100% - 32px); padding:28px; } }
@media(max-width:650px) { .gs-draft-header { min-height:68px; flex-wrap:wrap; padding:10px 0; gap:10px; } .gs-draft-header .gs-draft-nav { order:3; width:100%; justify-content:space-between; gap:8px; overflow:auto; } .gs-draft-nav a { font-size:9px; white-space:nowrap; } .gs-draft-header-cta { min-height:34px; padding:0 11px; font-size:9px !important; } .gs-draft-footer { grid-template-columns:1fr 1fr; gap:25px 18px; margin-top:35px; } .gs-draft-footer-main { grid-column:1/-1; } .gs-draft-footer-bottom { font-size:7px; } .gs-booking { width:calc(100% - 24px); margin-top:35px; padding:20px 15px; border-radius:14px; } .gs-booking-step { grid-template-columns:26px minmax(0,1fr); gap:8px; padding:15px 0; } .gs-booking-fields { grid-template-columns:1fr; } .gs-booking-fields h3,.gs-booking-notes,.gs-mail-address,.gs-booking-methods,.gs-date-hint,.gs-booking-contact { grid-column:1; } .gs-booking-methods { grid-template-columns:1fr; } .gs-booking-date-row,.gs-booking-contact { grid-template-columns:1fr; } .gs-booking-privacy { margin-left:34px; } }
@media(prefers-reduced-motion:reduce) { .gs-booking *, .gs-draft-header *, .gs-draft-footer * { transition-duration:.01ms !important; scroll-behavior:auto !important; } }
