/*
Theme Name: SANNING Outdoor
Theme URI: https://sanningoutdoor.com/
Author: SANNING
Description: A lightweight, Elementor-ready presentation theme for SANNING Outdoor — curated outdoor living collections for hospitality, resort, premium residential and commercial projects.
Version: 1.2.0
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: sanning-outdoor
License: GPL-2.0-or-later
*/

:root{
  --sanning-ink:#17201d;
  --sanning-green:#25352e;
  --sanning-green-2:#31443b;
  --sanning-cream:#f5f2eb;
  --sanning-paper:#fbfaf7;
  --sanning-line:#d9d5cb;
  --sanning-gold:#b58a4a;
  --sanning-max:1240px;
  --sanning-radius:0px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--sanning-ink);background:var(--sanning-paper);font-family:Arial,Helvetica,sans-serif;line-height:1.65;font-size:16px}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{opacity:.82}
button,input,textarea,select{font:inherit}
.sanning-wrap{width:min(calc(100% - 64px),var(--sanning-max));margin-inline:auto}
.sanning-site-header{position:relative;z-index:20;background:rgba(251,250,247,.96);border-bottom:1px solid rgba(23,32,29,.08)}
.sanning-header-inner{min-height:78px;display:flex;align-items:center;gap:32px}
.sanning-brand img{display:block;max-height:54px;width:auto}
.sanning-brand-text{font-weight:700;letter-spacing:.16em;font-size:20px}
.sanning-nav{margin-left:auto;display:flex;align-items:center;gap:25px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.sanning-nav a{white-space:nowrap}
/* Primary navigation dropdown */
.sanning-nav .menu-item-has-children{
    position:relative;
}

.sanning-nav .sub-menu{
    position:absolute;
    top:100%;
    left:0;
    z-index:9999;
    min-width:220px;
    margin:0;
    padding:12px 0;
    list-style:none;
    background:#fbfaf7;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.sanning-nav .menu-item-has-children:hover > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.sanning-nav .sub-menu li{
    display:block;
    margin:0;
}

.sanning-nav .sub-menu a{
    display:block;
    padding:10px 18px;
    white-space:nowrap;
}

.sanning-nav .sub-menu a:hover{
    background:rgba(37,53,46,.06);
}
.sanning-menu-toggle{display:none;border:1px solid var(--sanning-line);background:none;padding:8px 11px}
.sanning-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;background:var(--sanning-green);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;border:1px solid var(--sanning-green)}
.sanning-button--light{background:transparent;color:var(--sanning-ink)}
.sanning-hero{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;background:var(--sanning-green)}
.sanning-hero__media{position:absolute;inset:0;background-size:cover;background-position:center}
.sanning-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,245,237,.97) 0%,rgba(248,245,237,.82) 42%,rgba(248,245,237,.15) 76%,rgba(23,32,29,.05) 100%)}
.sanning-hero__content{position:relative;z-index:2;padding:90px 0;max-width:650px}
.sanning-eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700;color:#68736d}
.sanning-eyebrow:after{content:"";display:block;width:36px;height:2px;background:var(--sanning-gold);margin-top:12px}
.sanning-hero h1,.sanning-section h2,.sanning-cta h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.05;letter-spacing:-.025em}
.sanning-hero h1{font-size:clamp(46px,5.3vw,78px);margin:0 0 22px}
.sanning-hero h1 em,.sanning-section h2 em,.sanning-cta h2 em{font-style:italic}
.sanning-hero p{font-size:19px;max-width:570px}
.sanning-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.sanning-strip{background:var(--sanning-green);color:#fff}
.sanning-strip__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.sanning-strip__item{padding:25px 22px;border-right:1px solid rgba(255,255,255,.15)}
.sanning-strip__item:last-child{border-right:0}
.sanning-strip strong{display:block;font-size:13px;margin-bottom:5px}
.sanning-strip span{font-size:12px;color:rgba(255,255,255,.75)}
.sanning-section{padding:88px 0}
.sanning-section--cream{background:var(--sanning-cream)}
.sanning-section--dark{background:var(--sanning-green);color:#fff}
.sanning-section h2{font-size:clamp(38px,4vw,58px);margin:0 0 20px}
.sanning-section p.lead{max-width:720px;font-size:18px}
.sanning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sanning-card{background:#fff;border:1px solid var(--sanning-line);overflow:hidden}
.sanning-card__image{aspect-ratio:4/3;background:#e8e4dc center/cover no-repeat}
.sanning-card__body{padding:24px}
.sanning-card h3{font-family:Georgia,serif;font-weight:400;font-size:27px;margin:0 0 8px}
.sanning-card p{font-size:14px;color:#5c6560}
.sanning-card a{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.1em}
.sanning-two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.sanning-image-box{min-height:430px;background:#e8e4dc center/cover no-repeat}
.sanning-process{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.sanning-process article{padding:28px 20px;border-right:1px solid rgba(255,255,255,.2)}
.sanning-process article:last-child{border-right:0}
.sanning-process b{font-family:Georgia,serif;font-size:30px;font-weight:400}
.sanning-process h3{font-size:14px;margin:10px 0 5px}
.sanning-process p{font-size:12px;color:rgba(255,255,255,.72);margin:0}
.sanning-cta{padding:70px 0;background:var(--sanning-green);color:#fff}
.sanning-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.sanning-cta h2{font-size:clamp(36px,4vw,56px);margin:0}
.sanning-cta p{max-width:600px;color:rgba(255,255,255,.75)}
.sanning-site-footer{background:#17201d;color:#fff;padding:58px 0 22px}
.sanning-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.sanning-site-footer h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 16px}
.sanning-site-footer p,.sanning-site-footer li{font-size:13px;color:rgba(255,255,255,.65)}
.sanning-site-footer ul{list-style:none;padding:0;margin:0}
.sanning-site-footer li{margin:7px 0}
.sanning-footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.5)}
.sanning-page-title{padding:80px 0 55px;background:var(--sanning-cream)}
.sanning-page-title h1{font:400 clamp(44px,5vw,70px)/1.05 Georgia,serif;margin:0}
.sanning-page-title p{max-width:680px}
.sanning-disclaimer{background:#eee9df;padding:12px 0;font-size:12px}
.sanning-form{display:grid;gap:14px}
.sanning-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sanning-form label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.sanning-form input,.sanning-form textarea,.sanning-form select{width:100%;border:1px solid #d3cec3;background:#fff;padding:12px 13px;margin-top:6px}
.sanning-form textarea{min-height:150px;resize:vertical}
.sanning-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sanning-edit-note{background:#fff8df;border:1px solid #e5d8a8;padding:12px 16px;font-size:13px;margin:20px 0}
@media(max-width:980px){
 .sanning-nav{display:none}.sanning-menu-toggle{display:block;margin-left:auto}
 .sanning-strip__grid{grid-template-columns:1fr 1fr}.sanning-grid{grid-template-columns:1fr 1fr}
 .sanning-process{grid-template-columns:1fr 1fr}.sanning-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
 .sanning-wrap{width:min(calc(100% - 34px),var(--sanning-max))}
 .sanning-header-inner{min-height:68px}.sanning-brand img{max-height:46px}
 .sanning-hero{min-height:600px}.sanning-hero__content{padding:65px 0}.sanning-hero h1{font-size:45px}
 .sanning-strip__grid,.sanning-grid,.sanning-two-col,.sanning-footer-grid,.sanning-form__grid{grid-template-columns:1fr}
 .sanning-process{grid-template-columns:1fr}.sanning-process article{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
 .sanning-cta__inner,.sanning-footer-bottom{flex-direction:column;align-items:flex-start}
}

/* V1.1 Elementor / navigation compatibility fixes */
.sanning-nav ul,
.sanning-nav .menu,
.sanning-nav .sub-menu{list-style:none;margin:0;padding:0;}
.sanning-nav > ul,
.sanning-nav > .menu{display:flex;align-items:center;gap:25px;}
.sanning-nav li{margin:0;padding:0;list-style:none;}
.sanning-nav li::marker{content:"";}
.sanning-nav a{display:block;text-decoration:none;}
.sanning-brand{display:flex;align-items:center;line-height:0;max-width:220px;}
.sanning-brand .sanning-logo{display:block;width:auto;max-width:190px;max-height:58px;height:auto;object-fit:contain;}
.sanning-header-inner{min-height:86px;}
@media (max-width:900px){
  .sanning-nav > ul,.sanning-nav > .menu{display:block;}
  .sanning-nav ul li{margin:.45rem 0;}
}

/* V1.2 demo content / Elementor-friendly page styling */
.sanning-home-hero,.sanning-page-hero{position:relative;background-position:center;background-size:cover;background-color:#25352e;overflow:hidden}
.sanning-home-hero{min-height:760px;display:flex;align-items:center;color:#fff}
.sanning-home-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,32,29,.92),rgba(23,32,29,.62) 48%,rgba(23,32,29,.16))}
.sanning-home-hero__inner{position:relative;z-index:1;padding:110px 0;max-width:900px}
.sanning-home-hero h1,.sanning-page-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.03;letter-spacing:-.03em;font-size:clamp(48px,6vw,86px);margin:0 0 25px}
.sanning-home-hero h1 em,.sanning-page-hero h1 em{font-style:italic}
.sanning-hero-copy{max-width:680px;font-size:20px;color:rgba(255,255,255,.86)}
.sanning-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.sanning-button--ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55);color:#fff}
.sanning-page-hero{min-height:520px;display:flex;align-items:flex-end;padding:80px 0;background-color:var(--sanning-cream)}
.sanning-page-hero:not([style]){background-image:linear-gradient(180deg,#f8f5ed,#f1eee6)}
.sanning-page-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,32,29,.72),rgba(23,32,29,.12))}
.sanning-page-hero .sanning-wrap{position:relative;z-index:1}
.sanning-page-hero[style] .sanning-eyebrow,.sanning-page-hero[style] h1,.sanning-page-hero[style] p{color:#fff}
.sanning-page-hero> .sanning-wrap > p:last-child{max-width:720px;font-size:19px}
.sanning-section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}
.sanning-lead{font-size:18px;max-width:620px;color:#59625d}
.sanning-section--dark .sanning-lead,.sanning-section--dark p{color:rgba(255,255,255,.76)}
.sanning-eyebrow--light{color:rgba(255,255,255,.72)}
.sanning-eyebrow--light:after{background:var(--sanning-gold)}
.sanning-feature-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:22px}
.sanning-feature-card{background:#fff;border:1px solid var(--sanning-line);display:flex;flex-direction:column}
.sanning-feature-card--large{display:grid;grid-template-columns:1.35fr .8fr}
.sanning-feature-image{aspect-ratio:16/10;overflow:hidden}
.sanning-feature-card--large .sanning-feature-image{aspect-ratio:auto;min-height:470px}
.sanning-feature-image img,.sanning-collection-image img,.sanning-product-image img,.sanning-image-box img,.sanning-image-wide img,.sanning-application-image img,.sanning-insight-image img{width:100%;height:100%;object-fit:cover;display:block}
.sanning-feature-card>div:last-child{padding:28px}
.sanning-feature-card span,.sanning-product-grid span,.sanning-insight-grid span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#748078}
.sanning-feature-card h3{font:400 32px/1.08 Georgia,serif;margin:10px 0}
.sanning-feature-card p{font-size:14px;color:#626b66}
.sanning-feature-card a,.sanning-collection-meta a,.sanning-application-grid a,.sanning-insight-grid a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.sanning-collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sanning-collection-grid article{background:#fff;border:1px solid var(--sanning-line)}
.sanning-collection-image{aspect-ratio:4/4.5;overflow:hidden}
.sanning-collection-meta{padding:22px 24px 28px}
.sanning-collection-meta span,.sanning-number,.sanning-application-grid>article>span{font:400 24px Georgia,serif;color:var(--sanning-gold)}
.sanning-collection-meta h3{font:400 36px Georgia,serif;margin:3px 0}
.sanning-collection-meta p{margin:0 0 18px;color:#68716b}
.sanning-process--six{grid-template-columns:repeat(3,1fr)}
.sanning-process--six article{min-height:180px}
.sanning-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.sanning-product-grid article{background:#fff;border:1px solid var(--sanning-line);padding-bottom:22px}
.sanning-product-image{aspect-ratio:4/3;overflow:hidden;margin-bottom:20px}
.sanning-product-grid article>span,.sanning-product-grid article>h3{margin-left:22px;margin-right:22px}
.sanning-product-grid h3{font:400 27px/1.15 Georgia,serif;margin-top:8px}
.sanning-collection-detail{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.sanning-collection-detail--reverse .sanning-image-box{order:2}
.sanning-image-box{min-height:520px;overflow:hidden;background:#e8e4dc}
.sanning-application-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 26px}
.sanning-application-image{aspect-ratio:16/10;overflow:hidden;margin-bottom:22px}
.sanning-application-grid h2{font:400 38px/1.08 Georgia,serif;margin:6px 0 10px}
.sanning-application-grid p{max-width:500px;color:#606964}
.sanning-application-grid a{display:inline-block;margin-top:10px}
.sanning-values{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--sanning-line);border-bottom:1px solid var(--sanning-line)}
.sanning-values article{padding:28px 22px;border-right:1px solid var(--sanning-line)}
.sanning-values article:last-child{border-right:0}
.sanning-values span{font:400 24px Georgia,serif;color:var(--sanning-gold)}
.sanning-values h3{font-size:18px;margin:18px 0 8px}.sanning-values p{font-size:13px;color:#626b66}
.sanning-image-wide{aspect-ratio:21/9;overflow:hidden}.sanning-image-caption{font-size:11px;color:#7b827e;margin-top:10px}
.sanning-insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.sanning-insight-grid article{border-top:1px solid var(--sanning-line);padding-top:18px}.sanning-insight-image{aspect-ratio:4/3;overflow:hidden;margin-bottom:20px}.sanning-insight-grid h2{font:400 27px/1.15 Georgia,serif;margin:10px 0}.sanning-insight-grid p{color:#626b66;font-size:14px}.sanning-insight-grid a{display:inline-block;margin-top:8px}
.sanning-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.sanning-contact-details{border-top:1px solid var(--sanning-line);margin-top:35px;padding-top:24px}.sanning-form-card{background:var(--sanning-cream);padding:34px}.sanning-demo-note{background:#eee9df;border-bottom:1px solid #ddd5c8;padding:11px 0;font-size:11px;color:#6a716c}.sanning-demo-note strong{color:#3d4943}
@media(max-width:980px){.sanning-section-head{display:block}.sanning-feature-grid,.sanning-feature-card--large,.sanning-collection-grid,.sanning-product-grid,.sanning-collection-detail,.sanning-application-grid,.sanning-values,.sanning-insight-grid,.sanning-contact-grid{grid-template-columns:1fr}.sanning-collection-detail--reverse .sanning-image-box{order:0}.sanning-process--six{grid-template-columns:1fr 1fr}.sanning-feature-card--large .sanning-feature-image{min-height:0}.sanning-values article{border-right:0;border-bottom:1px solid var(--sanning-line)}}
@media(max-width:680px){.sanning-home-hero{min-height:650px}.sanning-home-hero__inner{padding:80px 0}.sanning-home-hero h1,.sanning-page-hero h1{font-size:48px}.sanning-page-hero{min-height:470px}.sanning-process--six{grid-template-columns:1fr}.sanning-image-box{min-height:340px}.sanning-form-card{padding:22px}}
.sanning-footer-logo{margin-bottom:12px}.sanning-footer-logo img{max-width:190px;max-height:55px;filter:none}.sanning-site-footer .sanning-brand-text{color:#fff}

/* V1.3 Contact page repair / fallback */
.sanning-contact-hero{background:var(--sanning-cream);min-height:470px;align-items:center;padding:70px 0}
.sanning-contact-hero .sanning-wrap{width:min(calc(100% - 64px),var(--sanning-max))}
.sanning-contact-hero h1{font-size:clamp(48px,5.6vw,74px);margin-bottom:20px}
.sanning-contact-hero p:last-child{max-width:650px;font-size:18px;color:#59625d}
.sanning-contact-main{padding:90px 0}
.sanning-contact-main h2{font:400 clamp(40px,4.1vw,58px)/1.05 Georgia,"Times New Roman",serif;margin:0 0 22px}
.sanning-contact-details{display:grid;gap:14px}
.sanning-contact-details p{margin:0;color:#59625d;font-size:14px}
.sanning-contact-details strong{color:var(--sanning-ink);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.sanning-form-card{box-shadow:0 12px 35px rgba(23,32,29,.06)}
.sanning-form-success{background:#e9efe8;border:1px solid #c8d5c8;padding:16px 18px;margin-bottom:18px}
.sanning-form-success strong{font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.sanning-form-success p{margin:5px 0 0;font-size:13px;color:#56615a}
.sanning-form label{display:block}
@media(max-width:680px){.sanning-contact-hero{min-height:430px;padding:60px 0}.sanning-contact-hero .sanning-wrap{width:min(calc(100% - 34px),var(--sanning-max))}.sanning-contact-main{padding:65px 0}}
