/*
Theme Name: Integrated Interiors
Description: Custom photography-led Integrated Interiors homepage. Uses Smash Balloon Instagram feed 1 when available, with saved-photo fallback and a WordPress enquiry form.
Version: 1.0.4
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: integrated-interiors
*/
:root{--wine:#5c1814;--ink:#292622;--muted:#65615d;--line:#dcd9d5;--paper:#fff;--soft:#f3f3f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #b37e55;outline-offset:5px}.skip{position:absolute;left:16px;top:-70px;z-index:5;background:white;padding:10px}.skip:focus{top:10px}header{min-height:104px;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:white}.brand{display:block;width:245px;flex-shrink:0}.brand svg{width:100%;display:block}nav{display:flex;align-items:center;gap:32px;font-size:.875rem}nav>a:hover,.text-link:hover{color:#9b4235}.button{display:inline-block;padding:17px 25px;color:#fff;background:var(--wine);font-size:.875rem;font-weight:600;text-align:center;border:1px solid var(--wine);transition:background .2s}.button:hover{background:#792a22;color:#fff}.button.small{padding:12px 20px}.menu{display:none}.hero{display:grid;grid-template-columns:47% 53%;min-height:650px}.hero-copy{padding:70px 10.6% 28px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:600;margin:0 0 30px;color:var(--wine)}h1,h2,h3,p,figure{margin-top:0}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.5rem,5.5vw,6rem);line-height:1.05;letter-spacing:-.055em;font-weight:400;margin-bottom:28px}h1 em{color:var(--wine);font-weight:400}h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.3vw,3.5rem);font-weight:400;line-height:1.15;letter-spacing:-.035em;margin-bottom:25px}.intro{max-width:370px;color:var(--muted);font-size:1.05rem;line-height:1.75}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:14px}.text-link{font-size:.875rem;border-bottom:1px solid;padding-bottom:5px}.hero-foot{display:flex;justify-content:space-between;width:100%;gap:20px;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:19px;margin-top:auto}.hero-image{position:relative;margin:0;min-height:650px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-image figcaption{position:absolute;bottom:20px;left:25px;padding:8px 14px;background:rgba(255,255,255,.94);font-size:.75rem}.section{padding:95px 7%}.section-heading{display:grid;grid-template-columns:30% 70%}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:30px}.service-grid article{border-top:1px solid var(--line);padding-top:20px}.number{font-size:.75rem;color:var(--wine)}h3{font-size:1.25rem;font-weight:500;letter-spacing:-.02em;margin:26px 0 15px}.service-grid p{font-size:.9375rem;color:var(--muted)}.projects{background:var(--soft)}.project-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:30px}.project-heading>p{max-width:290px;color:var(--muted);margin-bottom:28px}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.project{padding:0;border:0;background:none;text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center}.project img{grid-column:1/-1;width:100%;height:360px;object-fit:cover;display:block;margin-bottom:20px;transition:filter .2s}.project:hover img{filter:brightness(.92)}.project strong{display:block;font-size:1.25rem;font-weight:500}.project small{font-size:.875rem;color:var(--muted)}.view{font-size:.75rem;border-bottom:1px solid;padding-bottom:3px}.about{display:grid;grid-template-columns:30% 70%;border-bottom:1px solid var(--line)}.about>div{max-width:680px}.about p:not(.eyebrow){color:var(--muted);max-width:560px}.contact{background:var(--wine);color:white;display:grid;grid-template-columns:1.5fr 1fr;gap:80px}.contact .eyebrow{color:#e8c9c4}.contact>div>p:not(.eyebrow){max-width:410px;color:#ecdeda}.contact h2{font-size:clamp(2.5rem,4.2vw,4.5rem)}.light{background:white;color:var(--wine);border-color:white;margin-top:18px}.light:hover{background:#ecdeda;color:var(--wine)}address{font-style:normal;padding-top:18px;overflow-wrap:anywhere}address a:hover{text-decoration:underline}.contact-label{font-size:.75rem;letter-spacing:.15em;color:#e8c9c4;margin:24px 0 8px}.phone{font-size:2rem;letter-spacing:-.04em}footer{padding:30px 7%;display:flex;justify-content:space-between;gap:20px;font-size:.75rem}dialog{border:0;padding:55px 25px 20px;max-width:95vw;max-height:95vh;background:#fff}dialog::backdrop{background:rgba(0,0,0,.8)}dialog img{max-width:85vw;max-height:70vh;display:block;object-fit:contain}dialog h2{font-family:Arial,sans-serif;font-size:1rem;margin:18px 0 0;letter-spacing:0}.close{position:absolute;right:20px;top:14px;border:0;background:none;padding:6px}
@media(min-width:1500px){.hero{min-height:760px}.hero-image{min-height:760px}.hero-copy{padding-top:100px}}@media(max-width:1000px){header{padding:24px 5%}.brand{width:205px}nav{gap:18px}.hero-copy{padding:50px 9% 24px}.hero{min-height:580px}.hero-image{min-height:580px}h1{font-size:4rem}.hero-foot{flex-direction:column;gap:2px}.section{padding:70px 6%}.service-grid{gap:24px}.project img{height:280px}.contact{gap:40px}.actions{gap:18px}}@media(max-width:760px){header{min-height:85px;position:relative;flex-wrap:wrap}.brand{width:200px}.menu{display:block;background:none;border:1px solid var(--line);padding:8px 14px;font-size:.875rem}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a{padding:12px 0}nav .button{margin-top:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:44px 6% 30px}h1{font-size:clamp(3.4rem,11vw,4.6rem)}.hero-image{min-height:390px}.hero-image img{object-position:center}.hero-foot{margin-top:40px;flex-direction:row;flex-wrap:wrap}.section{padding:60px 6%}.section-heading,.about{grid-template-columns:1fr}.eyebrow{margin-bottom:20px}.service-grid{grid-template-columns:1fr 1fr;gap:20px}.service-grid h3{margin-top:18px}.project-heading{display:block}.project-heading>p{max-width:400px}.project-grid{grid-template-columns:1fr;gap:35px}.project img{height:auto;aspect-ratio:1.4}.contact{grid-template-columns:1fr;gap:18px}address{padding:0}.phone{font-size:1.8rem}footer{flex-wrap:wrap}footer span:nth-child(2){display:none}}@media(max-width:380px){.service-grid{grid-template-columns:1fr}.hero-image{min-height:320px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Centred, photography-led homepage */
.hero{display:flex;flex-direction:column;min-height:0;padding:0 5%}
.hero-copy{padding:38px 0 32px;align-items:center;text-align:center;width:100%;max-width:1200px;margin:0 auto}
.hero-copy .eyebrow{margin-bottom:18px}
.hero h1{font-size:clamp(3rem,5.2vw,5.3rem);margin-bottom:18px;line-height:1.12}
.hero h1 br{display:none}
.hero .intro{max-width:530px;margin-bottom:20px}
.hero .actions{justify-content:center;margin-top:0}
.hero-foot{max-width:530px;margin-top:28px;padding-top:16px;flex-direction:row;justify-content:center;gap:28px;flex-wrap:wrap}
.hero-image{width:100%;max-width:1200px;min-height:0;margin:0 auto;aspect-ratio:3/2}
.hero-image img{object-fit:cover;object-position:center}
.hero-image figcaption{left:50%;transform:translateX(-50%);white-space:nowrap}
@media(max-width:760px){.hero{padding:0 5%}.hero-copy{padding:30px 0}.hero h1{font-size:clamp(2.8rem,9vw,4rem);max-width:520px}.hero .intro{max-width:400px}.hero-foot{gap:8px 20px;margin-top:24px}.hero-image{min-height:0;aspect-ratio:3/2}.hero-image figcaption{font-size:.75rem;padding:6px 10px;bottom:12px}}

/* Photo hero with readable overlay */
.brand{width:270px}
.hero{position:relative;display:grid;grid-template-columns:1fr;padding:0 5%;isolation:isolate}
.hero-image{grid-area:1/1;position:relative;width:100%;max-width:none;aspect-ratio:auto;min-height:640px}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,12,.24),rgba(20,15,12,.48) 55%,rgba(20,15,12,.64));z-index:1}
.hero-image img{object-position:center}
.hero-image figcaption{z-index:2;background:transparent;color:#fff;bottom:18px}
.hero-copy{grid-area:1/1;position:relative;z-index:2;align-self:center;max-width:850px;padding:70px 24px 95px;color:white}
.hero-copy .eyebrow{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.hero h1{font-size:clamp(3.4rem,5.7vw,6rem);text-shadow:0 2px 20px rgba(0,0,0,.2)}
.hero h1 em{color:white}
.hero .intro{color:#fff;max-width:530px;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hero .button{background:white;color:var(--wine);border-color:white}
.hero .button:hover{background:#f0e7e4;border-color:#f0e7e4}
.hero .text-link{color:white}
.hero-foot{color:white;border-color:rgba(255,255,255,.4)}
@media(min-width:1500px){.hero-image{min-height:740px}}
@media(max-width:1000px){.brand{width:225px}.hero-image{min-height:620px}}
@media(max-width:760px){.brand{width:220px}.hero{padding:0}.hero-image{min-height:580px;aspect-ratio:auto}.hero-copy{padding:55px 6% 80px}.hero h1{font-size:clamp(3rem,10vw,4.4rem)}.hero .actions{gap:20px}.hero-image figcaption{bottom:16px}.hero-image::after{background:linear-gradient(180deg,rgba(20,15,12,.35),rgba(20,15,12,.57) 60%,rgba(20,15,12,.67))}}
@media(max-width:380px){.brand{width:200px}.hero-image{min-height:620px}}

/* Studio Bide reference: immersive photo, overlay navigation, quiet typography */
header{position:absolute;top:0;left:0;width:100%;z-index:4;background:transparent;padding:24px 3.7%;min-height:100px}
.brand{width:270px;background:white;padding:8px 12px}
header nav{gap:32px;color:white;font-size:.875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
header nav .button{background:transparent;border:0;padding:0;color:white;font-weight:600}
header nav>a:hover,header nav .button:hover{background:transparent;color:#eee;text-decoration:underline;text-underline-offset:6px}
.hero{display:block;position:relative;min-height:100svh;padding:0;background:#292622}
.hero-image{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-width:none;margin:0}
.hero-image img{object-fit:cover;object-position:center}
.hero-image::after{background:linear-gradient(90deg,rgba(25,20,16,.48),rgba(25,20,16,.2)),linear-gradient(180deg,rgba(25,20,16,.25),transparent 35%,rgba(25,20,16,.32))}
.hero-copy{position:relative;margin:0;padding:0 3.7%;text-align:left;align-items:flex-start;max-width:none;min-height:100svh;justify-content:center;padding-top:100px;padding-bottom:140px}
.hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-.045em;font-size:clamp(2.6rem,4.4vw,4.5rem);line-height:1.15;margin-bottom:32px;text-shadow:none}
.hero .actions{justify-content:flex-start}
.hero .button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.85);border-radius:100px;padding:13px 27px;font-size:.875rem;text-transform:uppercase;letter-spacing:.09em;font-weight:500}
.hero .button:hover{background:white;border-color:white;color:var(--wine)}
.hero-categories{display:flex;position:absolute;bottom:45px;left:3.7%;right:3.7%;z-index:3;gap:8%;color:white;align-items:stretch}
.hero-categories a{display:block;width:25%;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.8);font-size:1rem}
.hero-categories a:hover{color:white;border-bottom-width:2px}
@media(max-width:1000px){header nav{gap:22px;font-size:.75rem}.brand{width:245px}.hero-image{min-height:0}}
@media(max-width:760px){header{padding:18px 6%;min-height:85px;align-items:flex-start}.brand{width:220px}.menu{color:white;border-color:rgba(255,255,255,.7);background:rgba(0,0,0,.15);margin-top:6px}header nav.open{background:var(--wine);padding:10px 20px;margin-top:12px;gap:0}header nav .button{padding:12px 0;margin:0}.hero-copy{padding:110px 6% 145px;min-height:100svh}.hero h1{font-size:clamp(2.5rem,9vw,4rem);max-width:500px}.hero-image{min-height:0}.hero-image img{object-position:52% center}.hero-categories{display:flex;left:6%;right:6%;bottom:36px;gap:10%}.hero-categories a{width:45%}.hero-image::after{background:linear-gradient(90deg,rgba(25,20,16,.55),rgba(25,20,16,.3))}}
@media(max-width:380px){.brand{width:190px}.hero-image{min-height:0}}
@media(max-height:550px) and (min-width:761px){.hero,.hero-copy{min-height:550px}}

.instagram-section{background:var(--soft)}
.instagram-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}
.instagram-heading h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:0}
.instagram-heading>.text-link{flex-shrink:0;margin-bottom:6px}
.instagram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}
.instagram-card{min-width:0;overflow:hidden}
.instagram-media{margin:0!important;min-width:0!important;width:100%!important;background:white;border:1px solid var(--line);padding:24px;min-height:180px}
.instagram-media a{font-size:.875rem;color:var(--wine);text-decoration:underline}
.instagram-card iframe{min-width:0!important;max-width:100%!important}
.instagram-follow{text-align:center;margin-top:35px}
@media(max-width:1150px){.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.instagram-heading{display:block}.instagram-heading>.text-link{display:inline-block;margin-top:18px}.instagram-grid{grid-template-columns:1fr;max-width:540px;margin:auto}}

