/* Extended shared native surfaces. Every selector is edition scoped; FE payloads stay byte-identical. */
.ras-extended{--ras-space:88px;--ras-heading-weight:400;--ras-link:var(--wp--preset--color--primary);--ras-nav-ink:var(--ras-on-dark);--ras-nav-active:var(--wp--preset--color--accent);font-synthesis:none}
.ras-extended :where(h1,h2,h3,h4){font-weight:var(--ras-heading-weight);overflow-wrap:normal}
.ras-extended :where(.ras-section,.ras-hero,.ras-inner-hero,.ras-story-grid,.ras-visit-grid,.ras-find-split)>*{min-width:0}
.ras-extended .ras-hero{min-height:740px;padding-block:88px}
.ras-extended .ras-hero h1{font-size:60px;line-height:1.1!important;max-width:680px}
.ras-extended .ras-hero .ras-hero-copy{position:relative}
.ras-extended .ras-hero .ras-actions{position:relative;z-index:1}
.ras-extended .ras-section{position:relative}
.ras-extended .ras-section>.ras-container{position:relative}
.ras-extended .ras-section:nth-child(even){background:var(--wp--preset--color--background)}
.ras-extended .ras-grid>*{min-width:0}
.ras-extended .ras-story-visual{position:relative;padding:0}
.ras-extended .ras-story-art{position:absolute;width:112px;max-width:112px;right:-22px;bottom:-24px;margin:0;padding:18px;box-sizing:border-box;background:var(--wp--preset--color--background);color:var(--wp--preset--color--primary)}
.ras-extended .ras-story-visual>figure{margin:0}
.ras-extended .ras-story-visual>figure img{display:block}
.ras-extended .ras-card-art{color:var(--ras-art-color,var(--wp--preset--color--primary))}
.ras-extended .ras-grid-3 .ras-card{position:relative}
.ras-extended .ras-menu-card{overflow:visible;border-radius:var(--wp--custom--local-studio--radius--md)}
.ras-extended .ras-menu-card img{border-radius:var(--wp--custom--local-studio--radius--md) var(--wp--custom--local-studio--radius--md) 0 0}
.ras-extended .ras-menu-card-body{padding:24px 20px}
.ras-extended .ras-menu-card h3{font-size:25px;line-height:1.24}
.ras-extended .ras-menu-card p{font-size:16px}
.ras-extended .ras-gallery-grid img{height:100%;min-height:0;width:100%;object-fit:cover}
.ras-extended .ras-gallery-grid figure{min-height:0}
.ras-extended:is(.ras-forest-table,.ras-coastal-azure) .ras-gallery .ras-section-heading>.ras-heading-art{margin-inline:auto}
.ras-extended .ras-faq-main{min-width:0;max-width:none;margin:0}
.ras-extended .ras-faq-main>.ras-section-heading{margin-top:0}
.ras-extended .ras-faq-main>.ras-faq-list{min-width:0;max-width:none;margin:0}
.ras-extended .ras-faq-sidebar{box-sizing:border-box}
.ras-extended .ras-faq-sidebar .ras-button{white-space:normal;text-align:center}
.ras-extended .ras-visit-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'copy visual' 'panel visual';grid-template-rows:auto 1fr;padding:0;gap:28px 56px;border:0;outline:0}
.ras-extended .ras-visit-copy{grid-area:copy;padding:0}
.ras-extended .ras-visit-panel{grid-area:panel;align-self:start;min-width:0;margin:0;padding:28px;background:var(--wp--preset--color--background);color:var(--wp--preset--color--text);border:1px solid var(--wp--preset--color--border)}
.ras-extended .ras-visit-visual{grid-area:visual;display:block;position:relative;align-self:stretch;margin:0;max-height:none}
.ras-extended .ras-visit-image{position:absolute;inset:0;width:100%;height:100%;margin:0}
.ras-extended .ras-visit-image img{height:100%;width:100%;max-height:none;min-height:0}
.ras-extended .ras-visit-copy h2{font-size:42px;line-height:1.14}
.ras-extended .ras-visit-icon{margin-bottom:20px}
.ras-extended .ras-visit-emblem{right:18px;bottom:18px;background:var(--wp--preset--color--background);color:var(--wp--preset--color--primary)}
.ras-extended .ras-visit-rule{display:block;max-width:240px}
.ras-extended .rsb-booking{--rsb-ink:var(--wp--preset--color--text);--rsb-muted:var(--wp--preset--color--muted);--rsb-surface:var(--wp--preset--color--background);--rsb-line:var(--wp--preset--color--border);--rsb-accent:var(--wp--preset--color--primary);--rsb-on-accent:#fffaf0;--rsb-error:#912032;--rsb-error-bg:#fff1f2}
.ras-extended .rsb-booking :is(.rsb-field label,.rsb-field-label,.rsb-note,.rsb-form-footer,.rsb-availability,.rsb-contact-note){font-size:15px;line-height:1.6}
.ras-extended .ras-visit-panel :is(.ras-note,.rsb-note){font-size:15px;opacity:1;color:inherit}
.ras-extended .rsb-booking :is(button,.ras-button){min-height:48px}
.ras-extended .ras-testimonial .ls-testimonial-card__text p{font-size:28px;line-height:1.4}
.ras-extended .ras-testimonial .ls-testimonial-card{overflow:visible}
.ras-extended .ls-post-slider__title a,.ras-extended .ls-post-slider__excerpt .wp-block-post-excerpt__excerpt{display:block;overflow:visible;-webkit-line-clamp:unset}
.ras-extended .ls-post-slider__date{font-size:15px}
.ras-extended .ls-post-slider__excerpt{font-size:16px}
.ras-extended .ls-post-slider__title{line-height:1.25!important;font-weight:var(--ras-heading-weight)}
.ras-extended .ls-post-slider__card{overflow:visible;box-shadow:none}
.ras-extended .ls-post-slider__nav{min-height:48px;min-width:48px}
.ras-extended .ras-find{overflow:visible;--ras-find-dark:var(--wp--preset--color--secondary);--ras-find-card:var(--wp--preset--color--background);--ras-find-card-text:var(--wp--preset--color--text);--ras-find-line:var(--wp--preset--color--border);--ras-find-action:var(--wp--preset--color--accent);--ras-find-action-text:var(--wp--preset--color--secondary);--ras-find-contact-bg:transparent;--ras-find-contact-text:#fff8eb;--ras-find-contact-border:#ffffff40}
.ras-extended .ras-find>.ras-container{position:static}
.ras-extended .ras-find-contacts{margin-top:40px;padding:28px 0 0;border:0;border-top:1px solid var(--ras-find-contact-border);border-radius:0;grid-template-columns:1.2fr .8fr 1.4fr}
.ras-extended .ras-find-contacts .ras-location-link{font-size:16px;min-width:0}
.ras-extended .ras-find-heading .ras-find-ornament{color:var(--wp--preset--color--accent)}
.ras-extended .ras-find-hours{padding:32px}
.ras-extended .ras-find-hours :is(dt,dd){font-size:15px}
.ras-extended .ras-find-copy{min-width:0;position:relative}
.ras-extended .ras-find .ras-find-note{font-size:16px}
/* Native menu book inherits edition-specific tokens and accessible type, without changing Runtime data. */
.ras-extended.rm-page{--rm-bg:var(--wp--preset--color--background);--rm-surface:var(--wp--preset--color--surface);--rm-ink:var(--wp--preset--color--text);--rm-muted:var(--wp--preset--color--muted);--rm-line:var(--wp--preset--color--border);--rm-accent:var(--wp--preset--color--primary);--rm-trim:var(--wp--preset--color--primary);--rm-dish-font:var(--wp--preset--font-family--heading)}
.ras-extended .rm-main{box-shadow:none}
.ras-extended .rm-masthead h1{font-size:28px;line-height:1.25}
.ras-extended .rm-book-brand{font-size:46px;line-height:1.1;font-weight:var(--ras-heading-weight)}
.ras-extended .rm-page-title{font-size:40px}
.ras-extended .rm-section-title h2{font-size:36px;line-height:1.2}
.ras-extended .rm-dish-name{font-size:24px;line-height:1.25}
.ras-extended .rm-description{font-size:16px;line-height:1.6}
.ras-extended :is(.rm-price,.rm-book-tagline,.rm-dining-note p,.rm-sidebar nav a,.rm-bottom p,.rm-detail-copy small,.rm-favorite,.rm-search input,.rm-menu-notice,.rm-badges,.rm-eyebrow){font-size:15px}
.ras-extended :is(.rm-search input,.rm-sidebar nav a,.rm-favorite,.rm-close){min-height:48px}
.ras-extended .rm-toolbar :is(button,input){font-family:var(--wp--preset--font-family--body)}
.ras-extended .rm-dish-open img{border-radius:var(--wp--custom--local-studio--radius--md)}
.ras-extended .ls-single-post__body,.ras-extended .ls-journal,.ras-extended .ls-archive-layout{background:var(--wp--preset--color--background)}
.ras-extended .ls-archive-card,.ras-extended .ls-sidebar-panel{border-color:var(--wp--preset--color--border);border-radius:var(--wp--custom--local-studio--radius--md);box-shadow:none}
.ras-extended :is(.ls-single-post__body,.ls-journal,.ls-archive-layout,.ls-blog-layout,.ls-sidebar-panel) a:not(.wp-element-button,.wp-block-button__link,.ras-button){color:var(--ras-link)}
.ras-extended .ras-blog-card :is(.wp-block-post-title a,.wp-block-post-excerpt__more-link),.ras-extended .ls-archive-card :is(.wp-block-post-excerpt__more-link,.ls-archive-card__date){color:var(--ras-link)}
.ras-extended .ras-faq .wp-block-details[open] summary{color:var(--ras-link)}
.ras-extended .ls-post-hero h1{font-size:40px!important;max-width:900px}
.ras-extended :is(.ls-archive-hero,.ls-search-hero) h1{font-size:50px!important;line-height:1.15}
.ras-extended .ls-site-footer .wp-block-site-title{font-size:32px}
.ras-extended .ls-site-footer a:hover{color:var(--wp--preset--color--accent)}
@media(max-width:1023px){
 .ras-extended{--ras-space:72px}
 .ras-extended .ras-hero-copy{max-width:600px}
 .ras-extended .ras-hero h1{font-size:56px}
 .ras-extended .ras-story-grid{gap:40px}
 .ras-extended .ras-visit-grid{gap:24px 32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .ras-extended .ras-visit-panel{padding:24px 20px}
 .ras-extended .ras-visit-copy h2{font-size:38px}
 .ras-extended .ras-find-split{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:32px}
 .ras-extended .ras-find-contacts{grid-template-columns:1fr 1fr}
 .ras-extended .ras-find-contact-item:last-child{grid-column:1/-1;padding-left:0;border-left:0}
 .ras-extended .ras-testimonial-grid{gap:36px}
 .ras-extended .ras-testimonial .ls-testimonial-card__text p{font-size:26px}
}
@media(max-width:782px){
 .ras-extended{--ras-space:60px;--ras-gutter:24px}
 .ras-extended .ras-hero{min-height:0;padding-block:64px}
 .ras-extended .ras-hero h1{font-size:48px}
 .ras-extended .ras-inner-hero h1,.ras-extended :is(.ls-archive-hero,.ls-search-hero) h1{font-size:42px!important}
 .ras-extended h2,.ras-extended .ras-find-heading h2{font-size:36px}
 .ras-extended .ras-story-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .ras-extended .ras-story-visual{padding:0;margin:0 16px 0 0}
 .ras-extended .ras-story-art{right:-16px;bottom:-20px;width:96px;max-width:96px;padding:16px}
 .ras-extended .ras-visit-grid,.ras-extended .ras-visit-grid:has(.rsb-form){grid-template-columns:minmax(0,1fr);grid-template-areas:'copy' 'panel' 'visual';grid-template-rows:auto auto 260px;gap:24px;padding:0}
 .ras-extended .ras-visit-copy{padding:0}
 .ras-extended .ras-visit-copy h2{font-size:36px}
 .ras-extended .ras-visit-panel,.ras-extended .ras-visit-panel:has(.rsb-form){padding:24px 18px}
 .ras-extended .ras-visit-visual{display:block;max-height:260px}
 .ras-extended .ras-visit-image{position:absolute;inset:0}
 .ras-extended .ras-visit-image img{height:100%;max-height:none}
 .ras-extended .ras-visit-rule{display:block}
 .ras-extended .ras-find-split{grid-template-columns:minmax(0,1fr)}
 .ras-extended .ras-find-contacts{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:24px;margin-top:28px}
 .ras-extended .ras-find-contact-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;padding:0;border:0}
 .ras-extended .ras-find-contact-icon{width:28px;margin:0}
 .ras-extended .ras-find-contact-item:last-child{grid-column:auto}
 .ras-extended .ras-find-hours{padding:28px 24px}
 .ras-extended .ras-testimonial-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .ras-extended .ras-testimonial-photo{height:280px}
 .ras-extended .ras-grid-3{grid-template-columns:minmax(0,1fr)}
 .ras-extended .ras-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ras-extended .ras-highlights .ras-card{border:0;padding:0}
 .ras-extended .ras-highlights .ras-card+.ras-card{padding:0;border:0}
 .ras-extended .ls-post-hero h1{font-size:36px!important}
 .ras-extended .rm-book-brand{font-size:36px}
 .ras-extended .rm-masthead h1{font-size:24px}
 .ras-extended .rm-section-title h2{font-size:30px}
 .ras-extended .rm-dish-name{font-size:22px}
}
@media(max-width:480px){
 .ras-extended{--ras-gutter:20px}
 .ras-extended .ras-hero h1{font-size:46px}
 .ras-extended .ras-hero{padding-block:56px}
 .ras-extended .ras-hero .ras-actions{align-items:stretch;gap:12px}
 .ras-extended .ras-hero .ras-actions>*{width:100%}
 .ras-extended .ras-actions .wp-block-button,.ras-extended .ras-actions :is(.wp-block-button__link,.ras-button){width:100%;white-space:normal;text-align:center}
 .ras-extended .ras-highlights .ras-container{padding:0}
 .ras-extended .ras-grid-4{grid-template-columns:minmax(0,1fr);gap:26px}
 .ras-extended .ras-highlights .ras-card+.ras-card{border-top:1px solid var(--wp--preset--color--border);padding-top:24px}
 .ras-extended .ras-grid-3 .ras-card{padding:0}
 .ras-extended .ras-story-art{max-width:88px;width:88px}
 .ras-extended .ras-find-hours{padding:26px 20px}
 .ras-extended .ras-menu-card h3{font-size:24px}
 .ras-extended .ls-header-main-row .wp-block-site-title{font-size:28px}
 .ras-extended .ras-gallery-grid{gap:10px}
}

/* Explicit states beat inherited Theme/FE hover rules; nested menus and the drawer
   resolve their own pale-surface colors rather than the dark header's accent. */
.ras-extended .ls-header-shell{--ls-color-accent:var(--ras-nav-active)}
.ras-extended .ls-header-main-row .ls-main-navigation :is(.wp-block-navigation-item__content,.wp-block-navigation-submenu__toggle){color:var(--ras-nav-ink)}
.ras-extended .ls-header-main-row .ls-main-navigation :is(.wp-block-navigation-item__content:hover,.wp-block-navigation-item__content:focus-visible,.wp-block-navigation-item__content:active,.wp-block-navigation-item__content[aria-current="page"],.current-menu-item>.wp-block-navigation-item__content,.current-menu-ancestor>.wp-block-navigation-item__content,.wp-block-navigation-submenu:is(:hover,:focus-within,.current-menu-item,.current-menu-ancestor)>:is(.wp-block-navigation-item__content,.wp-block-navigation-submenu__toggle)){color:var(--ras-nav-active)}
.ras-extended .ls-header-main-row .ls-main-navigation .wp-block-navigation-item__label{color:inherit}
.ras-extended .ls-header-main-row .wp-block-navigation-item__content::after{background:currentColor}
.ras-extended .ls-header-main-row .wp-block-navigation__submenu-container{--ras-nav-ink:var(--wp--preset--color--text);--ras-nav-active:var(--ras-link);color:var(--wp--preset--color--text);background:var(--wp--preset--color--background)!important}
.ras-extended .ls-header-main-row .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{--ras-nav-ink:var(--wp--preset--color--text);--ras-nav-active:var(--ras-link);color:var(--wp--preset--color--text);background:var(--wp--preset--color--background)}
.ras-extended .ls-header-main-row .ls-main-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item:not(.wp-block-navigation-submenu)>.wp-block-navigation-item__content:is(:hover,:focus-visible,:active),.ras-extended .ls-header-main-row .ls-main-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:is(:hover,:focus-within){background:var(--wp--preset--color--surface)}
/* Keep the approved button colors during interaction. The inherited brightness
   filter lightens both text and fill, lowering the contrast of copper buttons. */
.ras-extended.ras-design :is(.wp-block-button__link,.ras-button,.rsb-submit,.wp-block-search__button):is(:hover,:focus-visible,:active){filter:none;text-decoration:underline;text-underline-offset:3px}
/* White plus dark rings remain visible beside both filled buttons and pale/dark
   surfaces. A single currentColor ring can disappear on a button's own fill. */
.ras-extended.ras-design :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #FFFFFF;outline-offset:3px;box-shadow:0 0 0 6px #102219}
.ras-extended .ras-visit-panel a:not(.ras-button){color:var(--ras-link);text-decoration:underline;text-underline-offset:3px}
.ras-extended .ls-site-footer a:is(:hover,:focus-visible,:active){color:var(--wp--preset--color--accent);text-decoration:underline;text-underline-offset:3px}
.ras-extended .rsb-booking :is(input,textarea)::placeholder,.ras-extended .rm-search input::placeholder{color:var(--wp--preset--color--muted);opacity:1}
.ras-extended .rsb-booking :is(input,select,textarea,button):disabled,.ras-extended .rsb-booking .rsb-choice input:disabled+span{opacity:1;background:var(--wp--preset--color--surface);color:var(--wp--preset--color--text);border-color:var(--wp--preset--color--muted);border-style:dashed;cursor:not-allowed}
.ras-extended .rsb-booking .rsb-choice input:focus-visible+span{outline:3px solid #FFFFFF;outline-offset:3px;box-shadow:0 0 0 6px #102219}
/* Runtime utility labels remain at the approved 15px minimum on all breakpoints. */
.ras-extended.rm-page :is(.rm-currency,.rm-results,.rm-section-title>span,.rm-section-title>small,.rm-sidebar nav a>span,.rm-dining-note,.rm-dining-note a,.rm-main .rm-dining-note p,.rm-menu-notice p,.rm-main .rm-eyebrow,.rm-bottom p){font-size:15px;line-height:1.6}
.ras-extended .rsb-booking :is(.rsb-field-error,.rsb-confirmation-note,.rsb-preview-note,.rsb-alert,.rsb-status,.rsb-status p,.rsb-error-code,.rsb-another,.rsb-choice>span,.rsb-date-choice,.rsb-date-choice small){font-size:15px;line-height:1.6}
