/* Shared spacing for public/member pages. Map and admin keep their own layouts. */
.compact-main{padding-inline:clamp(16px,3vw,40px);padding-bottom:36px}
.compact-main .page-heading{padding:26px 0 20px;gap:18px}
.compact-main .page-heading>div{min-width:0}
.compact-main .page-heading h1{font-size:40px;line-height:1.15;letter-spacing:-1px;margin:0 0 10px}
.compact-main .page-heading .eyebrow{margin-bottom:8px}
.compact-main .page-heading p:not(.eyebrow){font-size:15px;line-height:1.6}
.compact-main .section-heading{gap:16px;margin-bottom:18px}
.compact-main .section-heading h2,.compact-main>h2{font-size:28px;line-height:1.2}
.compact-main .section-heading .eyebrow{margin-bottom:6px}
.compact-main .top-section{margin-top:32px}
.compact-main .top-gap{margin-top:16px}
.compact-main .breadcrumb{display:inline-flex;align-items:center;min-height:44px;margin:10px 0 14px}
.compact-main .actions{gap:12px;flex-wrap:wrap}
.compact-main .button{min-height:44px;padding:10px 16px;gap:12px}
.compact-main .filters{padding:14px;gap:12px;margin-bottom:16px}
.compact-main .filters label{margin-bottom:0}
.compact-main .filters .button{align-self:end}
.compact-main .result-line{margin-bottom:16px}
.compact-main .card-grid{gap:16px}
.compact-main .wine-card .wine-art{height:190px}
.compact-main .wine-card .wine-art>img.bottle-placeholder{height:154px;width:62px}
.compact-main .wine-card-body{padding:16px}
.compact-main .wine-card-body .eyebrow{margin-bottom:6px}
.compact-main .wine-card h3{font-size:23px;line-height:1.25;margin-bottom:12px}
.compact-main .place-card{padding:20px}
.compact-main .place-mark{width:38px;height:38px;font-size:23px;margin-bottom:12px}
.compact-main .place-card :is(h2,h3){font-size:25px;line-height:1.2;margin-bottom:12px}
.compact-main .place-card .eyebrow{margin-bottom:8px}
.compact-main .place-card p:not(.eyebrow){line-height:1.65;margin-bottom:12px}
.compact-main .place-card .text-link{min-height:44px;align-items:center}
.compact-main .empty-state{padding:30px 20px;margin:18px 0}
.compact-main .empty-state h2{font-size:28px;margin:12px 0}
.compact-main .form-panel{padding:24px;max-width:960px}
.compact-main .form-grid{gap:14px 18px;align-items:end}
.compact-main .field{gap:6px;margin-bottom:14px}
.compact-main .form-grid .field{margin-bottom:0}
.compact-main .field-help{margin:8px 0;line-height:1.6}
.compact-main .form-actions{margin-top:18px;gap:12px}
.compact-main :is(.form-panel,.auth-form,.filters) input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),
.compact-main :is(.form-panel,.auth-form,.filters) select{min-height:48px;padding:10px 12px;line-height:1.5}
.compact-main :is(.form-panel,.auth-form) textarea{padding:10px 12px;line-height:1.6}
.compact-main :is(.form-panel,.auth-form) h2{font-size:26px;line-height:1.2;margin-bottom:14px}
.compact-main .producer-picker .producer-control input{padding-right:48px}
.compact-main .import-page .import-heading{padding:24px 0 0;margin-bottom:16px}
.compact-main .import-page .import-heading h1{font-size:36px}
.compact-main .import-page .import-chooser{padding:18px}
.compact-main .import-method-links{margin-bottom:14px}
.compact-main .import-review{padding-bottom:18px;margin-bottom:18px}
.compact-main .wine-entry-details>summary,.compact-main .wine-more-details>summary{padding:10px 0;min-height:44px}
.compact-main .wine-entry-details>h2{margin-top:10px}
.compact-main .origin-form{padding:14px;margin:16px 0}
.compact-main .quick-stock{padding:14px;margin:14px 0}
.compact-main .wine-detail{gap:32px;margin-bottom:30px}
.compact-main .wine-detail h1{font-size:38px;line-height:1.15;margin-bottom:14px}
.compact-main .wine-detail-art{height:360px}
.compact-main .wine-detail-art>img.bottle-placeholder{height:280px;width:112px}
.compact-main .wine-facts{gap:12px 18px;margin:18px 0}
.compact-main .wine-facts div{padding-top:8px}
.compact-main .wine-facts dd{margin-top:4px}
.compact-main .detail-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-top:28px}
.compact-main .detail-columns h2,.compact-main .photo-section>h2{font-size:28px;margin-bottom:16px}
.compact-main .review{padding:14px 0}
.compact-main .photo-section{margin-top:30px}
.compact-main .photo-grid{gap:12px}
.compact-main .photo-grid img{height:150px}
.compact-main .place-hero{gap:28px}
.compact-main .place-info{padding:24px}
.compact-main .place-hero h1{font-size:40px;line-height:1.15;margin-bottom:16px}
.compact-main .place-resume .editorial-body{line-height:1.7}
.compact-main .place-resume .editorial-body h2{margin-top:20px;margin-bottom:12px}
.compact-main .article{padding:22px;margin-bottom:16px}
.compact-main .article h3{font-size:24px;margin-bottom:12px}
.compact-main .collection-stats{padding:16px;gap:16px;margin-bottom:18px}
.compact-main .collection-stats>div{padding:0 10px}
.compact-main .collection-stats strong{font-size:28px;line-height:1.3}
.compact-main .collection-shortcuts,.compact-main .purchase-tabs{gap:6px;margin:14px 0}
.compact-main .collection-shortcuts a,.compact-main .purchase-tabs a{padding:9px 12px}
.compact-main .collection-row{gap:18px;padding:16px 0}
.compact-main .collection-name h3{font-size:22px;margin-bottom:8px}
.compact-main .collection-actions{gap:8px}
.compact-main .collection-actions .bottle-actions{gap:6px}
.compact-main .collection-history{margin-top:18px}
.compact-main .collection-history li{padding:12px 0;gap:4px}
.compact-main .collection-details{margin:14px 0;padding-top:8px}
.compact-main .collection-details[open]>.form-grid{margin-top:10px}
.compact-main .collection-details summary,.compact-main .purchase-summary summary{padding:8px 0}
.compact-main .share-panel{margin-top:24px;padding:18px}
.compact-main .share-panel summary{min-height:44px;align-content:center}
.compact-main .account-sections{gap:18px;margin-bottom:24px}
.compact-main .account-sections .form-panel{max-width:none}
.compact-main .account-sections .field{margin-bottom:14px}
.compact-main .auth-layout{margin-top:26px;max-width:960px}
.compact-main .auth-intro,.compact-main .auth-form{padding:28px;min-height:0}
.compact-main .auth-intro h1{font-size:38px;line-height:1.15;margin-bottom:18px}
.compact-main .auth-intro>img{height:220px;object-fit:cover;bottom:-35px;opacity:.25}
.compact-main .auth-intro li{margin:8px 0}
.compact-main .auth-form form{margin-top:18px}
.compact-main .auth-switch{margin-top:18px}
.compact-main .information-links{gap:8px 18px;margin-bottom:18px}
.compact-main .information-page h2{font-size:28px;margin-bottom:16px}
.compact-main .information-page li{margin-bottom:8px;line-height:1.7}
.compact-main .cookie-list dt{margin-top:16px}
.compact-main .cookie-list dd{margin-top:6px;line-height:1.7}
.compact-main .editorial-toolbar{gap:10px;margin-bottom:18px}
.compact-main .editorial-list{gap:18px}
.compact-main .editorial-card-content{padding:20px}
.compact-main .editorial-card h2{font-size:26px;margin:8px 0 14px}
.compact-main .editorial-media img{max-height:300px}
.compact-main .editorial-prose{line-height:1.7;margin-bottom:16px}
/* Keep the front page's identity while bringing its sections closer together. */
.compact-main .front-page{padding-top:20px}
.compact-main .front-hero{gap:4%}
.compact-main .front-intro h1{font-size:clamp(36px,3.4vw,46px);margin:12px 0}
.compact-main .front-explorer{padding:16px 18px 6px}
.compact-main .front-current{gap:24px;margin-top:30px}
.compact-main .front-heading{gap:14px;margin-bottom:16px}
.compact-main .front-heading h2{font-size:28px}
.compact-main .front-overview{margin-top:22px;padding:12px 0}
.compact-main .front-cellar-demo{gap:4%;margin-top:24px;padding:20px 0}
.compact-main .front-demo-intro h2{font-size:28px;margin-bottom:14px}
.compact-main .front-demo-steps{gap:10px}
.compact-main .front-demo-card{padding:16px 18px}
.compact-main .front-personal{padding:18px;margin-top:22px}
.compact-main .front-personal-heading{margin-bottom:14px}
.compact-main .front-personal-heading h2{font-size:27px}
.compact-main .front-personal-grid{gap:18px}
.compact-main .front-personal-counts a{min-height:76px;padding:10px 8px}
.compact-main .front-releases{margin-top:26px}
.compact-main .front-release-grid{gap:16px}
.compact-main .front-release .wine-card-body{padding:16px 18px 10px}
.compact-main .front-event-visual{height:170px}
.compact-main .front-event-copy{padding:18px 20px}
.compact-main .front-event h3,.compact-main .front-story-featured h3{font-size:25px}
.compact-main .front-story{padding-block:14px}
.compact-main .front-story-image{height:145px;margin-bottom:14px}
.compact-main .front-news-empty{padding:20px}
.compact-main .front-visual-discover{gap:18px;margin-top:26px}
.compact-main .front-discovery-photo{height:160px}
.compact-main .front-discovery-copy{padding:18px 20px}
.compact-main .front-cellar{margin-top:26px;padding:26px}
.compact-main .front-discover>a{padding:20px}
body:has(.compact-main) .site-footer{padding-block:22px;gap:20px}
body:has(.compact-main) .site-footer nav{gap:6px 18px}
@media(min-width:1200px){
 body:has(.compact-main) .site-header{padding-block:14px;gap:10px 20px}
}
@media(min-width:1400px){
 body:has(.compact-main) .site-header{flex-wrap:nowrap;min-height:84px}
 body:has(.compact-main) .site-header .brand{margin-right:0}
 body:has(.compact-main) .site-header #main-nav{order:initial;width:auto;margin:0 auto;gap:16px}
 body:has(.compact-main) .header-actions{order:initial}
}
@media(min-width:1280px){.compact-main .card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
 .compact-main{padding-bottom:24px;padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
 .compact-main .page-heading{padding:20px 0 16px;gap:12px}
 .compact-main .page-heading h1{font-size:30px;letter-spacing:-.6px;margin-bottom:8px}
 .compact-main .page-heading p:not(.eyebrow){font-size:14px}
 .compact-main .page-heading>.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .compact-main .page-heading>.actions>:first-child:last-child,.compact-main .page-heading>.actions>:first-child:nth-last-child(3){grid-column:1/-1}
 .compact-main .page-heading>.actions .button{width:100%;padding-inline:10px}
 .compact-main .section-heading{gap:10px;margin-bottom:14px}
 .compact-main .section-heading h2,.compact-main>h2{font-size:26px}
 .compact-main .top-section{margin-top:24px}
 .compact-main .form-panel{padding:16px}
 .compact-main .form-grid{gap:12px}
 .compact-main .form-panel h2,.compact-main .auth-form h2{font-size:24px}
 .compact-main .filters{padding:12px;gap:10px}
 .compact-main .card-grid{gap:12px}
 .compact-main .wine-card .wine-art{height:160px}
 .compact-main .wine-card .wine-art>img.bottle-placeholder{height:130px;width:52px}
 .compact-main .wine-card-body{padding:14px}
 .compact-main .wine-card h3{font-size:22px;margin-bottom:10px}
 .compact-main .place-card{padding:16px}
 .compact-main .place-card :is(h2,h3){font-size:24px}
 .compact-main .place-mark{margin-bottom:8px}
 .compact-main .wine-detail{gap:20px;margin-bottom:24px}
 .compact-main .wine-detail h1,.compact-main .place-hero h1{font-size:30px}
 .compact-main .wine-detail-art{height:230px}
 .compact-main .wine-detail-art>img.bottle-placeholder{height:185px;width:74px}
 .compact-main .detail-columns{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:22px}
 .compact-main .detail-columns h2,.compact-main .photo-section>h2{font-size:26px}
 .compact-main .place-hero{gap:20px}
 .compact-main .place-info{padding:18px}
 .compact-main .collection-stats{gap:12px 8px;padding:14px 8px;margin-bottom:14px}
 .compact-main .collection-stats strong{font-size:26px}
 .compact-main .collection-row{gap:12px;padding:14px 0}
 .compact-main .collection-shortcuts a{font-size:12px;padding:8px 10px}
 .compact-main .collection-actions{gap:8px 12px}
 .compact-main .collection-actions .bottle-actions{gap:8px}
 .compact-main .auth-layout{margin-top:20px}
 .compact-main .auth-intro,.compact-main .auth-form{padding:20px}
 .compact-main .auth-intro h1{font-size:30px;margin-bottom:12px}
 .compact-main .auth-intro .eyebrow{margin-bottom:10px}
 .compact-main .auth-intro>img{height:160px}
 .compact-main .account-sections{gap:14px}
 .compact-main .information-page h2{font-size:26px}
 .compact-main .article,.compact-main .editorial-card-content{padding:16px}
 .compact-main .editorial-card h2{font-size:24px}
 .compact-main .editorial-media img{max-height:220px}
 .compact-main .import-page .import-heading{padding-top:20px;margin-bottom:14px}
 .compact-main .import-page .import-heading h1{font-size:30px}
 .compact-main .import-page .import-chooser{padding:16px}
 .compact-main .front-page{padding-top:16px}
 .compact-main .front-intro h1{font-size:clamp(34px,8.5vw,42px)}
 .compact-main .front-current{gap:24px;margin-top:24px}
 .compact-main .front-heading h2{font-size:26px}
 .compact-main .front-personal{padding:16px}
 .compact-main .front-personal-counts a{min-height:72px}
 .compact-main .front-cellar-demo{padding:18px 0 0;gap:18px}
 .compact-main .front-demo-card{padding:16px}
 .compact-main .front-discovery-photo{height:140px}
 .compact-main .front-release .wine-card-body{padding:14px 16px 10px}
 .compact-main .front-explorer-tabs a{min-height:44px}
 .compact-main .front-search input{font-size:16px}
 .compact-main .front-search button{min-height:44px}
}
@media(min-width:360px) and (max-width:480px){
 .compact-main .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .compact-main .filters .search-field{grid-column:1/-1}
}
