/* Samara's reference layout. The approved hero and its background are unchanged. */
.samara-reference-inner { width:calc(100% - clamp(44px,10vw,128px)); max-width:1180px; margin-inline:auto; }
.samara-reference-heading { position:relative; padding-top:22px; }
.samara-reference-heading .samara-heading-echo { position:absolute; inset:-27px 0 auto; pointer-events:none; user-select:none; color:rgba(70,83,41,.075); font-family:"Samara Serif",serif; font-style:italic; font-size:clamp(58px,7vw,102px); line-height:1.2; letter-spacing:-.035em; white-space:nowrap; }
.samara-reference-heading .samara-kicker { position:relative; margin-top:0; margin-bottom:12px; font-size:11px; letter-spacing:.21em; }
.samara-reference-heading h2,.samara-welcome-preview h2,.samara-menu-reference .samara-intro h2 { position:relative; font-family:"Samara Sans",sans-serif; font-size:clamp(30px,3.3vw,46px); line-height:1.22; font-weight:400; letter-spacing:.015em; text-transform:uppercase; margin:14px auto 20px; }
.samara-reference-heading p:not(.samara-kicker) { max-width:840px; margin-inline:auto; }
.samara-reference-heading p+p { margin-top:18px; }
.samara-olive-separator { position:relative; display:block; width:116px; height:46px; margin:0 auto 20px; overflow:visible; }
.samara-olive-separator::before,.samara-olive-separator::after { content:""; position:absolute; top:23px; width:34px; height:1px; background:#aab28b; }
.samara-olive-separator::before { left:0; }
.samara-olive-separator::after { right:0; }
.samara-olive-separator img { display:block; width:32px; height:46px; margin:0 auto; object-fit:contain; transform:rotate(-16deg); opacity:.88; }
.samara-welcome-preview { position:relative; overflow:hidden; background:var(--samara-paper); }
.samara-welcome-preview::after { content:""; pointer-events:none; position:absolute; right:-24px; top:28px; width:210px; height:315px; background:url("/wp-content/themes/samara-ready/assets/images/olive-branch.svg") center/contain no-repeat; opacity:.04; }
.samara-welcome-preview .samara-intro { margin-bottom:0; max-width:940px; }
.samara-welcome-preview .samara-intro p { color:var(--samara-muted); font-size:17px; line-height:1.85; }
.samara-welcome-preview .samara-intro .samara-kicker { color:var(--samara-olive); font-size:11px; }
.samara-welcome-preview .wp-block-buttons { justify-content:center; }
.samara-menu-reference { position:relative; overflow:hidden; }
.samara-menu-reference::before { content:""; pointer-events:none; position:absolute; left:-45px; top:150px; width:280px; height:420px; background:url("/wp-content/themes/samara-ready/assets/images/olive-branch.svg") center/contain no-repeat; opacity:.035; transform:rotate(13deg); }
.samara-menu-reference .samara-menu-showcase-inner { position:relative; }
.samara-menu-reference .samara-menu-showcase-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(38px,7vw,110px); }
.samara-menu-reference .samara-menu-showcase-row~.samara-menu-showcase-row { margin-top:clamp(58px,7vw,110px); }
.samara-menu-reference .samara-menu-showcase-copy h3 { font-family:"Samara Sans",sans-serif; font-size:21px; font-weight:400; text-transform:uppercase; letter-spacing:.045em; margin:0 0 22px; }
.samara-menu-reference .samara-menu-showcase-copy h3::after { content:""; display:block; width:115px; height:1px; background:#8f9c6e; margin-top:14px; }
.samara-menu-reference .samara-item-name { font-family:"Samara Sans",sans-serif; font-size:16px; line-height:1.5; letter-spacing:.018em; text-transform:uppercase; flex:0 1 auto; }
.samara-menu-reference .samara-item-price { font-size:16px; flex:0 0 auto; }
.samara-menu-reference .samara-item-line { gap:8px; }
.samara-menu-reference .samara-item-line::after { display:block; content:""; order:1; flex:1 1 12px; min-width:12px; border-bottom:1px dotted #a1a78e; transform:translateY(-4px); }
.samara-menu-reference .samara-item-description { font-size:15px; color:var(--samara-muted); margin-top:5px!important; }
.samara-menu-reference .samara-menu-item { padding:12px 0; }
.samara-menu-reference .samara-menu-item+.samara-menu-item { border:0; margin-top:4px!important; }
.samara-menu-reference .samara-menu-showcase-photo figure { max-width:440px; margin:0 auto; }
.samara-menu-reference .samara-menu-showcase-photo img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 16px 20px rgba(38,48,42,.08)); }
.samara-menu-reference .samara-menu-showcase-photo figcaption { margin-top:14px; color:var(--samara-muted); font-size:13px; text-align:center; }
.samara-menu-reference .samara-menu-showcase-pair { margin-top:clamp(70px,8vw,120px); gap:clamp(38px,7vw,110px); }
.samara-menu-reference .samara-menu-row-text { grid-template-columns:minmax(0,1fr); }
.samara-menu-reference .samara-menu-note { margin-top:18px; }
.samara-menu-visuals { padding:24px 0 72px; }
.samara-menu-visuals .wp-block-columns { align-items:center; gap:54px; }
.samara-menu-visuals figure { width:min(100%,400px); margin-inline:auto; }
.samara-menu-visuals img { width:100%; height:auto; filter:drop-shadow(0 10px 15px rgba(38,48,42,.07)); }
.samara-menu-visuals figcaption,.samara-food-image-note { font-size:14px; line-height:1.7; color:var(--samara-muted); text-align:center; }
.samara-food-image-note { margin:18px auto 0; max-width:700px; }
.samara-menu-complete { position:relative; isolation:isolate; }
.samara-menu-complete::before { content:""; position:absolute; top:4px; right:14px; width:190px; height:280px; opacity:.045; background:url("/wp-content/themes/samara-ready/assets/images/olive-branch.svg") center/contain no-repeat; z-index:-1; pointer-events:none; }
.samara-gallery-preview .samara-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,240px); gap:16px!important; }
.samara-gallery-preview .samara-gallery-photo { position:relative; min-height:0; overflow:hidden; }
.samara-gallery-preview .samara-gallery-photo:nth-child(1) { grid-column:1; grid-row:1; }
.samara-gallery-preview .samara-gallery-photo:nth-child(2) { grid-column:2; grid-row:1; }
.samara-gallery-preview .samara-gallery-photo:nth-child(3) { grid-column:1; grid-row:2; }
.samara-gallery-preview .samara-gallery-photo:nth-child(4) { grid-column:2; grid-row:2 / span 2; }
.samara-gallery-preview .samara-gallery-photo:nth-child(5) { grid-column:1; grid-row:3; }
.samara-gallery-preview .samara-gallery-photo a,.samara-gallery-preview .samara-gallery-photo img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.samara-gallery-preview .samara-gallery-photo figcaption { position:absolute; inset:auto 0 0; padding:32px 18px 14px; margin:0; pointer-events:none; font-size:14px; line-height:1.4; color:#fff; background:linear-gradient(transparent,rgba(22,31,25,.88)); }
.samara-gallery-preview .samara-gallery-photo a:focus-visible { outline-offset:-5px; outline-color:#fff; }
.samara-gallery-curated-16 .samara-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px!important; }
.samara-gallery-curated-16 .samara-gallery-photo img { aspect-ratio:4/5; object-position:center 40%; }
.samara-gallery-curated-16 .samara-gallery-media-heading { font-family:"Samara Sans",sans-serif; font-size:22px; letter-spacing:.025em; text-transform:uppercase; }
.samara-gallery-curated-16 .samara-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:860px; }
.samara-page-shell>.wp-block-post-title { font-family:"Samara Sans",sans-serif; font-size:clamp(36px,4vw,54px); font-weight:400; text-align:center; letter-spacing:.025em; text-transform:uppercase; margin-bottom:36px; }
.samara-page-shell .samara-about-columns { gap:clamp(34px,6vw,80px)!important; }
.samara-page-shell .samara-about-photo img { aspect-ratio:4/5; object-position:center 36%; }
.samara-contact .samara-kicker { font-size:11px; letter-spacing:.21em; }
.samara-contact h2 { font-family:"Samara Sans",sans-serif; font-size:clamp(30px,3.3vw,44px); text-transform:uppercase; letter-spacing:.02em; }
.samara-navigation { font-size:13px; text-transform:uppercase; letter-spacing:.045em; }
.samara-footer-links { text-transform:uppercase; font-size:12px; letter-spacing:.055em; }

