/*
Theme Name: Ohana Woodworking
Theme URI: https://ohanawoodworking.pro/
Author: Ohana Woodworking
Description: Custom cabinetry showcase theme adapted from the Ohana Woodworking website. Includes a 21-slot project gallery and Customizer controls for photos and contact links.
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ohana-woodworking
*/

:root{--clay:#f15a22;--ink:#1f1a16;--chalk:#f4f3ee;--quiet:#6b625b;--line:#eadfd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#fffaf7;color:var(--ink);font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Roboto Slab',serif;font-weight:400}.site-header{max-width:1440px;margin:auto;padding:18px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fff}.wordmark img{height:58px;max-width:185px;object-fit:contain;display:block}.header-socials{display:flex;align-items:center;gap:12px;margin-left:auto;margin-right:34px;flex-shrink:0}.header-socials a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--ink);transition:background .2s,color .2s,border-color .2s}.header-socials a:hover{background:var(--clay);color:#fff;border-color:var(--clay)}.header-socials svg{width:23px;height:23px;display:block}nav{display:flex;gap:42px;align-items:center;font-size:12px}.header-estimate{display:flex;gap:14px;border-bottom:1px solid var(--clay);padding:13px 0;color:var(--clay);font-weight:700}.hero{max-width:1440px;margin:auto;padding:62px 6% 55px}.hero-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;padding-bottom:48px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}h1{font-size:clamp(52px,6.4vw,98px);line-height:1.05;letter-spacing:-4px;margin-top:24px}h1 span{color:var(--clay)}.hero-intro{min-width:248px}.hero-intro>p{color:#5c534c;font-size:17px;line-height:1.65;margin-bottom:25px}.button{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:18px 23px;font-size:12px;font-weight:700;border:0;min-height:52px;cursor:pointer}.clay,.dark-button{background:var(--clay);color:white;box-shadow:5px 5px 0 #1f1a16}.phone-link{display:block;font-size:11px;margin-top:23px;color:#5c534c}.hero-photo{position:relative;height:410px}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.photo-note{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:24px 30px;background:linear-gradient(transparent,#181a187d);color:white;font-size:10px;letter-spacing:2px}.photo-note a{border:1px solid #ffffff70;padding:12px}.section-rail{padding:100px 6%}.estimate{background:var(--chalk);display:grid;grid-template-columns:1fr 1.1fr;gap:9%}.estimate h2{font-size:clamp(37px,4vw,58px);line-height:1.2;margin-top:27px}em{font-style:normal;color:var(--clay)}.estimate-copy>p:not(.eyebrow){max-width:335px;line-height:1.8;font-size:13px;margin-top:28px;color:var(--quiet)}.contact-note{border-top:1px solid var(--line);max-width:335px;margin-top:38px;padding-top:25px}.contact-note>span{font-size:9px;letter-spacing:1.7px;color:var(--clay)}.contact-note>a{display:block;font-size:20px;margin-top:14px}.small-note{font-size:11px!important}.estimate-panel{border-top:3px solid var(--ink);padding-top:26px}.estimate-panel h3{font-size:30px;line-height:1.3}.estimate-panel>p{font-size:12px;line-height:1.8;color:var(--quiet);max-width:370px;margin:16px 0 28px}form{display:flex;flex-direction:column;gap:21px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form label{display:block;font-size:11px;font-weight:700}form label span{color:var(--clay)}input,textarea,select{width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);padding:13px 14px;margin-top:9px;font-size:12px}textarea{resize:vertical;min-height:115px}.form-fineprint{font-size:10px;line-height:1.7;color:var(--quiet)}.gallery{padding-top:82px;padding-bottom:75px}.gallery-header{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.gallery-header h2{font-size:clamp(35px,4vw,54px);margin-top:23px}.gallery-header>p{font-size:12px;line-height:1.8;color:var(--quiet)}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:28px 32px;margin-top:45px;align-items:start}.gallery-grid figure:first-child{grid-row:span 2}.gallery-grid figure:nth-child(2){margin-top:36px}.gallery-grid img{width:100%;height:280px;object-fit:cover;display:block}.gallery-grid figure:first-child img{height:620px}.gallery-grid figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:18px;border-top:1px solid var(--line);margin-top:13px;font-size:10px;color:var(--quiet)}.gallery-grid figcaption b{font-weight:500;color:var(--ink);margin-left:15px;font-size:12px}.gallery-grid figcaption>span:last-child{font-size:8px;letter-spacing:1.4px}.gallery-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:40px;font-size:10px;color:var(--quiet)}.gallery-bottom a{color:var(--clay);font-size:12px}.site-footer{border-top:1px solid var(--line);background:#fff;padding:48px 6% 25px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-brand img{height:75px;max-width:220px;object-fit:contain}.site-footer p{font-size:11px;color:var(--quiet);margin-top:11px}.footer-links{display:flex;align-items:flex-end;flex-direction:column;gap:15px;font-size:12px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;color:var(--quiet);font-size:10px;border-top:1px solid var(--line);padding-top:22px}.gallery-empty{width:100%;height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f4f3ee;border:1px dashed #cfc2b7;color:#8a7b70;text-align:center;font-size:10px;letter-spacing:1.5px}.gallery-empty .plus{font-family:Arial,sans-serif;font-size:34px;font-weight:300;line-height:1;color:#f15a22}.gallery-empty small{font-size:9px;letter-spacing:1px}.gallery-grid figure.gallery-placeholder figcaption{min-height:45px}.gallery-grid figure.gallery-placeholder figcaption b{margin-left:15px}@media(max-width:800px){.wordmark img{height:56px;max-width:160px}.site-header{padding:20px 6%}.header-socials{gap:7px;margin-right:12px}.header-socials a{width:30px;height:30px}nav{gap:12px}nav>a:first-child{display:none}.hero{padding-top:40px}.hero-heading{align-items:start;flex-direction:column;gap:28px;padding-bottom:35px}h1{letter-spacing:-2px;font-size:clamp(47px,9vw,72px)}.hero-intro{width:100%}.hero-intro>p{font-size:13px;margin-bottom:18px}.hero-photo{height:320px}.section-rail{padding:60px 6%}.estimate{grid-template-columns:1fr;gap:45px}.gallery-header{align-items:start;flex-direction:column}.gallery-grid{gap:22px;margin-top:30px;grid-template-columns:1fr 1fr}.gallery-grid figure:first-child{grid-row:auto}.gallery-grid figure:nth-child(2){margin-top:0}.gallery-grid img,.gallery-grid figure:first-child img,.gallery-empty{height:240px}.gallery-grid figcaption{flex-direction:column;gap:8px}.gallery-bottom{flex-direction:column;line-height:1.6}}@media(max-width:480px){.header-estimate{font-size:10px;gap:5px}.header-socials{margin-right:8px;gap:5px}.header-socials a{width:27px;height:27px}.header-socials svg{width:14px;height:14px}.hero-photo{height:260px}.form-row,.gallery-grid,.site-footer{grid-template-columns:1fr}.gallery-grid img,.gallery-grid figure:first-child img,.gallery-empty{height:270px}.gallery-grid figcaption{flex-direction:row}.footer-links{align-items:start}.site-footer{gap:28px}}

/* WordPress gallery placeholders */
.gallery-empty{height:280px;background:#eee9e3;border:1px dashed #cbbdb1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#6b625b;font-size:9px;letter-spacing:1.4px;text-align:center}.gallery-empty .plus{font-size:38px;line-height:1;color:#f15a22;font-weight:400}.gallery-empty small{font-size:9px;color:#8c8178}.gallery-placeholder figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:18px;border-top:1px solid var(--line);margin-top:13px;font-size:10px;color:var(--quiet)}.gallery-placeholder figcaption b{font-weight:500;color:var(--ink);margin-left:15px;font-size:12px}.gallery-placeholder figcaption>span:last-child{font-size:8px;letter-spacing:1.4px}.custom-logo-link img{height:72px;max-width:220px;width:auto;object-fit:contain;display:block}.footer-brand .custom-logo-link img{height:75px}.site-header .custom-logo-link{display:block}.gallery-grid .gallery-placeholder{min-width:0}@media(max-width:800px){.gallery-empty{height:240px}.custom-logo-link img{height:56px;max-width:160px}}@media(max-width:480px){.gallery-empty{height:270px}.custom-logo-link img{height:56px;max-width:160px}}

/* Consistent vector arrows across desktop and mobile */
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-0.16em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.button .arrow-icon,.header-estimate .arrow-icon{width:1.05em;height:1.05em}.photo-note a .arrow-icon{width:22px;height:22px;vertical-align:middle}.site-header .wordmark img{height:58px;max-width:185px;width:auto;object-fit:contain;display:block}
@media(max-width:800px){.site-header .wordmark img{height:56px;max-width:160px}.header-socials a{width:30px;height:30px}.header-socials svg{width:18px;height:18px}}
@media(max-width:480px){.header-socials a{width:27px;height:27px}.header-socials svg{width:14px;height:14px}}


/* Final desktop header sizing adjustment (mobile styling intentionally unchanged) */
@media (min-width:801px){
  .site-header .wordmark img,
  .site-header .wordmark .custom-logo-link img{
    height:15px !important;
    max-width:55px !important;
    width:auto !important;
  }
  .header-socials{gap:12px;margin-right:34px}
  .header-socials a{width:48px;height:48px;min-width:48px;min-height:48px}
  .header-socials svg{width:28px;height:28px}
}


/* v1.0.1: authoritative desktop header fixes and compact inline arrows */
@media screen and (min-width: 801px) {
  .site-header .wordmark > img,
  .site-header .wordmark > .custom-logo-link,
  .site-header .wordmark > .custom-logo-link img,
  .site-header .wordmark .custom-logo-link img {
    height: 15px !important;
    max-height: 15px !important;
    width: auto !important;
    max-width: 55px !important;
    object-fit: contain !important;
  }
  .site-header .header-socials { gap: 12px !important; margin-left: auto !important; margin-right: 34px !important; }
  .site-header .header-socials a { width: 48px !important; height: 48px !important; min-width: 48px !important; min-height: 48px !important; padding: 0 !important; }
  .site-header .header-socials a svg { display: block !important; width: 28px !important; height: 28px !important; max-width: 28px !important; max-height: 28px !important; }
}

/* Keep vector arrows visually subordinate to the text and out of layout sizing. */
.arrow-icon { display: inline-block !important; width: 12px !important; height: 12px !important; min-width: 12px !important; min-height: 12px !important; max-width: 12px !important; max-height: 12px !important; vertical-align: -0.08em !important; flex: 0 0 12px !important; }
.button .arrow-icon, .header-estimate .arrow-icon, .gallery-bottom .arrow-icon, .footer-links .arrow-icon, .footer-bottom .arrow-icon, .contact-note .arrow-icon { width: 12px !important; height: 12px !important; }
.button { gap: 8px; }
.header-estimate { gap: 8px; }
.photo-note a .arrow-icon { width: 16px !important; height: 16px !important; min-width: 16px !important; min-height: 16px !important; max-width: 16px !important; max-height: 16px !important; flex-basis: 16px !important; }


/* Estimate form updates */
.ohana-website-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-notice { padding: 14px 16px; margin: 0 0 18px; border-radius: 4px; font-size: 14px; line-height: 1.5; }
.form-success { background: #edf5ed; color: #285b32; }
.form-error { background: #fbefed; color: #8a3025; }
