/*
Theme Name: Sofarooms Blocks
Description: Independent native WordPress block theme for Sofarooms, Exeter.
Author: AFWD
Version: 1.1.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: sofarooms-blocks
*/
@import url('assets/native-pages.css');
:root { --theme-container-width: min(90vw,1290px); --theme-normal-container-max-width:1290px; --theme-palette-color-1:#b8956a; --theme-palette-color-2:#1a1a1a; --theme-palette-color-3:#1f1f1f; --theme-palette-color-5:#f8f6f3; --theme-palette-color-6:#666; --theme-palette-color-8:#fff; --sofarooms-display-font:"Cormorant Garamond",Georgia,serif; --sofarooms-body-font:"Montserrat",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:140px; }
body { margin:0; }
a { text-underline-offset:4px; }
img { max-width:100%; height:auto; }
h1,h2,h3,h4 { text-wrap:balance; }
h1 { font-size:clamp(42px,5.5vw,78px); }
h2 { font-size:clamp(32px,4vw,52px); }
h3 { font-size:clamp(25px,2.5vw,34px); }
p { margin-block:0 20px; }
:where(a,button,input,textarea,summary,select):focus-visible { outline:2px solid #6b512e; outline-offset:4px; }
:where(input,textarea,select) { scroll-margin-top:150px; }
.wp-site-blocks > *, main > .wp-block-post-content, .wp-block-post-content > * { margin-block-start:0; }
.sr-header-shell { position:absolute; z-index:30; top:30px; left:0; right:0; padding-inline:20px; }
body.admin-bar .sr-header-shell { top:62px; }
.sr-header { max-width:1290px; margin-inline:auto; background:#fff; color:#1f1f1f; border-radius:60px; padding:16px 26px; gap:24px; min-height:76px; box-shadow:0 5px 25px #00000008; }
.sr-logo { font-family:var(--sofarooms-display-font); font-size:34px; font-weight:700; letter-spacing:.075em; line-height:1; text-transform:uppercase; margin:0; flex-shrink:0; }
.sr-logo a { text-decoration:none; color:#111; }
.sr-header-controls { gap:20px; margin:0; }
.sr-navigation { font-size:12px; font-weight:600; text-transform:uppercase; }
.sr-navigation .wp-block-navigation__container { gap:20px; }
.sr-navigation .wp-block-navigation-item__content { padding-block:10px; }
.sr-navigation .wp-block-navigation-item:last-child a { background:#b8956a; color:white; padding:12px 20px; border-radius:30px; }
.sr-header-search { position:relative; font-size:12px; margin:0; }
.sr-header-search summary { list-style:none; cursor:pointer; padding:12px 0; font-weight:600; }
.sr-header-search summary::-webkit-details-marker { display:none; }
.sr-header-search form { position:absolute; right:0; top:52px; width:min(360px,85vw); background:#fff; padding:20px; border:1px solid #d8cfc2; box-shadow:0 10px 30px #0002; }
.wp-block-search__inside-wrapper { border:1px solid #777; padding:4px; }
.wp-block-search__input { min-width:0; font:inherit; font-size:16px; padding:8px; }
.wp-block-search__button { background:#b8956a; color:#1f1f1f; border:0; padding:10px 15px; }
.sr-section { padding:clamp(48px,6vw,84px) max(5vw,calc((100vw - 1290px)/2)); }
.sr-section > * { max-width:1290px; margin-inline:auto; }
.sr-subsection { padding-block:28px; }
.sr-stack > * + * { margin-top:24px; }
.sr-stack > :first-child { margin-top:0; }
.sr-stack > :last-child { margin-bottom:0; }
.sr-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; align-items:center; }
.sr-grid-1 { grid-template-columns:1fr; }
.sr-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sr-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sr-grid > * { min-width:0; margin:0!important; }
.sr-flex { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.sr-flex > * { margin:0; }
.sr-panel,.sr-tint { background:#f8f6f3; }
.sr-panel { padding:28px; border-radius:12px; }
.sr-hero { min-height:650px; padding:180px max(5vw,calc((100vw - 1290px)/2)) 90px; color:white; }
.sr-hero .wp-block-cover__inner-container { max-width:1290px; margin:auto; }
.sr-hero h1,.sr-hero p { color:white; }
.sr-hero h1 { max-width:900px; margin:0 0 24px; }
.sr-hero p { max-width:670px; font-size:18px; }
.sr-hero .sr-section { padding:0; }
.sr-hero .sr-grid { display:block!important; }
.sr-hero .sr-stack { max-width:850px; }
.sr-hero .sr-flex { margin-top:32px; }
.sr-image-panel { min-height:400px; padding:48px; }
.sr-eyebrow { font-family:var(--sofarooms-body-font); font-size:12px!important; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:#88673c; }
.sr-intro { max-width:760px; margin-bottom:40px; }
.sr-intro h2 { margin-block:12px 20px; }
.sr-card { border:1px solid #e5dfd5; background:#fff; height:100%; }
.sr-card > .wp-block-image { margin:0; }
.sr-card > .wp-block-image img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.sr-card-copy { padding:28px; }
.sr-card-copy h3 { margin:0 0 12px; }
.sr-card-copy p:last-child { margin:0; }
.sr-service-grid { align-items:stretch; }
.sr-steps { display:flex!important; flex-wrap:wrap; justify-content:center; gap:24px; }
.sr-steps > * { flex:1 1 220px; max-width:380px; padding:28px; background:#f8f6f3; margin:0; }
.sr-checklist { padding-left:22px; }
.sr-checklist li { margin-bottom:12px; }
body .sr-phone-button .wp-block-button__link { background:#2c2c2c; color:#fff; }
body .sr-phone-button .wp-block-button__link:hover { background:#b8956a; color:#fff; }
.sr-detail-customise > .sr-grid > .sr-cell > figure { line-height:0; font-size:0; }
.sr-detail-customise > .sr-grid > .sr-cell > figure img { margin:0; vertical-align:top; }
.sr-detail-customise > .sr-grid > .sr-cell:last-child > .sr-stack > figure.wp-block-image { margin:0; line-height:0; font-size:0; aspect-ratio:2.5/1; overflow:hidden; }
.sr-detail-customise > .sr-grid > .sr-cell:last-child > .sr-stack > figure.wp-block-image img { display:block; width:100%; height:100%; margin:0; object-fit:cover; object-position:center top; vertical-align:top; }
.sr-detail-customise > .sr-grid > .sr-cell:last-child > .sr-stack > figure.wp-block-image + hr { display:none; margin:0; }
.sr-detail-customise > .sr-grid > .sr-cell:last-child > .sr-stack > figure.wp-block-image + hr + .sr-subsection { margin-top:28px; }
.sr-detail-customise > .sr-grid > .sr-cell:last-child > .sr-stack > p.has-small-font-size { margin-bottom:40px!important; }
body.page-id-2978 .sr-detail-customise > .sr-grid > .sr-cell:last-child > .sr-stack > figure.wp-block-image { aspect-ratio:2400/1305; }
body.page-id-3163 .sr-detail-customise > .sr-grid > .sr-cell:last-child > .sr-stack > figure.wp-block-image { aspect-ratio:2400/1305; }
body.page-id-2124 .sr-detail-customise > .sr-grid > .sr-cell:last-child > .sr-stack > figure.wp-block-image { aspect-ratio:3/2; }
.wp-block-image img { border-radius:8px; }
.wp-block-gallery { gap:20px; }
.wp-block-table { overflow:auto; }
.wp-block-table table { border-collapse:collapse; width:100%; font-size:15px; }
.wp-block-table th,.wp-block-table td { padding:14px; border:1px solid #ddd5c8; text-align:left; }
.wp-block-table img { width:110px; }
.wp-block-details:not(.sr-header-search) { border-bottom:1px solid #d8cfc2; padding:20px 0; }
.wp-block-details summary { cursor:pointer; font-weight:600; }
.wp-block-details[open] > p { margin-top:16px; }
.sr-form-section { background:#d8cfc2; }
.sr-form-panel { max-width:800px; margin:auto; padding:clamp(24px,4vw,48px); background:#f8f6f3; border-radius:18px; }
.sr-form-panel h2,.sr-form-panel > p { text-align:center; }
.sr-form-panel > p { margin-bottom:28px; }
.is-style-sofarooms-section { padding:clamp(48px,6vw,84px) max(5vw,calc((100vw - 1290px)/2)); }
.is-style-sofarooms-panel { padding:28px; background:#f8f6f3; border-radius:12px; }
.is-style-sofarooms-dark-panel { padding:28px; background:#1a1a1a; color:#fff; }
.is-style-sofarooms-split { gap:clamp(24px,4vw,64px); }
.fluentform .ff-el-form-control { background:white!important; border:1px solid #7b7d72!important; border-radius:6px!important; min-height:50px; padding:13px 15px!important; color:#252821!important; font-size:16px!important; }
.fluentform textarea.ff-el-form-control { min-height:160px; }
.fluentform .ff-el-form-control::placeholder { color:#66685f; opacity:1; }
.fluentform .ff-el-form-control:focus { outline:2px solid #53664c!important; outline-offset:2px; }
.fluentform label { font-size:15px; font-weight:600; }
.fluentform .ff-el-group { margin-bottom:22px; }
.fluentform .ff-btn-submit { background:#b8956a!important; color:#fff!important; border:0!important; min-height:52px; width:100%; padding:14px 24px!important; font:600 16px var(--sofarooms-body-font); border-radius:6px!important; }
.fluentform .error { color:#a12727!important; font-size:15px; }
.sr-footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1.2fr 1fr; gap:48px; background:#1a1a1a; color:#eee; padding:64px max(5vw,calc((100vw - 1290px)/2)); }
.sr-footer-grid > * { margin:0; }
.sr-footer-grid h3 { font-family:var(--sofarooms-body-font); color:#d4bb97; font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 24px; }
.sr-footer-grid p { font-size:14px; }
.sr-footer-grid a,.sr-footer-bottom a { color:inherit; }
.sr-footer-brand p:first-child { font-family:var(--sofarooms-display-font); font-size:34px; letter-spacing:.08em; }
.sr-footer-brand p:first-child a { text-decoration:none; }
.sr-footer-links p { margin-bottom:8px; }
.sr-footer-bottom { display:flex; justify-content:space-between; padding:20px 5%; border-top:1px solid #ffffff25; background:#1a1a1a; color:#bbb; font-size:13px; margin:0; }
.sr-footer-bottom p { margin:0; }
.sr-search-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:48px; }
.sr-results .wp-block-post { padding-block:24px; border-bottom:1px solid #ddd5c8; margin:0; }
.sr-results .wp-block-post-title { font-size:32px; margin:0 0 12px; }
.sr-results .wp-block-post-title a { text-decoration:none; }
.sr-results .wp-block-post-title a:hover { text-decoration:underline; }
.sr-results .wp-block-post-excerpt { margin:0; }
.sr-sidebar { display:flex; flex-direction:column; gap:24px; }
.sr-sidebar > * { margin:0; }
.sr-sidebar-card { padding:28px; background:#f3f0ea; border-radius:18px; }
.sr-sidebar-card h2 { font-size:32px; }
.sr-sidebar-card p { font-size:15px; }
.sr-sidebar-card.sr-dark { background:#29372f; color:white; }
.sr-dark a { color:inherit; }
.sr-dark .wp-block-button__link { color:#fff; }
.sr-sidebar-card .wp-block-button__link { font-size:13px; }
.sr-sidebar-card li { padding:10px 0; }
.sr-basic-page { padding-top:180px; }
@media(min-width:1200px){.sr-navigation .wp-block-navigation__responsive-container-open{display:none!important}.sr-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:block!important}}
@media(max-width:1199px){
 .sr-navigation .wp-block-navigation__responsive-container-open{display:flex!important;min-width:44px;min-height:44px;align-items:center;justify-content:center;background:#b8956a;border-radius:12px;color:white}
 .sr-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
 .sr-navigation .wp-block-navigation__responsive-container.is-menu-open{padding:40px;color:#1f1f1f;background:#fff}
 .sr-navigation .is-menu-open .wp-block-navigation__container{align-items:flex-start;gap:16px;font-size:20px}
 .sr-header-controls{gap:16px}.sr-logo{font-size:40px}
 .sr-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sr-search-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
 .sr-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:699px){
 .sr-header-shell{padding-inline:12px;top:22px}body.admin-bar .sr-header-shell{top:68px}
 .sr-header{padding:12px 16px;gap:12px;min-height:68px}.sr-logo{font-size:clamp(25px,7vw,32px);letter-spacing:.045em}.sr-header-controls{gap:12px}
 .sr-header-search summary{font-size:11px}.sr-header-search form{position:fixed;left:5vw;top:150px;width:90vw}
 .sr-section{padding:44px 20px}.sr-grid,.sr-grid-3,.sr-grid-4{grid-template-columns:1fr;gap:24px}
 .sr-hero{min-height:570px;padding:185px 20px 60px}.sr-hero p{font-size:16px}.sr-hero h1{font-size:44px}
 .sr-flex{gap:14px}.sr-image-panel{padding:28px}.sr-panel{padding:24px}.sr-card-copy{padding:24px}
 .sr-search-layout{grid-template-columns:1fr}.sr-sidebar{margin-top:32px}.sr-footer-grid{grid-template-columns:1fr;gap:32px;padding:44px 24px}
 .sr-footer-bottom{padding:20px 24px;gap:16px;flex-wrap:wrap}.sr-form-panel{padding:28px 20px}
 .wp-block-columns{gap:24px}.sr-steps>*{max-width:none}.sr-basic-page{padding-top:175px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.sofarooms-category-enquiry { padding:190px 24px 90px; background:#f8f6f3; min-height:600px; }
.sofarooms-category-enquiry > * { max-width:800px; margin-inline:auto; }
.sofarooms-category-enquiry__eyebrow { color:#88673c; font-size:13px; text-transform:uppercase; letter-spacing:.12em; }
body .sr-hero .wp-block-button.is-style-outline a { color:white; border:1px solid white; background:transparent; }
body .wp-block-post-content > .sofarooms-bespoke .sofarooms-bespoke__hero,
body .wp-block-post-content > .sofarooms-cushion .sofarooms-cushion__hero,
body .wp-block-post-content > .sofarooms-reupholstery .sofarooms-reupholstery__hero { padding-top:190px; }
.sr-dark .sr-eyebrow { color:#d8b78b; }
.sr-table-hint { display:none; font-size:13px; color:#666; margin-bottom:12px; }
@media(max-width:767px){
 .sr-table-hint { display:block; }
}
.sr-grid .sr-flex { align-items:flex-start; }
.wp-block-post-content > .wp-block-gallery { padding:24px max(5vw,calc((100vw - 1290px)/2)); }
body.page-id-15 .ff-el-is-required label::after { display:none; }
.sr-rating-strip { padding:22px 5vw; text-align:center; background:transparent; }
.sr-rating-strip p { margin:0; }
.sr-legal-header { padding:180px 5vw 44px; background:#f5f1e9; }
.sr-legal-header > *, .sr-legal-content { max-width:900px; margin-inline:auto; }
.sr-legal-header h1 { margin-bottom:0; }
.sr-legal-content { padding:48px 24px 80px; overflow-wrap:anywhere; }
.sr-legal-content h2 { font-size:30px; margin-top:40px; }
.sr-legal-content p, .sr-legal-content li { font-size:16px; line-height:1.8; }
.sr-legal-content table { font-size:14px; }
.sr-legal-content th, .sr-legal-content td { padding:12px; vertical-align:top; }
.sr-home-hero .sr-rating-strip { padding:24px 0 0; text-align:left; }
.sr-home-hero .sr-rating-strip a { color:#fff; justify-content:flex-start; }
.sr-home-hero .sr-rating-strip .sr-review-stars { color:#d4bb97; }
.sr-rating-strip a { color:#263d33; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; }
.sr-review-stars { color:#9b701f; font-size:24px; letter-spacing:4px; }
.sr-rating-strip .sr-rating-date { font-size:12px; margin-top:6px; color:#666; }
.sr-review-summary { text-align:center; background:#f5f1e9; }
.sr-review-summary .wp-block-buttons { justify-content:center; }
.sr-review-quote { font-size:22px; line-height:1.6; }
