/* editable header/footer colors; vars set once in base head */
.header{background:var(--hdr-bg,rgba(250,247,240,.94));color:var(--hdr-fg,var(--ink))}
.header .tool,.header .logo,.header .nav a{color:var(--hdr-fg,var(--ink))}
.header .logo small{color:inherit;opacity:.72}
.header .tool:hover{background:color-mix(in srgb,var(--hdr-fg) 10%,transparent)}
.header .nav a::after{background:var(--hdr-fg,var(--forest))}
.header .nav{border-top-color:color-mix(in srgb,var(--hdr-fg) 14%,transparent)}
.header .search input{color:var(--ink)}
.logo-img{width:auto;height:auto;max-height:var(--logo-height,64px);max-width:280px;object-fit:contain;flex:none}
.logo{min-width:0}
.admin-side .logo-img{max-width:160px}
@media(min-width:901px){.header-row{height:auto;min-height:72px;padding:8px 0}}
@media(max-width:600px){.logo-img{max-width:180px;max-height:min(var(--logo-height,64px),64px)}}
.footer{background:var(--ftr-bg,#1b1d20);color:var(--ftr-fg,#a9a597)}
.footer a,.footer .logo,.footer h4{color:var(--ftr-fg,#a9a597)}
.footer .logo small{color:inherit;opacity:.7}
.footer a:hover{color:var(--ftr-fg);text-decoration:underline}
.footer h4{opacity:.85}
.footer-base{border-top-color:color-mix(in srgb,var(--ftr-fg) 18%,transparent)}
.footer-contact{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:6px;font-style:normal}
.drawer-sec{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:8px}
.drawer-panel ul{list-style:none;margin:0;padding:0}
/* admin appearance */
.ap-sec{margin-bottom:22px}
.ap-sec h2{font-size:1.4rem;margin-bottom:4px}
.ap-sec>p{margin-bottom:18px}
.ap-colors{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ap-color{display:flex;gap:8px;align-items:center}
.ap-color input[type=color]{width:52px;height:44px;padding:2px;border:1px solid var(--line);border-radius:var(--r);background:#fffdf8;flex:none}
.ap-links textarea{font-family:var(--mono);font-size:.85rem;min-height:140px}
.ap-checks{display:flex;flex-wrap:wrap;gap:12px 24px}
.ap-checks .check{min-height:32px}
.ap-save{position:sticky;bottom:0;background:var(--warm);padding:14px 0;border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media (max-width:640px){.ap-colors{grid-template-columns:1fr}}
.ap-sec input[type=url]{width:100%;padding:.75em .9em;border:1px solid var(--line);border-radius:var(--r);background:#fffdf8;font:inherit;color:var(--ink)}
.footer-company-info{margin-top:30px;padding:22px 0;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);font-size:.82rem;line-height:1.7;overflow-wrap:anywhere}
.footer-company-info p{margin:0 0 6px}
.footer-company-info address{display:grid;gap:2px;font-style:normal}
.footer-company-address,.footer-company-extra{white-space:pre-line}
.footer-company-info .footer-company-extra{margin-top:10px;margin-bottom:0}
.footer-payment-section{padding:22px 0 0;margin-top:22px;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);text-align:center}
.footer-company-info+.footer-payment-section{margin-top:0}
.footer-payment-icons{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:0!important;margin:0!important;list-style:none}
.footer-payment-icons li{padding:0!important;margin:0!important}
.footer-payment-icons img{display:block;width:46px;height:29px;object-fit:contain;border-radius:3px}
.footer-payment-note{font-size:.7rem;opacity:.8;margin:10px 0 0}
.footer:has(.footer-payment-section) .footer-base{justify-content:center;border-top:0;margin-top:16px;padding-top:0;padding-bottom:0;text-align:center}
.co-footer .footer-company-info,.co-footer .footer-payment-section{flex-basis:100%;text-align:left}
.co-footer .footer-payment-section{text-align:center}
.ap-payment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.ap-payment-options .check{gap:10px;min-width:0}
.ap-payment-options img{object-fit:contain;flex-shrink:0}
@media(max-width:640px){.ap-payment-options{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-company-info{font-size:.8rem}.footer-payment-icons{gap:6px}}
@media(max-width:420px){.ap-payment-options{grid-template-columns:1fr}}