.samara-menu-visuals .samara-food-main { margin-bottom:56px; }
.samara-menu-visuals .samara-food-dessert { max-width:500px; margin:56px auto 0; }
.samara-contact .samara-business-details { width:calc(100% - clamp(44px,10vw,128px)); max-width:1180px; margin:38px auto 0; }
.samara-location { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(30px,5vw,76px); padding-top:36px; border-top:1px solid rgba(70,83,41,.2); }
.samara-location-copy h3 { margin:12px 0 22px; font-family:"Samara Serif",serif; font-size:36px; line-height:1.25; font-weight:400; }
.samara-location-copy h3 span { font-family:"Samara Sans",sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:.1em; }
.samara-location-copy address { font-size:21px; line-height:1.65; font-style:normal; }
.samara-location-copy p { margin:12px 0; }
.samara-location-venue { font-size:16px; }
.samara-location-web a { overflow-wrap:anywhere; text-underline-offset:4px; }
.samara-location-route { display:inline-flex; align-items:center; gap:22px; margin-top:18px; padding:13px 22px; border:1px solid var(--samara-olive); border-radius:4px; color:var(--samara-olive); font-size:15px; text-decoration:none; }
.samara-location-route:hover { background:var(--samara-olive); color:#fff; }
.samara-map { min-width:0; }
.samara-map-viewport { height:340px; overflow:hidden; border:1px solid #c2c9b4; border-radius:8px; background:#faf8f2; }
.samara-map-placeholder { display:flex; box-sizing:border-box; min-height:100%; padding:28px; flex-direction:column; align-items:center; justify-content:center; color:var(--samara-olive); text-align:center; background:url("/wp-content/themes/samara-ready/assets/images/olive-branch.svg") right 20px top 20px/60px auto no-repeat; }
.samara-map-placeholder p { margin:16px 0 8px!important; font-family:"Samara Serif",serif; font-size:26px; }
.samara-map-placeholder span { font-size:15px; line-height:1.6; }
.samara-map-viewport iframe { display:block; width:100%; height:100%; border:0; }
.samara-map-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; margin-top:16px; }
.samara-map-actions button { padding:11px 20px; border:1px solid var(--samara-olive); border-radius:4px; background:var(--samara-olive); color:#fff; font:inherit; font-size:15px; cursor:pointer; }
.samara-map-actions button[hidden] { display:none!important; }
.samara-map-actions a { font-size:14px; text-underline-offset:3px; }
.samara-map-notice { font-size:13px; line-height:1.7; color:var(--samara-muted); margin:14px 0 0; }
.samara-footer-address { font-size:15px; font-style:normal; line-height:1.8; }
.samara-footer-address a { text-decoration:none; }
.samara-footer-address span { font-size:13px; color:var(--samara-muted); }
@media (max-width:781px) { .samara-location { grid-template-columns:minmax(0,1fr); } .samara-map-viewport { height:300px; } }
@media (max-width:1000px) {
 .samara-gallery-preview .samara-photo-grid { grid-template-rows:repeat(3,210px); }
 .samara-menu-reference .samara-item-name { font-size:15px; }
 .samara-menu-reference .samara-item-price { font-size:15px; }
}
@media (max-width:781px) {
 .samara-reference-heading .samara-heading-echo { inset:-16px 0 auto; font-size:clamp(50px,9vw,74px); }
 .samara-menu-reference .samara-menu-showcase-row { grid-template-columns:minmax(0,1fr); gap:30px; }
 .samara-menu-reference .samara-menu-showcase-copy { order:1; }
 .samara-menu-reference .samara-menu-showcase-photo { order:2; width:min(100%,450px); margin-inline:auto; }
 .samara-menu-reference .samara-menu-showcase-pair { grid-template-columns:minmax(0,1fr); gap:48px; }
 .samara-menu-reference .samara-item-name,.samara-menu-reference .samara-item-price { font-size:16px; }
 .samara-gallery-curated-16 .samara-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .samara-gallery-preview .samara-photo-grid { grid-template-rows:repeat(3,190px); }
 .samara-navigation { font-size:14px; }
}
@media (max-width:599px) {
 .samara-reference-heading .samara-heading-echo { font-size:clamp(42px,11vw,64px); white-space:normal; }
 .samara-reference-heading h2,.samara-welcome-preview h2,.samara-menu-reference .samara-intro h2 { font-size:clamp(28px,7vw,36px); }
 .samara-welcome-preview .samara-intro p { font-size:16px; }
 .samara-menu-reference .samara-item-name { font-size:15px; }
 .samara-gallery-preview .samara-photo-grid { grid-template-columns:minmax(0,1fr); grid-template-rows:none; gap:14px!important; }
 .samara-gallery-preview .samara-gallery-photo:nth-child(n) { grid-column:auto; grid-row:auto; height:240px; }
 .samara-gallery-preview .samara-gallery-photo:nth-child(4) { height:340px; }
 .samara-gallery-curated-16 .samara-photo-grid,.samara-gallery-curated-16 .samara-video-grid { grid-template-columns:minmax(0,1fr); }
 .samara-menu-visuals .wp-block-columns { gap:32px; }
 .samara-welcome-preview::after { width:135px; right:-38px; }
}



/* Photos belong to category lists, on the homepage and the editable full menu. */
.samara-menu-category-copy+.samara-menu-category-copy { margin-top:30px; }
.samara-menu-reference .samara-menu-main-group .samara-menu-showcase-photo figure { max-width:460px; }
.samara-menu-reference .samara-menu-group-compact .samara-menu-showcase-photo figure { max-width:280px; }
.samara-menu-reference .samara-menu-fish-preview { max-width:720px; margin:clamp(58px,7vw,110px) auto 0; }
.samara-menu-columns.samara-menu-paired { flex-direction:column; gap:72px!important; }
.samara-menu-paired>.wp-block-column { width:100%; flex-basis:auto!important; flex-grow:0; }
.samara-menu-paired>.wp-block-column:first-child>.samara-menu-accordion { max-width:720px; margin-inline:auto; }
.samara-menu-paired .samara-menu-category-row { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:center!important; gap:clamp(32px,5vw,80px)!important; margin:42px 0; }
.samara-menu-paired .samara-menu-category-reversed { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.samara-menu-category-row .samara-menu-group-list { min-width:0; order:1; }
.samara-menu-category-row .samara-menu-group-photo { min-width:0; order:2; margin:0; }
.samara-menu-category-reversed .samara-menu-group-list { order:2; }
.samara-menu-category-reversed .samara-menu-group-photo { order:1; }
.samara-menu-group-photo figure { width:min(100%,420px); margin:0 auto; }
.samara-menu-group-photo img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 12px 18px rgba(38,48,42,.07)); }
.samara-menu-group-photo figcaption { margin-top:14px; font-size:13px; line-height:1.6; text-align:center; color:var(--samara-muted); }
.samara-menu-category-row .samara-menu-accordion>summary { font-family:"Samara Sans",sans-serif; font-size:21px; text-transform:uppercase; letter-spacing:.03em; }
.samara-menu-group-list .samara-menu-accordion+.samara-menu-accordion { margin-top:22px!important; }
.samara-menu-paired .samara-menu-photo-hidden { grid-template-columns:minmax(0,1fr); }
.samara-menu-photo-hidden .samara-menu-group-list { width:100%; max-width:720px; margin-inline:auto; }
.samara-menu-category-compact .samara-menu-group-photo figure { max-width:260px; }
.samara-menu-paired>.wp-block-column:nth-child(2) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px; align-items:start; }
.samara-menu-paired>.wp-block-column:nth-child(2)>.samara-menu-column-title { grid-column:1/-1; }
.samara-menu-paired .samara-menu-category-row[hidden],.samara-menu-paired .samara-menu-group-photo[hidden],.samara-menu-paired>.wp-block-column[hidden] { display:none!important; }
@media (max-width:781px) {
 .samara-menu-paired .samara-menu-category-row { grid-template-columns:minmax(0,1fr); gap:24px!important; margin:32px 0; }
 .samara-menu-category-row .samara-menu-group-list { order:1; }
 .samara-menu-category-row .samara-menu-group-photo { order:2; width:100%; }
 .samara-menu-group-photo figure { max-width:340px; }
 .samara-menu-paired>.wp-block-column:nth-child(2) { grid-template-columns:minmax(0,1fr); }
 .samara-menu-columns.samara-menu-paired { gap:48px!important; }
}

@media print {
 .samara-menu-paired .samara-menu-category-row,.samara-menu-paired .samara-menu-category-row[hidden],.samara-menu-paired>.wp-block-column[hidden] { display:block!important; }
 .samara-menu-paired .samara-menu-group-photo { display:none!important; }
 .samara-menu-paired .samara-menu-group-list { width:100%; max-width:none; }
}
