@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600&family=Inter:wght@400;500&display=swap";:root{--color-bg:#fdf7f3;--logo-bg:#fdf7f3;--color-primary:#1f3d2b;--color-secondary:#5a6b60;--color-accent:#c2b59b;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--ink-faint:#d7d1c6}*{box-sizing:border-box}body{background-color:var(--color-bg);color:var(--color-primary);font-family:var(--font-body);min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:.02em}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.landing-page{text-align:center;background:var(--logo-bg);flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem 1rem;display:flex}.fade-in{animation:.24s both softFadeIn}.fade-out{animation:.22s both softFadeOut}@keyframes softFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes softFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)}}.logo-entry{cursor:pointer;box-shadow:none;background:0 0;border:none;padding:0}.logo-entry:hover,.logo-entry:focus-visible{background:0 0;transform:scale(1.01)}.main-logo{width:min(640px,92vw);height:auto}.auth-overlay{z-index:50;background:#06140d8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.auth-modal{color:#f0fbf3;text-align:left;background:linear-gradient(#1d4f37 0%,#143726 100%);border:1px solid #e0f2e559;border-radius:16px;width:min(430px,96vw);padding:1rem;box-shadow:0 24px 56px #00000057}.auth-modal h2{color:#f6fff8;margin:0}.auth-modal p{color:#d3ecd9;margin:.5rem 0 .8rem}.auth-modal label{margin:0 0 .35rem;font-size:.9rem;display:block}.auth-modal input{color:#173a2a;background:#ffffffed;border:1px solid #e0f2e580;border-radius:10px;width:100%;padding:.56rem .62rem;font-size:.96rem}.auth-error{color:#ffe8a8;margin:.55rem 0 0;font-size:.88rem}.auth-actions{gap:.55rem;margin-top:.82rem;display:flex}.auth-actions button{flex:1}.auth-cancel{background:#fff3;border:1px solid #e0f2e566}.auth-cancel:hover{background:#ffffff4d}.header-logo-link{width:100%;box-shadow:none;background:0 0;border:none;justify-content:center;margin:.35rem 0 1.55rem;padding:0;display:flex}.header-logo-link:hover,.header-logo-link:focus-visible{background:0 0}.header-logo{width:min(290px,78%);height:auto;display:block}.store-frame{width:min(1140px,96vw);margin:2.5rem auto}.page-shell{border:1px solid var(--ink-faint);background:linear-gradient(#ffffffe6,#f9f5ebf5);border-radius:24px;width:100%;margin:0;padding:1.6rem 2.25rem 2.25rem;box-shadow:0 30px 80px #10211b1f}.hero{margin-bottom:1.45rem;display:block;position:relative}.hero-topbar{grid-template-columns:2.5rem 1fr 2.5rem;align-items:start;display:grid}.menu-spacer{width:2.5rem;height:2.5rem}.menu-wrap{justify-self:end;position:relative}.menu-toggle{border-radius:10px;flex-direction:column;justify-content:center;justify-self:end;gap:.27rem;width:2.5rem;height:2.5rem;padding:.5rem;display:flex}.menu-toggle span{background:#fff;border-radius:999px;width:100%;height:2px}.menu-panel{z-index:20;border:1px solid var(--ink-faint);background:#fffffff2;border-radius:12px;gap:.35rem;min-width:13.5rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 14px 35px #0c1c2429}.menu-link{text-align:left;width:100%;color:var(--color-primary);border:1px solid var(--ink-faint);background:#fff}.menu-link:hover{background:#fff9}h1{color:var(--color-primary);margin:0 0 .55rem;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.controls{align-items:center;gap:.75rem;margin-bottom:1.1rem;display:flex}.controls select{border:1px solid var(--ink-faint);background:#fff;border-radius:10px;padding:.45rem .65rem;font-size:1rem}.county-profile{border:1px solid var(--ink-faint);background:#fffc;border-radius:14px;margin-bottom:1.1rem;padding:.9rem 1rem}.info-page{border:1px solid var(--ink-faint);background:#ffffffe6;border-radius:16px;padding:1rem}.info-page h2{margin-top:0}.about-chief-card{border:1px solid var(--ink-faint);background:#ffffffc7;border-radius:14px;grid-template-columns:220px 1fr;align-items:center;gap:1rem;margin:.6rem 0 .9rem;padding:.9rem;display:grid}.about-chief-image-wrap{border-radius:12px;overflow:hidden}.about-chief-image{object-fit:cover;width:100%;height:100%;display:block}.about-chief-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--color-secondary);margin:0;font-size:.78rem}.about-chief-copy h3{color:var(--color-primary);margin:.25rem 0 .45rem}.about-chief-copy p{color:var(--color-secondary);margin:0}.basket-page-panel{max-width:520px;margin-top:.8rem}.county-map-intro{color:var(--color-secondary);margin:.35rem 0 .9rem}.county-map-wrap{border:1px solid var(--ink-faint);background:#ffffffe6;border-radius:14px;justify-content:center;padding:.75rem;display:flex;overflow:auto}.county-map-wrap svg{width:min(760px,100%);height:auto;margin:0 auto;display:block}.county-map-current{color:var(--color-primary);margin:.85rem 0 0;font-weight:700}.ulster-county-picker{border:1px solid var(--ink-faint);background:#fffc;border-radius:12px;margin-top:.8rem;padding:.7rem}.ulster-county-picker p{color:var(--color-secondary);margin:0 0 .55rem}.ulster-county-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.ulster-county-button{width:100%}.ulster-hint{color:var(--color-secondary);margin:.65rem 0 0;font-size:.92rem}.checkout-intro{color:var(--color-secondary);margin:.35rem 0 .9rem}.checkout-grid{grid-template-columns:1.25fr .75fr;gap:1rem;display:grid}.checkout-form fieldset{border:1px solid var(--ink-faint);background:#fffc;border-radius:12px;margin:0 0 .9rem;padding:.75rem}.checkout-form legend{color:var(--color-primary);padding:0 .25rem;font-weight:700}.checkout-form label{color:var(--color-primary);gap:.35rem;margin-bottom:.65rem;font-size:.92rem;display:grid}.checkout-form input{border:1px solid var(--ink-faint);background:#fff;border-radius:10px;padding:.5rem .6rem;font-size:.95rem}.checkout-row-2{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.radio-row{align-items:center;gap:.45rem;margin-bottom:.5rem;display:flex}.radio-row input{margin:0}.place-order{width:100%}.checkout-summary{border:1px solid var(--ink-faint);background:#ffffffdb;border-radius:14px;height:fit-content;padding:.9rem}.checkout-underconst-wrap{border-radius:12px;overflow:hidden}.checkout-underconst-image{width:100%;display:block}.checkout-underconst-tag{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.06em;margin:.55rem 0 .8rem;font-size:.86rem}.checkout-summary-lines{gap:.35rem;display:grid}.checkout-summary-lines p{color:var(--color-secondary);justify-content:space-between;gap:.6rem;margin:0;display:flex}.checkout-summary-lines strong{color:var(--color-primary)}.checkout-total-line{border-top:1px dashed var(--ink-faint);margin-top:.2rem;padding-top:.45rem}.checkout-disclaimer{color:var(--color-secondary);margin:.85rem 0 0;font-size:.88rem}.county-profile p{margin:.3rem 0}.quick-facts-title{margin-top:.55rem;font-weight:700}.quick-fact-item{color:var(--color-secondary)}.layout{grid-template-columns:1.4fr .6fr;gap:1rem;display:grid}.catalog-panel{min-width:0}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.card{border:1px solid var(--ink-faint);background:#fff;border-radius:16px;padding:1rem}.card-media-link{background:0 0;border:none;border-radius:12px;width:100%;padding:0}.card-media-link:hover,.card-media-link:focus-visible{background:0 0}.product-image{aspect-ratio:4/3;object-fit:contain;border:1px solid var(--ink-faint);background:#f8f6f1;border-radius:12px;width:100%;margin-bottom:.7rem}.product-tag{color:var(--color-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.78rem}h2{color:var(--color-primary);margin:.35rem 0 0;font-size:1.1rem}.card-title-link{color:inherit;font:inherit;text-align:left;background:0 0;border:none;padding:0}.card-title-link:hover,.card-title-link:focus-visible{opacity:.8;background:0 0}.description{color:var(--color-secondary);min-height:2.6rem;margin:.6rem 0 0}.card-footer{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.9rem;display:flex}.price{color:var(--color-primary);margin:0;font-size:1.15rem}button{cursor:pointer;background:var(--color-primary);color:var(--color-bg);border:0;border-radius:10px;padding:.52rem .74rem;font-size:.95rem}button:hover{background:#173020}.cart{border:1px solid var(--ink-faint);background:#fcfbf8;border-radius:16px;padding:1rem}.cart-count,.empty,.checkout-note,.item-price{color:var(--color-secondary);margin:0}.cart-list{gap:.7rem;margin-top:.8rem;display:grid}.cart-item{border-bottom:1px dashed var(--ink-faint);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.5rem;display:flex}.item-name{color:var(--color-primary);margin:0;font-size:.95rem}.qty-controls{align-items:center;gap:.4rem;display:flex}.qty-controls button{border-radius:50%;width:1.7rem;height:1.7rem;padding:0}.totals{color:var(--color-primary);justify-content:space-between;margin-top:.9rem;font-weight:700;display:flex}.checkout{background:var(--color-primary);width:100%;margin-top:.85rem}.checkout:hover{background:#173020}.checkout:disabled{opacity:.45;cursor:not-allowed}.checkout-note{margin-top:.65rem;font-size:.85rem}.footer-note{border-top:1px solid var(--ink-faint);color:var(--color-secondary);margin-top:1.3rem;padding-top:1rem}.product-detail{border:1px solid var(--ink-faint);background:#fff;border-radius:16px;padding:1rem}.product-detail-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem;display:grid}.product-detail-image{border:1px solid var(--ink-faint);background:#f8f6f1;border-radius:14px;width:100%}.detail-copy{color:var(--color-secondary)}.detail-cta-row{align-items:center;gap:.8rem;margin-top:.7rem;display:flex}.county-theme-custom{background:var(--county-gradient)}.county-theme-custom .county-profile,.county-theme-custom .card,.county-theme-custom .product-detail,.county-theme-custom .cart{background:var(--county-surface-bg)}.fixed-green-theme{--color-primary:#f3fff6;--color-secondary:#e0f2e5;--ink-faint:#d5ebdc85;background:linear-gradient(#1a4a34 0%,#0d2418 100%)}.fixed-green-theme .info-page,.fixed-green-theme .cart,.fixed-green-theme .about-chief-card,.fixed-green-theme .checkout-form fieldset,.fixed-green-theme .checkout-summary,.fixed-green-theme .footer-note{background:#081f1494}.fixed-green-theme .info-page p,.fixed-green-theme .checkout-form label,.fixed-green-theme .checkout-form legend,.fixed-green-theme .cart-count,.fixed-green-theme .empty,.fixed-green-theme .item-price,.fixed-green-theme .checkout-note,.fixed-green-theme .qty-controls span,.fixed-green-theme .totals p{color:var(--color-primary)}.fixed-green-theme .about-chief-copy p,.fixed-green-theme .checkout-summary-lines p,.fixed-green-theme .checkout-disclaimer,.fixed-green-theme .checkout-underconst-tag,.fixed-green-theme .footer-note{color:var(--color-secondary)}.fixed-green-theme .cart-item{border-bottom-color:#d5ebdc5c}.fixed-green-theme .checkout-form input{color:#173a2a;background:#fffffff0;border-color:#d5ebdca3}.fixed-green-theme button{color:#f4fbf6;background:#2b6d4d}.fixed-green-theme button:hover{background:#245e42}@media (width<=980px){.layout{grid-template-columns:1fr}.cart{order:-1}}@media (width<=720px){.store-frame{width:100%;margin:0}.page-shell{border-left:0;border-right:0;border-radius:0;width:100%;margin:0;padding:1rem}.catalog,.product-detail-grid,.checkout-grid,.checkout-row-2{grid-template-columns:1fr}.ulster-county-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-chief-card{grid-template-columns:1fr}.hero-topbar{grid-template-columns:2.2rem minmax(0,1fr) 2.2rem}.menu-wrap{justify-self:end;margin-right:.2rem}.menu-spacer,.menu-toggle{width:2.2rem;height:2.2rem}.menu-panel{min-width:12rem}.main-logo{width:min(980px,160vw);max-width:none}.auth-actions{flex-direction:column}}@media (width<=420px){.main-logo{width:min(1080px,185vw)}.ulster-county-grid{grid-template-columns:1fr}}@media (width<=960px){.store-frame{margin:1rem auto}.page-shell{padding:1rem}.layout,.catalog{grid-template-columns:1fr}}
