/* Inner pages, room pages and WPForms styling. Loaded on every page except the front page. */
.sv-inner { padding-top: var(--sv-header-h); }

.sv-phero { padding: clamp(4rem, 9vw, 8rem) var(--sv-gutter) clamp(2.5rem, 5vw, 4.5rem); }
.sv-phero__title { font-size: clamp(3rem, 1.4rem + 7vw, 8rem); line-height: .98; margin: 0 0 1.5rem; max-width: 14ch; }
.sv-phero__title em, .sv-pcta h2 em, .sv-h2 em { color: var(--sv-gold); }
.sv-phero__lead { max-width: 48ch; margin: 0; font-size: var(--wp--preset--font-size--lead); color: rgba(243, 238, 228, .88); }

.sv-pimg-wrap { padding: 0 var(--sv-gutter); margin-bottom: clamp(3rem, 7vw, 6rem); }
.sv-pimg { position: relative; width: 100%; background: linear-gradient(150deg, #2a241d, #171410 55%, #0d0c0a); }
.sv-room-hero-img { width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; }

.sv-split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 8rem); padding: 0 var(--sv-gutter); margin-bottom: clamp(4rem, 8vw, 8rem); align-items: start; }
.sv-prose p { font-size: var(--wp--preset--font-size--lead); color: rgba(243, 238, 228, .9); margin: 0 0 1.25rem; max-width: 52ch; }
.sv-h2 { font-size: var(--wp--preset--font-size--title); margin: 0 0 1.25rem; }
.sv-gallery2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.sv-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1.5rem; margin: 0 var(--sv-gutter) clamp(3rem, 6vw, 5rem); padding: 1.75rem 0; border-block: 1px solid var(--sv-line); }
.sv-specs dd { margin: .3rem 0 0; font-family: var(--sv-display); font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); line-height: 1.2; font-weight: 300; }
.sv-aside { display: grid; gap: 1.5rem; justify-items: start; position: sticky; top: calc(var(--sv-header-h) + 2rem); }
.sv-list { list-style: none; margin: 0; padding: 0; width: 100%; }
.sv-list li { padding: .7rem 0; border-bottom: 1px solid var(--sv-line); }
.sv-price { margin: 0; font-family: var(--sv-display); font-size: 3rem; font-weight: 300; line-height: 1; display: grid; gap: .4rem; }
.sv-price small { font-family: var(--sv-body); font-size: .875rem; color: var(--sv-mute); }

/* Cards (rooms) */
.sv-cards { list-style: none; margin: 0; padding: 0 var(--sv-gutter); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2.5rem); margin-bottom: clamp(4rem, 8vw, 8rem); }
.sv-card a { display: grid; gap: .55rem; text-decoration: none; color: var(--sv-cream); }
.sv-card__img { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: linear-gradient(160deg, #2a241d, #171410 60%, #0d0c0a); margin-bottom: .75rem; }
.sv-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--sv-ease); }
.sv-card:hover .sv-card__img img { transform: scale(1.04); }
.sv-card h2 { margin: 0; font-size: var(--wp--preset--font-size--subtitle); }
.sv-card__text { margin: 0; color: var(--sv-mute); }
.sv-card .sv-link { justify-self: start; }
.sv-card:hover .sv-link::after { transform: scaleX(1); }

/* Facilities rows */
.sv-rows { list-style: none; margin: 0 0 clamp(4rem, 8vw, 8rem); padding: 0 var(--sv-gutter); display: grid; gap: clamp(3rem, 7vw, 7rem); }
.sv-row { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 7rem); align-items: center; }
.sv-row.is-flip .sv-row__img { order: 2; }
.sv-row__copy { display: grid; gap: .9rem; justify-items: start; }
.sv-row__copy h2 { margin: 0; font-size: var(--wp--preset--font-size--title); }
.sv-row__copy p { margin: 0; max-width: 40ch; }

/* About values / events columns */
.sv-values, .sv-cols3 { list-style: none; margin: 0; padding: 0; display: grid; gap: 2rem; }
.sv-values li, .sv-cols3 li { border-top: 1px solid var(--sv-line); padding-top: 1.25rem; display: grid; gap: .5rem; }
.sv-values h2, .sv-cols3 h2 { margin: 0; font-size: var(--wp--preset--font-size--subtitle); }
.sv-values p:last-child, .sv-cols3 p:last-child { margin: 0; color: var(--sv-mute); }
.sv-cols3 { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 var(--sv-gutter); margin-bottom: clamp(4rem, 8vw, 8rem); }

