/* Stackstone Web sample wrapper: label strip, icons, focus and micro-interactions */
:root{--sw-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--sw-check-w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.sw-ic{width:1.05em;height:1.05em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.15em}
.logo i .sw-ic{width:20px;height:20px}
.sec .sw-ic,.in .lk .sw-ic{width:14px;height:14px;margin-right:2px}
.sw-strip{background:#10271f;color:#f4f1ea;font:500 12.5px/1.2 "Inter",system-ui,sans-serif;position:relative;z-index:50;border-bottom:1px solid rgba(184,145,78,.28)}
.sw-strip .w{max-width:1200px;margin:0 auto;padding:0 16px;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sw-tag{display:inline-flex;align-items:center;gap:8px;letter-spacing:.02em}
.sw-tag svg{width:8px;height:8px;fill:#B8914E}
.sw-strip a{display:inline-flex;align-items:center;gap:6px;color:#D8B778;text-decoration:none;font-size:13.5px;min-height:44px;white-space:nowrap}
.sw-strip a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.sw-strip a:hover svg{transform:translateX(-3px)}
.sw-strip a:hover{color:#f4f1ea}
.sw-strip a:focus-visible,[role=button]:focus-visible,[role=radio]:focus-visible,[role=checkbox]:focus-visible,.btn:focus-visible,input:focus-visible,label.drop:focus-within{outline:3px solid #B8914E;outline-offset:2px}
[role=button],[role=radio],[role=checkbox]{cursor:pointer;user-select:none}
a.btn[href^="tel:"]{text-decoration:none}
@media (prefers-reduced-motion:no-preference){
 .btn,[role=radio],[role=checkbox],[role=button]{transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s,background-color .18s,border-color .18s,color .18s}
 .btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(0,0,0,.45)}
 .btn:active,[role=radio]:active,[role=checkbox]:active{transform:scale(.97)}
 [role=radio]:hover,[role=checkbox]:hover{border-color:currentColor}
 body>*:not(.sw-strip):not(.sw-toast){animation:sw-in .7s cubic-bezier(.2,.7,.2,1) both}
 body>*:nth-child(3){animation-delay:.05s}body>*:nth-child(4){animation-delay:.12s}body>*:nth-child(5){animation-delay:.18s}
}
@keyframes sw-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.sw-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:min(92vw,440px);background:#10271f;color:#f4f1ea;font:500 15px/1.45 "Inter",system-ui,sans-serif;padding:12px 16px;border-radius:12px;border:1px solid rgba(184,145,78,.35);box-shadow:0 18px 40px -12px rgba(0,0,0,.45);transition:opacity .2s,transform .2s;z-index:99}
.sw-toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:700px){.sw-toast{bottom:84px}.sw-strip .w{font-size:11.5px}.sw-tag{font-size:11.5px}}
.sw-embed .sw-strip{display:none}
.sw-embed body>*{animation:none!important}
/* 44px tap targets */
.seg span{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.towns a{min-height:44px;display:inline-flex;align-items:center}
a.tap{min-height:44px;display:inline-flex;align-items:center}
/* v7: mock express checkout buttons (visual only, no payment API is called) */
.sw-pay{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 0}
.sw-pay-b{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;height:48px;min-height:44px;border:0;border-radius:8px;background:#000;color:#fff;cursor:pointer;padding:0 12px;font:inherit}
.sw-pay-b svg{display:block;height:20px;width:auto}
.sw-pay-b.sw-gpay svg{height:19px}
.sw-pay-b:focus-visible{outline:3px solid #B8914E;outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.sw-pay-b{transition:transform .15s,box-shadow .15s}.sw-pay-b:hover{box-shadow:0 8px 18px -10px rgba(0,0,0,.6)}.sw-pay-b:active{transform:scale(.98)}}
.sw-or{display:flex;align-items:center;gap:12px;margin:14px 0 10px;font:500 13px/1.2 "Inter",system-ui,sans-serif;color:#5d6066}
.sw-or:before,.sw-or:after{content:"";flex:1;height:1px;background:currentColor;opacity:.28}
.sw-paynote{font:400 12px/1.4 "Inter",system-ui,sans-serif;color:#5d6066;margin:8px 0 0}
.sw-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* v7: 44px minimum targets */
a.logo{min-height:44px}
body[data-site=coldharrow] .times span,body[data-site=larkwash] .chk span,body[data-site=larkwash] [role=radio],body[data-site=larkwash] [role=checkbox]{min-height:44px}
@media (max-width:700px){a.btn.call{min-height:44px;min-width:44px}}
