/*
Theme Name: Luggage Storage
Description: Customer-facing theme for the BagUna luggage storage service.
Version: 0.4.0
Requires at least: 6.0
Requires PHP: 8.2
Text Domain: luggage-storage
*/

:root{--ink:#17202a;--muted:#627080;--line:#dce2e8;--surface:#fff;--soft:#f4f7fa;--accent:#1261a0;--danger:#a32222;--ok:#176b43;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--soft)}*{box-sizing:border-box}body{margin:0;line-height:1.5}a{color:var(--accent)}button,input,select{font:inherit}button,input,select{min-height:44px}button{cursor:pointer}.site-header,.site-footer{padding:18px clamp(16px,4vw,48px);background:#fff;border-bottom:1px solid var(--line)}.site-footer{border-top:1px solid var(--line);border-bottom:0;margin-top:48px}.site-title{font-weight:750;color:var(--ink);text-decoration:none}.booking-shell{width:min(1180px,calc(100% - 32px));margin:36px auto}.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:24px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(18px,3vw,30px);box-shadow:0 8px 28px rgba(23,32,42,.05)}.panel+ .panel,fieldset+fieldset{margin-top:20px}fieldset{border:0;padding:0;margin:0}legend,h1,h2{line-height:1.2}legend{font-size:1.25rem;font-weight:700;margin-bottom:14px}.field{display:grid;gap:6px;margin-bottom:16px}.field input,.field select{width:100%;border:1px solid #aab5c0;border-radius:8px;padding:9px 11px;background:#fff}.field input:focus,.field select:focus,button:focus-visible{outline:3px solid rgba(18,97,160,.28);outline-offset:2px}.date-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-grid .field:last-child{grid-column:1/-1}.tariff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tariff{border:1px solid var(--line);border-radius:12px;padding:14px}.tariff h3{margin:0 0 6px}.tariff p{margin:4px 0;color:var(--muted);font-size:.92rem}.quantity{display:flex;align-items:center;gap:8px;margin-top:12px}.quantity button{width:44px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-weight:700}.quantity input{width:52px;text-align:center;border:0;background:transparent}.summary{position:sticky;top:18px}.summary dl{margin:0}.summary div{padding:10px 0;border-bottom:1px solid var(--line)}.summary dt{color:var(--muted);font-size:.9rem}.summary dd{margin:3px 0 0;font-weight:650}.summary-total{font-size:1.35rem}.cta{width:100%;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:750;padding:12px 16px;margin-top:18px}.cta:disabled{opacity:.5;cursor:not-allowed}.notice{padding:12px 14px;border-radius:9px;margin:0 0 18px;background:#fff4e5;border:1px solid #e6b96d}.notice.error{color:var(--danger);background:#fff1f1;border-color:#e5aaaa}.schedule-state{min-height:25px;color:var(--muted);font-size:.92rem}.schedule-state.error{color:var(--danger)}.schedule-state.ok{color:var(--ok)}.confirmation{max-width:760px}.item-table{width:100%;border-collapse:collapse}.item-table th,.item-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}@media(max-width:820px){.booking-layout{grid-template-columns:1fr}.summary{position:static}.tariff-grid{grid-template-columns:1fr}}@media(max-width:560px){.date-grid,.contact-grid{grid-template-columns:1fr}.contact-grid .field:last-child{grid-column:auto}.booking-shell{width:min(100% - 20px,1180px);margin-top:20px}.panel{border-radius:12px;padding:16px}}

.personal-data-consent{display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:.9rem}.personal-data-consent input{flex:0 0 auto;min-height:auto;width:18px;height:18px;margin-top:3px}

.legal-page{max-width:940px}.booking-consent{font-size:.84rem;color:var(--muted);margin:18px 0 0}.legal-content{overflow-wrap:anywhere}.legal-content h2{margin-top:2rem;font-size:1.25rem}.legal-content li+li{margin-top:6px}.requisites{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px}.requisites dt{font-weight:700}.requisites dd{margin:0}.footer-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;gap:24px}.footer-inner span{display:block;color:var(--muted);font-size:.88rem;margin-top:3px}.footer-nav{display:flex;flex-wrap:wrap;gap:10px 22px}.footer-nav a{white-space:nowrap}@media(max-width:650px){.footer-inner{display:grid}.footer-nav{display:grid;gap:8px}}@media(max-width:560px){.requisites{grid-template-columns:1fr;gap:2px}.requisites dd{margin-bottom:10px}}

.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-title{font-size:1.2rem}.header-booking-link,.button-link{display:inline-block;color:#fff;background:var(--accent);border-radius:9px;padding:9px 15px;text-decoration:none;font-weight:700}.service-page{max-width:940px}.hero{font-size:1.08rem}.eyebrow{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.steps{padding-left:1.4rem}.steps li+li{margin-top:6px}.public-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.public-price-grid article{border:1px solid var(--line);border-radius:12px;padding:14px}.public-price-grid h3{margin:0 0 6px}@media(max-width:820px){.public-price-grid{grid-template-columns:1fr}}