/* Contact */
.sv-contact address { font-style: normal; font-family: var(--sv-display); font-weight: 300; font-size: var(--wp--preset--font-size--subtitle); line-height: 1.2; margin-bottom: 2rem; }
.sv-contact__list { list-style: none; margin: 0 0 1.75rem; padding: 1.5rem 0 0; border-top: 1px solid var(--sv-line); display: grid; gap: .9rem; }
.sv-contact__list li { display: grid; grid-template-columns: 7rem 1fr; align-items: baseline; }
.sv-contact__list a { text-decoration: none; }

/* CTA + more nav */
.sv-pcta { padding: clamp(4rem, 8vw, 8rem) var(--sv-gutter); border-top: 1px solid var(--sv-line); display: grid; gap: 1.25rem; justify-items: start; }
.sv-pcta h2 { margin: 0; font-size: clamp(2.5rem, 1.5rem + 5vw, 6.5rem); line-height: 1; }
.sv-pcta p { margin: 0; max-width: 46ch; color: var(--sv-mute); }
.sv-pcta__btns { display: flex; flex-wrap: wrap; gap: 2rem; align-items: center; margin-top: .5rem; }
.sv-more { padding: 0 var(--sv-gutter) clamp(3rem, 6vw, 5rem); }
.sv-more ul { list-style: none; margin: .5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 2.5rem; }

