/* Shared layout and visual rhythm across storefront, services and administration. */
:root{--ui-radius:18px;--ui-space:clamp(20px,3vw,40px)}
main .container{padding-block:clamp(28px,4vw,60px)}
main .page-head{padding-bottom:28px;margin-bottom:32px;max-width:100%}
main .page-head h1{font-size:clamp(28px,3.6vw,48px);line-height:1.25;letter-spacing:-.035em}
main .page-head p{max-width:72ch;line-height:1.8;color:var(--muted)}
main :is(.panel,.card,.product-card,.article-card){border-radius:var(--ui-radius)}
main .grid{gap:clamp(16px,2.2vw,28px)}
main :is(input,select,textarea){border-radius:12px;max-width:100%}
main :is(button,.button){border-radius:12px}
main .prose{max-width:78ch;line-height:1.9}main img{max-width:100%}
[data-section-icon]:before{content:'';display:inline-block;vertical-align:-.12em;width:.85em;height:.85em;margin-inline-end:.38em;background:currentColor;mask:url('/assets/icons/general.svg') center/contain no-repeat;opacity:.72}
[data-section-icon="shop"]:before{mask-image:url("/assets/icons/shop.svg")}
[data-section-icon="journal"]:before{mask-image:url("/assets/icons/journal.svg")}
[data-section-icon="farm"]:before{mask-image:url("/assets/icons/farm.svg")}
[data-section-icon="service"]:before{mask-image:url("/assets/icons/service.svg")}
[data-section-icon="account"]:before{mask-image:url("/assets/icons/account.svg")}
[data-section-icon="design"]:before{mask-image:url("/assets/icons/design.svg")}
[data-section-icon="contact"]:before{mask-image:url("/assets/icons/contact.svg")}
.preferences{gap:5px;flex-wrap:wrap;justify-content:flex-end}.preferences button{border-radius:8px;min-height:32px}.language-mark{font-size:18px;color:#f3cf45}.topline{flex-wrap:wrap}.topline>span:first-child{font-size:10px}
@media(max-width:760px){.topline{gap:8px;padding:10px 16px}.preferences{margin-left:0;width:100%;justify-content:flex-start;gap:5px}.preferences button{padding:6px 8px}main .page-head{margin-bottom:24px}main .grid{gap:18px}main .container{padding-block:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 48px}.home-shortcuts a{display:flex;align-items:center;gap:12px;padding:18px;border-radius:16px;background:var(--white);color:var(--ink);text-decoration:none}.home-shortcuts img{width:24px;height:24px;opacity:.75}[data-theme=dark] .home-shortcuts img{filter:invert(1)}@media(max-width:760px){.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-shortcuts a{padding:14px;font-size:13px}}

.preferences button img{display:inline-block;vertical-align:-1px;border-radius:2px}

/* Compact mobile utility bar; desktop keeps its text labels. */
.preference-icon{display:inline-block;width:17px;height:17px;vertical-align:-3px;flex-shrink:0}.topline>a>.preference-icon{display:none}.preferences button{display:inline-flex;align-items:center;justify-content:center;gap:5px}
@media(max-width:760px){.topline{display:flex;flex-wrap:nowrap;gap:4px;padding:6px 12px;min-height:52px}.topline>span:first-child,.topline .language-mark,.topline .preference-label{display:none}.topline>a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;margin:0;border:1px solid #656b60;border-radius:8px}.topline>a>.preference-icon{display:block}.topline .preferences{display:flex;flex:1;width:auto;margin:0;gap:4px;flex-wrap:nowrap;justify-content:flex-end}.topline .preferences button{width:40px;height:40px;min-height:40px;flex:0 0 40px;padding:0}.topline .preference-icon{width:19px;height:19px}.topline .preferences button img{width:20px;height:14px}}
@media(max-width:360px){.topline>a,.topline .preferences button{width:36px;height:36px;min-height:36px;flex-basis:36px}.topline{min-height:48px}}
/* The entire notification is its keyboard-accessible action. */
.inbox-card[data-notification-card]{cursor:pointer;transition:border-color .16s,box-shadow .16s}
.inbox-card[data-notification-card]:hover{border-color:var(--ink);box-shadow:0 5px 18px #0000000c}
.inbox-card[data-notification-card]:focus-visible{outline:3px solid #d6b62c;outline-offset:3px}
.inbox-card[data-notification-card][aria-busy=true]{cursor:progress;opacity:.7}
.inbox-read-status{display:block;margin-top:12px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.inbox-card[data-notification-card]{transition:none}}
/* Quiet, legible account entry; keep decorative grids outside the form. */
.auth-shell.panel{--auth-surface:#fff;--auth-secondary:#f6f7f9;--auth-text:#20252b;--auth-muted:#58616d;--auth-border:#dfe3e8;background:var(--auth-surface)!important;background-image:none!important;color:var(--auth-text);max-width:560px;padding:44px 36px 28px;border:1px solid var(--auth-border);border-radius:24px;box-shadow:0 20px 64px #14203012}
[data-theme=dark] .auth-shell.panel{--auth-surface:#1b1e22;--auth-secondary:#24282e;--auth-text:#f0f2f5;--auth-muted:#b5bec9;--auth-border:#3b424c}
.auth-shell::before,.auth-shell::after,.auth-shell .grid-surface::before,.auth-shell .grid-surface::after{display:none!important}
.auth-shell .grid-surface{background-image:none!important}
.auth-wordmark{display:block;font-size:12px;font-weight:700;letter-spacing:.24em;margin:0 24px 22px}
.auth-shell h1{font-size:30px;line-height:1.4;margin:0 0 12px}
.auth-shell h1 .icon,.auth-shell h2 .icon{display:none}
.auth-shell .auth-intro{font-size:14px;line-height:1.8;color:var(--auth-muted);margin:0 auto 28px;max-width:350px}
.auth-shell .auth-choice-title{font-size:14px;text-align:left;margin:0 0 12px;line-height:1.6;letter-spacing:0}
.auth-shell .auth-provider{border:1px solid var(--auth-border);border-radius:12px;background:var(--auth-surface);padding:15px 18px;min-height:68px;gap:14px;color:var(--auth-text);box-shadow:none}
.auth-shell .auth-email{background:#f4d13f;border-color:#f4d13f;color:#20231e;min-height:72px}
.auth-shell .auth-email:not(:disabled):hover{background:#f9dc68;border-color:#d4b328}
.auth-shell .auth-provider b{font-size:14px;line-height:1.6;font-weight:600}
.auth-shell .auth-provider:disabled{opacity:1;background:var(--auth-secondary);color:var(--auth-muted);border-color:var(--auth-border)}
.auth-shell .auth-provider:disabled img,.auth-shell .auth-provider:disabled .google-letter{opacity:.65}
.auth-shell .auth-provider small{font-size:12px;line-height:1.6;color:var(--auth-muted);margin-top:3px}
.auth-shell .auth-providers{gap:10px}
.auth-shell .auth-divider{margin:23px 0;font-size:12px;color:var(--auth-muted)}
.auth-shell .auth-switch{font-size:14px;line-height:1.8;margin:26px 0 22px}
.auth-shell .auth-privacy{color:var(--auth-muted);font-size:12px;line-height:1.9;border-color:var(--auth-border)}
.auth-shell .auth-close{background:var(--auth-secondary);border-color:var(--auth-border);color:var(--auth-text)}
.auth-shell input{background:var(--auth-secondary)!important;color:var(--auth-text);border-color:var(--auth-border)!important}
.auth-shell .auth-stage{overflow:visible}
.auth-shell button:focus-visible,.auth-shell a:focus-visible{outline:3px solid #b89b19;outline-offset:4px}
@media(max-width:600px){.auth-shell.panel{padding:40px 22px 26px;margin:18px auto 32px;border-radius:20px}.auth-shell h1{font-size:27px}.auth-shell .auth-provider{padding:14px;gap:12px}.auth-shell .auth-email b{font-size:13px}.auth-shell .auth-mail{font-size:23px}.auth-shell[data-auth-mode=register]{padding-top:64px}}
.auth-shell .surface-grid{display:none!important}.auth-shell .auth-choice-title{font-size:14px!important;line-height:1.6!important}.auth-shell h1 svg,.auth-shell h2 svg{display:none!important}
/* Keep mobile utilities in the navigation drawer; reuse their original controls. */
@media(max-width:1190px){body>.topline,.page-flight-preview>.topline{display:none!important}}
#mobile-menu-panel>.topline{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px;margin:0;padding:16px 20px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--white);color:var(--ink)}
#mobile-menu-panel>.topline>span{display:none}
#mobile-menu-panel>.topline>a{font-size:12px;letter-spacing:0;white-space:nowrap}
#mobile-menu-panel .preferences{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;margin:0;max-width:100%}
#mobile-menu-panel .preferences button{min-width:38px;min-height:40px}
#mobile-menu-panel .preferences button{color:var(--ink);background:var(--paper);border-color:var(--muted)}
#mobile-menu-panel .preferences button[data-language][aria-pressed=true]{background:#f3cf45;color:#20231e;border-color:#c5a326}
#mobile-menu-panel .preferences button:hover{border-color:var(--ink)}
#mobile-menu-panel .preferences button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
#mobile-menu-panel .language-mark{color:var(--muted)}
#mobile-menu-panel .preferences .preference-label{display:none}
#mobile-menu-panel .nav{flex:1}

/* A clearly bounded account menu, with a separate sign-out action. */
.account-menu>.dropdown{min-width:268px;max-width:calc(100vw - 32px);padding:10px;background:#fff;color:#20242a;border:1px solid #cdd2d9;border-radius:16px;box-shadow:0 16px 48px #00000026;z-index:80}
.account-menu>.dropdown>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:11px 14px;font-size:14px;font-weight:600;line-height:1.5;border-radius:8px}
.account-menu>.dropdown>a::after{content:'›';font-size:21px;opacity:.6}
.account-menu>.dropdown>a+a{border-top:1px solid #e9ecf0}
.account-menu>.dropdown>a:hover,.account-menu>.dropdown>a:focus-visible{background:#fff3bc;color:#20242a}
.account-menu #header-logout{display:block;width:100%;margin:10px 0 0;padding:11px 14px;min-height:44px;border:1px solid #e6c6c6;background:#fff4f4;color:#963737;text-align:center;font-weight:600}
[data-theme=dark] .account-menu>.dropdown{background:#25282e;color:#f5f6f8;border-color:#525964;box-shadow:0 18px 50px #0009}
[data-theme=dark] .account-menu>.dropdown>a+a{border-top-color:#3e444e}
[data-theme=dark] .account-menu>.dropdown>a:hover,[data-theme=dark] .account-menu>.dropdown>a:focus-visible{background:#42402d;color:#ffe577}
[data-theme=dark] .account-menu #header-logout{background:#392b2e;border-color:#755154;color:#ffbcbc}
.notice-popup{width:min(440px,calc(100vw - 28px));max-height:80dvh;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 24px 80px #0006}
.notice-popup::backdrop{background:#0005;backdrop-filter:blur(3px)}
.notice-popup-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--line)}
.notice-popup-head h2{margin:0;font-size:21px}.notice-popup-list{max-height:52dvh;overflow:auto;padding:10px 16px}.notice-popup-item{display:flex;flex-direction:column;gap:7px;width:100%;padding:16px 12px;text-align:left;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.notice-popup-item:hover,.notice-popup-item:focus-visible{background:var(--paper)}.notice-popup-item strong{font-size:15px}.notice-popup-item span{font-size:13px;line-height:1.65}.notice-popup-item small{color:var(--muted)}.notice-popup-empty{padding:28px 10px;text-align:center}.notice-popup-all{display:flex;margin:16px;justify-content:center}.notice-popup-head button{min-width:40px;min-height:40px}
#preview-notice-sound{margin:12px 0}#notice-sound-status{font-size:13px}
dialog.notice-popup{background:#fff;color:#20242a}[data-theme=dark] dialog.notice-popup{background:#25282e;color:#f5f6f8}

/* Keep sitemap descriptions together and reserve one narrow arrow column. */
.sitemap-groups .sitemap-links>a{display:grid;grid-template-columns:minmax(0,1fr) 18px;grid-template-rows:auto auto;column-gap:12px;row-gap:4px;align-items:start}
.sitemap-groups .sitemap-links>a>span:first-child{grid-column:1;grid-row:1;min-width:0;white-space:normal;overflow-wrap:anywhere;color:var(--ink);font-weight:600;line-height:1.5}
.sitemap-groups .sitemap-links>a>small{grid-column:1;grid-row:2;min-width:0;margin:0;line-height:1.6;overflow-wrap:anywhere}
.sitemap-groups .sitemap-links>a>span[aria-hidden]{grid-column:2;grid-row:1/3;align-self:center;text-align:center;margin:0}
@media(max-width:600px){
 .sitemap-groups{gap:22px}
 .sitemap-groups h3{margin-bottom:12px;font-size:18px}
 .sitemap-groups .sitemap-links{gap:0;padding:4px;max-height:300px;scrollbar-gutter:auto}
 .sitemap-groups .sitemap-links>a{padding:12px;min-height:48px;font-size:14px}
 .sitemap-groups .sitemap-links>a+a{border-top:1px solid var(--line)}
 .sitemap-groups .sitemap-links>a>small{font-size:12px}
}
