/*
Theme Name: Fumba House
Description: An editable WordPress block theme for a garden townhouse in Fumba Town. Uses native WordPress blocks and the Media Library.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fumba-house
*/
:root{--ink:#193c34;--muted:#68746c;--paper:#f6f5ef;--line:#d6dcd4;--accent:#a65232;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6;scroll-behavior:smooth;scroll-padding-top:2rem}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}button{font:inherit}img{display:block;max-width:100%}h1,h2,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.03;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,6.3vw,6.5rem)}h2{font-size:clamp(2.6rem,4.1vw,4.3rem)}h1 em,h2 em{font-weight:400}section[id]{scroll-margin-top:2rem}.skip-link{position:fixed;z-index:10;left:1rem;top:-100px;background:white;padding:.6rem 1rem}.skip-link:focus{top:1rem}.site-header{max-width:1600px;margin:auto;min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 4.7%}.wordmark{display:inline-flex;align-items:center;gap:.9rem;font-size:.88rem;letter-spacing:.16em;font-weight:700;white-space:nowrap}.brand-icon{font:italic 2.25rem var(--serif);letter-spacing:-.13em;padding-right:.2em}.site-header nav{display:flex;gap:2.6rem;font-size:.9rem}.site-header nav a{border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--ink)}.button{display:inline-flex;justify-content:center;align-items:center;gap:2.2rem;background:var(--ink);color:var(--paper);font-size:.94rem;font-weight:500;padding:1rem 1.5rem;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:#295747;transform:translateY(-2px)}.button span{font-size:1.25rem;line-height:1}.button-small{font-size:.87rem;padding:.7rem 1.2rem;gap:1.7rem;min-height:44px}.hero{max-width:1600px;display:grid;grid-template-columns:46% 54%;margin:auto;padding:1.1rem 2.5% 0 4.7%}.hero-copy{padding:2.6rem 1.6rem 2.5rem 0}.eyebrow{font-size:.76rem;font-weight:500;letter-spacing:.18em;line-height:1.6;margin-bottom:1.9rem;display:flex;gap:.8rem;align-items:center}.small-rule{width:2rem;height:1px;background:var(--accent)}.hero-description{font-size:1.05rem;line-height:1.8;margin:1.9rem 0 2rem;color:var(--muted)}.hero-price{display:flex;gap:.8rem;align-items:center;margin-top:3rem}.hero-price strong{font:2.5rem var(--serif);letter-spacing:-.045em}.hero-price>span{font-size:.875rem;line-height:1.35}.hero-price small{font-size:.75rem;color:var(--muted)}.hero-visual{position:relative;min-height:600px;background:#cbd6c4;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:4rem 1.8rem 1.4rem;color:white;background:linear-gradient(transparent,rgba(0,0,0,.68));display:flex;justify-content:space-between;gap:1rem;align-items:end}.hero-visual figcaption>span{font-size:.69rem;letter-spacing:.11em;line-height:1.6;max-width:13rem}.hero-visual figcaption a{font-size:.875rem;white-space:nowrap}.hero-visual figcaption a span{margin-left:.6rem}.home-facts{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);padding:2.3rem 4.7%;border-bottom:1px solid var(--line)}.home-facts>div{display:flex;align-items:center;gap:1.2rem;border-left:1px solid var(--line);padding:0 2rem}.home-facts>div:first-child{border:0;padding-left:0}.home-facts strong{font:2.4rem var(--serif);letter-spacing:-.055em}.home-facts span{font-size:.85rem;color:var(--muted)}.home-facts .fact-word{font-size:1.8rem}.section-wrap{max-width:1450px;padding-left:4.7%;padding-right:4.7%;margin:0 auto}.intro{padding-top:6rem;padding-bottom:3rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.intro p:not(.eyebrow){max-width:31rem;font-size:1.04rem;color:var(--muted);margin-bottom:1.5rem}.text-link{font-size:.9rem;display:inline-flex;gap:2rem;border-bottom:1px solid var(--ink);padding-bottom:.3rem}.gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:1.3rem}.details{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-top:6rem;padding-bottom:6rem}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;align-content:center}.amenities>div{padding:1.1rem 0;border-bottom:1px solid var(--line);font-size:.93rem}.enquire{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-top:4.8rem;padding-bottom:4.8rem}.enquire .eyebrow{color:#b8c8bb}.enquire p:not(.eyebrow){max-width:30rem;margin-bottom:1.5rem}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#e3e9dc}.contact-links{display:grid;gap:.3rem;font-size:.94rem;margin-top:1.9rem}.contact-links a{width:fit-content}.contact-links a:hover{text-decoration:underline}.enquire p.rental-note{margin:1.8rem 0 0;color:#bfccc4;font-size:.8rem;line-height:1.7}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1450px;padding:2.5rem 4.7%;margin:auto;font-size:.8rem}.site-footer p{color:var(--muted)}.site-footer>a:last-child{text-decoration:underline;text-underline-offset:4px}@media(min-width:1650px){.hero-visual{min-height:650px}}@media(max-width:1000px){.site-header{padding-left:5%;padding-right:5%}.site-header nav{gap:1.5rem}.hero{grid-template-columns:48% 52%}.hero-copy{padding-top:2rem}.hero-visual{min-height:550px}.hero-visual figcaption{padding-left:1.2rem;padding-right:1.2rem;flex-direction:column;align-items:start}.hero-price{margin-top:2.3rem}.home-facts>div{padding:0 1rem;gap:.75rem}.home-facts strong{font-size:2rem}.home-facts>div:last-child{flex-direction:column;gap:0;align-items:start}.intro,.details,.enquire{gap:2rem}}@media(max-width:700px){:root{scroll-padding-top:1rem}.site-header{min-height:86px;gap:1rem;padding:1rem 6%}.wordmark{font-size:.72rem;gap:.6rem}.brand-icon{font-size:2rem}.site-header nav{display:none}.button-small{font-size:.82rem;gap:1.1rem}.hero{display:flex;flex-direction:column;padding:0 6%}.hero-copy{padding:1.7rem 0 2.2rem}h1{font-size:clamp(3.3rem,13vw,5.7rem)}.eyebrow{font-size:.72rem;margin-bottom:1.4rem}.hero-description{font-size:1rem;margin:1.3rem 0 1.6rem}.hero-price{margin-top:1.8rem}.hero-visual{min-height:0;aspect-ratio:1.06}.hero-visual figcaption{flex-direction:row;align-items:end;padding-bottom:1.2rem}.hero-visual figcaption>span{font-size:.63rem}.hero-visual figcaption a{font-size:.8rem}.home-facts{margin:0 6%;padding:1.8rem 0;grid-template-columns:repeat(2,1fr);gap:1.5rem}.home-facts>div{padding:0 1rem!important}.home-facts>div:nth-child(odd){border-left:0;padding-left:0!important}.home-facts>div:last-child{flex-direction:row;align-items:center}.home-facts span{font-size:.8rem}.home-facts .fact-word{font-size:1.8rem}.section-wrap{padding-left:6%;padding-right:6%}.intro,.details,.enquire{grid-template-columns:1fr;gap:1.8rem}.intro{padding-top:3.5rem;padding-bottom:2rem}.intro p:not(.eyebrow){font-size:1rem}.gallery{gap:.7rem}.details{padding-top:3.5rem;padding-bottom:3.5rem}.amenities{gap:0 1.5rem}.amenities>div{font-size:.88rem}.enquire{padding-top:3.3rem;padding-bottom:3.3rem}.site-footer{flex-wrap:wrap;padding:2rem 6%;gap:.8rem 1rem}.site-footer p{order:3;flex-basis:100%;font-size:.8rem}.contact-links a{overflow-wrap:anywhere}.button{max-width:100%}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Native WordPress blocks, shared by the site and editor. */
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.brand { display: flex; align-items: center; gap: .9rem; }
.brand .wordmark { margin: 0; font: 700 .88rem var(--sans); letter-spacing: .16em; }
.brand .brand-icon { margin: 0; font: italic 2.25rem var(--serif); letter-spacing: -.13em; }
.site-header nav { font-size: .9rem; }
.site-header .wp-block-navigation__container { gap: 2.6rem; }
.site-header .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }
.wp-block-button__link { display: inline-flex; justify-content: center; align-items: center; gap: 1.3rem; background: var(--ink); color: var(--paper); font-size: .94rem; font-weight: 500; line-height: 1.4; border: 0; border-radius: 0; padding: 1rem 1.5rem; min-height: 52px; transition: background .2s, transform .2s; text-align: center; }
.wp-block-button__link:hover { background: #295747; color: var(--paper); transform: translateY(-2px); }
.wp-block-button.button-small { padding: 0; }
.button-small .wp-block-button__link { font-size: .87rem; padding: .7rem 1.2rem; min-height: 44px; }
.hero-price .rent { font: 2.5rem var(--serif); letter-spacing: -.045em; }
.hero-price p:not(.rent) { font-size: .875rem; line-height: 1.35; }
.hero-price small { font-size: .75rem; color: var(--muted); }
.hero-visual .wp-block-image { height: 100%; width: 100%; margin: 0; }
.hero-visual img { object-position: 46% center; }
.hero-visual .photo-label { position: absolute; z-index: 1; bottom: 0; left: 0; right: 0; margin: 0; padding: 4rem 1.8rem 1.4rem; color: white; background: linear-gradient(transparent,rgba(0,0,0,.7)); font-size: .75rem; letter-spacing: .12em; }
.home-fact .fact-number { font: 2.4rem var(--serif); letter-spacing: -.055em; }
.home-fact:last-child .fact-number { font-size: 1.8rem; }
.home-fact .fact-label { font-size: .875rem; color: var(--muted); }
.wp-block-gallery.featured-gallery.has-nested-images { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.3rem; margin: 0; }
.wp-block-gallery.featured-gallery.has-nested-images > figure.wp-block-image { width: 100% !important; margin: 0; aspect-ratio: 1.5; }
.wp-block-gallery.featured-gallery.has-nested-images > figure.wp-block-image:first-child { grid-row: span 2; aspect-ratio: auto; }
.wp-block-gallery.featured-gallery.has-nested-images img { width: 100%; height: 100%; object-fit: cover; }
.all-photos { margin-top: 1.5rem; }
.all-photos > summary { display: block; width: fit-content; margin-left: auto; padding: .65rem 0 .3rem; border-bottom: 1px solid var(--ink); cursor: pointer; font-size: .9rem; list-style: none; }
.all-photos > summary::after { content: ' +'; padding-left: 1.6rem; }
.all-photos[open] > summary::after { content: ' −'; }
.all-photos > summary::-webkit-details-marker { display: none; }
.wp-block-gallery.complete-gallery.has-nested-images { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 2rem 0 0; }
.wp-block-gallery.complete-gallery.has-nested-images > figure.wp-block-image { width: 100% !important; margin: 0; aspect-ratio: 1.5; }
.wp-block-gallery.complete-gallery.has-nested-images img { width: 100%; height: 100%; object-fit: cover; }
.amenities { display: block; }
.amenities > div { padding: 0; border: 0; }
.amenity-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
.amenity-list p { padding: .95rem 0; border-bottom: 1px solid var(--line); font-size: .94rem; }
.amenity-details { margin-top: 1.4rem; font-size: .9rem; }
.amenity-details summary { cursor: pointer; padding-block: .5rem; }
.amenity-details .amenity-list { margin-top: .6rem; }
.stay-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; padding-top: 3rem; padding-bottom: 4.5rem; border-top: 1px solid var(--line); }
.stay-notes .eyebrow { margin-bottom: 1.4rem; }
.stay-notes h3 { font-family: var(--serif); font-size: 1.9rem; letter-spacing: -.025em; margin: 0 0 1.3rem; }
.stay-notes p:not(.eyebrow) { font-size: 1rem; max-width: 30rem; margin-bottom: 1rem; }
.stay-notes .text-link { font-size: .9rem; }
.stay-notes .house-rules p:last-child { font-size: .875rem; }
.muted { color: var(--muted); }
.enquire .button-light { background: none; }
.button-light .wp-block-button__link { background: var(--paper); color: var(--ink); }
.button-light .wp-block-button__link:hover { background: #e3e9dc; }
.enquire .contact-links p { margin: 0; font-size: .94rem; }
.enquire a:not(.wp-block-button__link) { color: inherit; }
.site-footer { font-size: .875rem; }
.site-footer > p:last-child a { text-decoration: underline; text-underline-offset: 4px; }
.site-footer .brand p { color: var(--ink); }
.not-found { padding-top: 6rem; padding-bottom: 6rem; }
.not-found h2, .not-found p { margin-bottom: 2rem; }
.editor-styles-wrapper .hero-visual .wp-block-image { min-height: 550px; }
.editor-styles-wrapper .hero-visual img { position: static; height: 550px; }
@media (max-width: 1000px) {
  .site-header .wp-block-navigation__container { gap: 1.5rem; }
  .home-fact .fact-number { font-size: 2rem; }
  .stay-notes { gap: 2rem; }
}
@media (max-width: 700px) {
  .site-header { flex-wrap: wrap; }
  .site-header nav { display: flex; margin-left: auto; }
  .site-header .brand .wordmark, .site-footer .brand .wordmark { font-size: .72rem; }
  .site-header .brand { gap: .5rem; }
  .site-header > .wp-block-buttons { display: none; }
  .site-header .wp-block-navigation__responsive-container-close { top: .6rem; right: .6rem; }
  .hero-visual .photo-label { padding: 3rem 1.2rem 1rem; font-size: .65rem; }
  .home-fact .fact-label { font-size: .875rem; }
  .wp-block-gallery.featured-gallery.has-nested-images { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .wp-block-gallery.featured-gallery.has-nested-images > figure.wp-block-image:first-child { grid-row: auto; grid-column: 1 / -1; aspect-ratio: 1.5; }
  .wp-block-gallery.featured-gallery.has-nested-images > figure.wp-block-image { aspect-ratio: 1; }
  .wp-block-gallery.complete-gallery.has-nested-images { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .amenity-list { gap: 0 1.2rem; }
  .amenity-list p { font-size: .9rem; }
  .stay-notes { grid-template-columns: 1fr; gap: 2rem; padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .site-footer > p:last-child { margin-left: auto; }
  .site-footer > p.muted { flex-basis: 100%; order: 3; }
}
@media (max-width: 380px) {
  .hero-price .rent { font-size: 2.2rem; }
  .home-facts > div { gap: .6rem; }
  .home-fact .fact-label { font-size: .8rem; }
}