/* Eight equally sized Instagram photos, without embed controls */
.instagram-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:none}
.instagram-tile{display:block;aspect-ratio:1;overflow:hidden;background:#e6e3e0}
.instagram-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.instagram-tile:hover img{transform:scale(1.035)}
@media(max-width:760px){.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:none}}

/* White navigation above the new project photograph */
header{position:relative;background:#fff;border-bottom:1px solid var(--line);min-height:104px}
header nav{color:var(--wine)}
header nav .button{color:var(--wine)}
header nav>a:hover,header nav .button:hover{color:var(--wine)}
.brand{background:none}
.hero,.hero-copy{min-height:calc(100svh - 104px)}
.hero-copy{padding-top:60px;padding-bottom:80px}
.hero-image img{object-position:center 67%}
footer{display:block}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.partner-logos{padding:25px 0 50px;text-align:center}.partner-logos[hidden]{display:none}.partner-logos h2{font:500 .875rem Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-bottom:30px}.partner-logo-grid{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:35px}.partner-logo-grid img{width:140px;max-height:75px;object-fit:contain}
#contact-form{width:680px;max-width:calc(100vw - 32px);padding:48px 40px 25px;color:var(--ink)}
#contact-form h2{font-family:Georgia,serif;font-size:2.1rem;margin:0 0 25px;letter-spacing:-.03em}
#contact-form .eyebrow{margin-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#enquiry-form label{display:block;font-size:.875rem;margin-bottom:16px}
#enquiry-form input,#enquiry-form textarea{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #bcb6b1;background:white;border-radius:0;font:inherit;font-size:1rem;color:var(--ink)}
#enquiry-form textarea{resize:vertical}#enquiry-form input:focus,#enquiry-form textarea:focus{outline:2px solid var(--wine);outline-offset:2px}
.form-note,#form-status{font-size:.875rem;color:var(--muted)}#form-status{margin:14px 0 0}
@media(max-width:760px){header{min-height:85px}.menu{color:var(--wine);border-color:var(--line);background:white}header nav.open{background:#fff}header nav .button{color:var(--wine)}.hero,.hero-copy{min-height:calc(100svh - 85px)}.hero-image img{object-position:center 65%}.hero-copy{padding-top:75px;padding-bottom:85px}.form-grid{grid-template-columns:1fr;gap:0}#contact-form{padding:48px 22px 25px}}
@media(max-height:550px){.hero,.hero-copy{min-height:460px}}

/* Partner marks are always monochrome, including hover states. */
.partners-footer{background:white;padding:60px 7%;border-top:1px solid var(--line)}
.partners-footer .partner-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 48px;max-width:1200px;margin:auto}
.partner-logo{height:90px;display:flex;align-items:center;justify-content:center;min-width:0}
.partners-footer .partner-logo img,.partners-footer .partner-logo svg{display:block;width:100%;max-width:215px;height:auto;max-height:80px;object-fit:contain;filter:grayscale(1) contrast(1.35)}
@media(max-width:760px){.partners-footer{padding:40px 6%}.partners-footer .partner-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 30px}.partner-logo{height:75px}.partners-footer .partner-logo img,.partners-footer .partner-logo svg{max-height:65px}}

body.admin-bar header{position:relative}.ii-content{max-width:1100px;margin:auto;padding:60px 6%;min-height:60vh}.ii-content img{max-width:100%;height:auto}

/* Keep the connected feed within the approved photo-only section. */
.ii-live-instagram{width:100%;min-width:0}
.ii-live-instagram #sb_instagram{width:100%;padding-bottom:0!important}
.ii-live-instagram .sb_instagram_header,.ii-live-instagram #sbi_load{display:none!important}
.ii-live-instagram #sbi_images .sbi_photo{aspect-ratio:1;height:auto!important;background-size:cover!important;background-position:center!important}
.ii-live-instagram #sbi_images .sbi_photo img{width:100%;height:100%;object-fit:cover}

.ii-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}


.ii-thank-you{min-height:calc(100svh - 104px);display:grid;place-items:center;text-align:center;background:var(--soft);padding:80px 6%}
.ii-thank-you>div{max-width:800px}
.ii-thank-you h1{font-size:clamp(2.8rem,6vw,5.5rem);color:var(--wine)}
.ii-thank-you p:not(.eyebrow){color:var(--muted)}
.ii-thank-you .button{margin-top:20px}
.ii-thank-you .ii-thank-you-help{margin-top:35px;font-size:.875rem}
.ii-thank-you-help a{text-decoration:underline}
@media(max-width:760px){.ii-thank-you{min-height:calc(100svh - 85px);padding:65px 6%}}

#contact-form{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:90svh}#form-status:not(:empty){padding:12px 0;margin-bottom:12px}#form-status.ii-form-error{color:var(--wine);font-weight:600}#enquiry-form [aria-invalid=true]{border:2px solid var(--wine)}#enquiry-form button[type=submit]{touch-action:manipulation;min-height:48px}