/* WPForms, restyled to the brand */
.sv-form .wpforms-container { margin: 0; --wpforms-field-border-radius: 0; --wpforms-button-border-radius: 0; }
.sv-form .wpforms-container .wpforms-form .wpforms-field { padding: 0 0 1.5rem; }
.sv-form .wpforms-container .wpforms-form .wpforms-field-label { font-family: var(--sv-body); font-size: .75rem; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; color: var(--sv-mute); margin: 0 0 .4rem; }
.sv-form .wpforms-container .wpforms-form .wpforms-required-label { color: var(--sv-gold); }
.sv-form .wpforms-container .wpforms-form input[type=text],
.sv-form .wpforms-container .wpforms-form input[type=email],
.sv-form .wpforms-container .wpforms-form input[type=number],
.sv-form .wpforms-container .wpforms-form select,
.sv-form .wpforms-container .wpforms-form textarea { width: 100%; max-width: 100%; min-height: 52px; padding: .7rem 0; background: transparent; border: 0; border-bottom: 1px solid var(--sv-line); border-radius: 0; box-shadow: none; color: var(--sv-cream); font-family: var(--sv-display); font-size: 1.5rem; font-weight: 300; transition: border-color .3s ease-out; }
.sv-form .wpforms-container .wpforms-form textarea { min-height: 140px; resize: vertical; }
.sv-form .wpforms-container .wpforms-form select option { color: #0d0c0a; background: #f3eee4; font-family: var(--sv-body); font-size: 1rem; }
.sv-form .wpforms-container .wpforms-form input:focus,
.sv-form .wpforms-container .wpforms-form select:focus,
.sv-form .wpforms-container .wpforms-form textarea:focus { outline: none; border-bottom-color: var(--sv-gold); box-shadow: 0 1px 0 var(--sv-gold); }
.sv-form .wpforms-container .wpforms-form ::placeholder { color: rgba(169, 162, 150, .7); opacity: 1; }
.sv-form .wpforms-container .wpforms-form .wpforms-field-row { display: grid; gap: 1rem; }
.sv-form .wpforms-container .wpforms-form .wpforms-field-sublabel { color: var(--sv-mute); font-size: .8rem; }
.sv-form .wpforms-container .wpforms-form button[type=submit] { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .9rem 2rem; background: var(--sv-cream); color: var(--sv-ink); border: 1px solid var(--sv-cream); border-radius: 0; font-family: var(--sv-body); font-size: .75rem; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; transition: background-color .3s ease-out, border-color .3s ease-out; }
.sv-form .wpforms-container .wpforms-form button[type=submit]:hover { background: var(--sv-gold); border-color: var(--sv-gold); }
.sv-form .wpforms-container .wpforms-form button[type=submit]:focus-visible { outline: 2px solid var(--sv-gold); outline-offset: 3px; }
.sv-form .wpforms-container .wpforms-form .wpforms-error,
.sv-form .wpforms-container .wpforms-form label.wpforms-error { color: #f0a58f; font-size: .875rem; margin-top: .4rem; }
.sv-form .wpforms-container .wpforms-form input.wpforms-error,
.sv-form .wpforms-container .wpforms-form textarea.wpforms-error { border-bottom-color: #f0a58f; }
.sv-form .wpforms-confirmation-container-full, .sv-form .wpforms-confirmation-container { background: transparent; border: 1px solid var(--sv-gold); border-radius: 0; color: var(--sv-cream); padding: 1.5rem; font-family: var(--sv-display); font-size: 1.5rem; font-weight: 300; }
.sv-form .wpforms-confirmation-container-full p { margin: 0; }
.sv-note { color: var(--sv-mute); }

@media (max-width: 900px) {
	.sv-split, .sv-row { grid-template-columns: 1fr; }
	.sv-row.is-flip .sv-row__img { order: 0; }
	.sv-cards, .sv-cols3 { grid-template-columns: 1fr; }
	.sv-aside { position: static; }
}

/* WPForms ships its own button colours; force the brand ones. */
.sv-form div.wpforms-container-full { --wpforms-button-background-color: #f3eee4; --wpforms-button-background-color-alt: #cdb47e; --wpforms-button-text-color: #0d0c0a; --wpforms-button-border-color: #f3eee4; --wpforms-button-border-radius: 0px; --wpforms-field-background-color: transparent; --wpforms-field-text-color: #f3eee4; --wpforms-label-color: #a9a296; }
.sv-form div.wpforms-container-full .wpforms-form .wpforms-submit-container button.wpforms-submit { background: #f3eee4 !important; color: #0d0c0a !important; border: 1px solid #f3eee4 !important; border-radius: 0 !important; box-shadow: none !important; }
.sv-form div.wpforms-container-full .wpforms-form .wpforms-submit-container button.wpforms-submit:hover,
.sv-form div.wpforms-container-full .wpforms-form .wpforms-submit-container button.wpforms-submit:focus-visible { background: #cdb47e !important; border-color: #cdb47e !important; }
.sv-form div.wpforms-container-full .wpforms-form .wpforms-submit-container { padding: .5rem 0 0; }
#request { scroll-margin-top: calc(var(--sv-header-h) + 1rem); }
.sv-form .wpforms-container .wpforms-form em.wpforms-error { display: block; color: #f0a58f; font-style: normal; font-size: .875rem; margin-top: .4rem; }

/* Lists, facts, galleries (content pages) */
.sv-list--wide { margin: 1.5rem 0 2rem; }
.sv-lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 7rem); padding: 0 var(--sv-gutter); margin-bottom: 2rem; }
.sv-lists h2, .sv-after + h2 { font-size: var(--wp--preset--font-size--subtitle); margin: 0 0 1rem; }
.sv-after { padding: 0 var(--sv-gutter); margin: 0 0 clamp(4rem, 8vw, 8rem); color: var(--sv-mute); }
.sv-after a { color: var(--sv-cream); text-decoration: underline; text-decoration-color: var(--sv-gold); text-underline-offset: 4px; }
.sv-actions { display: flex; flex-wrap: wrap; gap: 1.5rem 2rem; align-items: center; }
.sv-bigfacts { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; }
.sv-bigfacts li { display: grid; gap: .25rem; padding-top: 1.25rem; border-top: 1px solid var(--sv-line); }
.sv-bigfacts strong { font-family: var(--sv-display); font-weight: 300; font-size: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); line-height: 1; }
.sv-bigfacts span { color: var(--sv-mute); }
.sv-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; padding: 0 var(--sv-gutter); margin-bottom: clamp(3rem, 6vw, 5rem); }
.sv-gallery img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.sv-wide--room { aspect-ratio: 16 / 8; }
.sv-split .sv-gallery2 { margin-top: 2rem; }
@media (max-width: 900px) { .sv-lists { grid-template-columns: 1fr; } }
