/* ==========================================================================
   Sri Sutra — custom tote bag landing sections
   Scoped stylesheet for Elementor (Woodmart theme)
   Every rule is namespaced under .ss-root so nothing leaks into the theme.
   Load once per page (child-theme enqueue or one Elementor HTML widget).
   ========================================================================== */

.ss-root{box-sizing:border-box; overflow-x:hidden;}
.ss-root img{max-width:100%;}
.ss-root button{font-family:inherit;}
.ss-root svg{max-width:100%;}

:root{
    --cream:#F6F0E3;
    --cream-2:#EFE6D2;
    --espresso:#4A2E1C;
    --ink:#241811;
    --rust:#AE5A2A;
    --gold:#A17F2E;
    --line:#DBCBA9;
    --white:#FFFCF6;
    --max: 1240px;
  }
  .ss-root, .ss-root *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  .ss-root{background:var(--white); color:var(--ink); font-family:'Karla', sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  .ss-root h1, .ss-root h2, .ss-root h3, .ss-root .display{font-family:'Cormorant Garamond', serif; color:var(--espresso); font-weight:600; letter-spacing:.01em;}
  .ss-root a{color:inherit; text-decoration:none;}
  .ss-root .wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
  .ss-root .eyebrow{font-family:'Karla',sans-serif; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--rust); font-weight:700;}
  .ss-root .reveal{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
  .ss-root .reveal.in{opacity:1; transform:translateY(0);}

  /* ===== announcement bar ===== */
  .ss-root .announce{background:var(--espresso); color:var(--cream); overflow:hidden; height:38px; position:relative;}
  .ss-root .announce-track{display:flex; align-items:center; gap:60px; white-space:nowrap; position:absolute; animation:scrollAnnounce 22s linear infinite;}
  .ss-root .announce-track span{font-size:.76rem; letter-spacing:.06em; font-weight:600; display:flex; align-items:center; height:38px;}
  .ss-root .announce-track span::before{content:"✦"; margin-right:10px; color:var(--rust);}
  @keyframes scrollAnnounce{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ===== thread-ball scroll rail ===== */
  .ss-root .thread-rail{
    position:fixed; top:0; right:0; width:40px; height:100vh;
    z-index:40; pointer-events:none;
  }
  @media (max-width:900px){ .ss-root .thread-rail{display:none;} }
  .ss-root .thread-trail{
    position:absolute; top:0; left:50%; width:2px; height:0;
    background:var(--rust); opacity:.55; transform:translateX(-50%);
  }
  .ss-root .thread-ball{
    position:absolute; top:0; left:50%; width:34px; height:34px;
    transform:translate(-50%, 0) rotate(0deg);
    filter:drop-shadow(0 6px 8px rgba(74,46,28,.3));
  }
  .ss-root .thread-ball svg{width:100%; height:100%; display:block;}
  .ss-root .thread-bag{
    position:absolute; bottom:26px; left:50%; transform:translateX(-50%) scale(.5);
    width:42px; opacity:0; transition:opacity .3s ease, transform .3s ease;
  }
  .ss-root .thread-bag svg{width:100%; height:auto; display:block; filter:drop-shadow(0 6px 8px rgba(74,46,28,.25));}

  /* ===== nav ===== */
  .ss-root header{position:sticky; top:0; z-index:60; background:rgba(255,252,246,.95); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
  .ss-root nav{display:flex; align-items:center; justify-content:space-between; padding:12px 28px; max-width:var(--max); margin:0 auto; gap:20px;}
  .ss-root nav img{height:36px; width:auto; display:block;}
  .ss-root .nav-links{display:flex; gap:30px; font-size:.84rem; font-weight:700; letter-spacing:.02em;}
  .ss-root .nav-links a{color:var(--espresso); position:relative; padding:4px 0;}
  .ss-root .nav-links a::after{content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--rust); transition:width .2s ease;}
  .ss-root .nav-links a:hover::after{width:100%;}
  .ss-root .nav-cta{display:flex; align-items:center; gap:14px;}
  .ss-root .nav-phone{font-size:.8rem; font-weight:700; color:var(--espresso); display:flex; align-items:center; gap:6px;}
  .ss-root .btn{display:inline-block; padding:12px 26px; font-weight:700; font-size:.83rem; letter-spacing:.03em; border-radius:2px; transition:.15s ease; cursor:pointer; border:none; font-family:'Karla',sans-serif;}
  .ss-root .btn-primary{background:var(--rust); color:var(--white);}
  .ss-root .btn-primary:hover{background:#8f4520;}
  .ss-root .btn-outline{border:1.5px solid var(--espresso); color:var(--espresso); background:transparent;}
  .ss-root .btn-outline:hover{background:var(--espresso); color:var(--white);}
  .ss-root .btn-sm{padding:9px 18px; font-size:.76rem;}
  @media (max-width:900px){ .ss-root .nav-links{display:none;} .ss-root .nav-phone{display:none;} }

  /* ===== hero banner (ecocarry-style split banner) ===== */
  .ss-root .hero-banner{background:linear-gradient(135deg, var(--cream) 0%, var(--cream-2) 100%); padding:0;}
  .ss-root .hero-grid{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:520px; padding:0 28px;}
  @media (max-width:900px){.ss-root .hero-grid{grid-template-columns:1fr; min-height:auto; padding:50px 24px; text-align:center;}}
  .ss-root .hero-copy .eyebrow{margin-bottom:10px; display:block; font-size:2.6rem; letter-spacing:.01em; text-transform:none; font-family:'Cormorant Garamond',serif; font-weight:700; color:var(--espresso); line-height:1.05;}
  @media (max-width:900px){.ss-root .hero-copy .eyebrow{font-size:2rem;}}
  .ss-root .hero-copy h1{font-size:1.3rem; line-height:1.3; margin-bottom:18px; font-style:italic; font-weight:500; color:var(--rust); font-family:'Cormorant Garamond',serif;}
  @media (max-width:900px){.ss-root .hero-copy h1{font-size:1.1rem;}}
  .ss-root .hero-copy p{max-width:440px; color:#5a4632; font-size:1.02rem; margin-bottom:28px;}
  @media (max-width:900px){.ss-root .hero-copy p{margin-left:auto; margin-right:auto;}}
  .ss-root .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
  @media (max-width:900px){.ss-root .hero-ctas{justify-content:center;}}
  .ss-root .stage{perspective:1200px; display:flex; align-items:center; justify-content:center; min-height:480px; position:relative;}
  .ss-root .stage::before{
    content:""; position:absolute; width:340px; height:340px; border-radius:50%;
    background:radial-gradient(circle, rgba(74,46,28,.14) 0%, rgba(74,46,28,0) 70%);
    z-index:0;
  }
  @media (max-width:900px){.ss-root .stage{min-height:340px; margin-top:20px;}}
  .ss-root .stage-inner{width:100%; max-width:340px; transform-style:preserve-3d; transition:transform .15s ease-out; filter:drop-shadow(0 26px 30px rgba(74,46,28,.42)); position:relative; z-index:1; backface-visibility:hidden; -webkit-backface-visibility:hidden;}
  .ss-root .stage-inner svg{width:100%; height:auto; display:block;}
  .ss-root .stage-hint{text-align:center; font-size:.7rem; color:#8a7458; margin-top:6px; letter-spacing:.05em; text-transform:uppercase; position:relative; z-index:1;}

  /* ===== category icon strip ===== */
  .ss-root .cat-strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white);}
  .ss-root .cat-row{display:flex; justify-content:center; gap:0; flex-wrap:wrap;}
  .ss-root .cat-item{padding:22px 30px; text-align:center; cursor:pointer; border-right:1px solid var(--line); transition:.15s ease; flex:1; min-width:150px;}
  .ss-root .cat-item:last-child{border-right:none;}
  .ss-root .cat-item:hover{background:var(--cream);}
  .ss-root .cat-icon{width:38px; height:38px; margin:0 auto 8px; display:flex; align-items:center; justify-content:center; color:var(--rust);}
  .ss-root .cat-icon svg{width:100%; height:100%;}
  .ss-root .cat-item span{font-size:.78rem; font-weight:700; color:var(--espresso); letter-spacing:.02em;}

  /* ===== craft/quality section ===== */
  .ss-root .craft-bg{background:var(--cream-2);}
  .ss-root .craft-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:center;}
  @media (max-width:800px){.ss-root .craft-grid{grid-template-columns:1fr; text-align:center;}}
  .ss-root .craft-copy h2{font-size:2.2rem; margin-top:8px;}
  .ss-root .craft-copy p{color:#5a4632; margin-top:10px; font-size:.96rem;}
  .ss-root .craft-cards{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .ss-root .craft-card{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:24px 20px;}
  .ss-root .craft-icon{width:36px; height:36px; color:var(--rust); margin-bottom:12px;}
  .ss-root .craft-icon svg{width:100%; height:100%;}
  .ss-root .craft-card h4{font-size:1rem; color:var(--espresso); margin-bottom:4px; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.15rem;}
  .ss-root .craft-card p{font-size:.8rem; color:#7a664c;}

  /* ===== brand showcase ===== */
  .ss-root .brand-showcase{background:var(--white);}
  .ss-root .brand-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media (max-width:800px){.ss-root .brand-grid{grid-template-columns:repeat(2,1fr);}}
  .ss-root .brand-card{background:var(--cream); border:1px solid var(--line); border-radius:4px; padding:20px; text-align:center;}
  .ss-root .brand-card svg{width:100%; max-width:150px; margin:0 auto 10px; display:block;}
  .ss-root .brand-card span{font-size:.78rem; color:#7a664c; font-weight:600;}

  .ss-root section{padding:70px 0;}

  .ss-root .section-head{text-align:center; max-width:640px; margin:0 auto 42px;}
  .ss-root .section-head h2{font-size:2.2rem; margin-top:8px;}
  .ss-root .section-head p{color:#5a4632; margin-top:10px; font-size:.96rem;}

  /* ===== tabbed product showcase ===== */
  .ss-root .tabs-nav{display:flex; justify-content:center; gap:8px; margin-bottom:36px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:0;}
  .ss-root .tab-btn{padding:12px 22px; font-size:.86rem; font-weight:700; color:#8a7458; border-bottom:3px solid transparent; cursor:pointer; transition:.15s ease; background:none; border-top:none; border-left:none; border-right:none; font-family:'Karla',sans-serif;}
  .ss-root .tab-btn.active{color:var(--espresso); border-bottom-color:var(--rust);}
  .ss-root .tab-btn:hover{color:var(--rust);}

  .ss-root .catalog-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:22px;}
  .ss-root .card{background:var(--white); border:1px solid var(--line); border-radius:4px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease;}
  .ss-root .card:hover{transform:translateY(-6px); box-shadow:0 18px 30px rgba(74,46,28,.14);}
  .ss-root .swatch{aspect-ratio:4/3; position:relative; overflow:hidden; background:var(--cream-2); display:flex; align-items:center; justify-content:center;}
  .ss-root .swatch svg{width:62%; height:62%;}
  .ss-root .swatch .fab{position:absolute; top:10px; left:10px; background:var(--espresso); color:var(--cream); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; padding:4px 9px; border-radius:2px; font-weight:700; z-index:2;}
  .ss-root .card .info{padding:16px 18px 18px;}
  .ss-root .card .info h3{font-size:1.15rem; margin-bottom:2px;}
  .ss-root .stars{color:var(--gold); font-size:.78rem; letter-spacing:1px; margin:4px 0;}
  .ss-root .card .info .dims{font-size:.75rem; color:var(--rust); font-weight:700; letter-spacing:.03em;}
  .ss-root .card .info .price{margin-top:10px; display:flex; justify-content:space-between; align-items:baseline; border-top:1px dashed var(--line); padding-top:10px;}
  .ss-root .card .info .price .amt{font-family:'Cormorant Garamond',serif; font-size:1.35rem; color:var(--espresso); font-weight:600;}
  .ss-root .card .info .price .note{font-size:.66rem; color:#8a7458;}

  /* ===== collections tiles ===== */
  .ss-root .collections{background:var(--cream-2);}
  .ss-root .coll-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  @media (max-width:900px){.ss-root .coll-grid{grid-template-columns:repeat(2,1fr);}}
  .ss-root .coll-tile{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:30px 20px; text-align:center; transition:.2s ease; cursor:pointer;}
  .ss-root .coll-tile:hover{border-color:var(--rust); transform:translateY(-4px);}
  .ss-root .coll-icon{width:44px; height:44px; margin:0 auto 14px; color:var(--rust);}
  .ss-root .coll-icon svg{width:100%; height:100%;}
  .ss-root .coll-tile h3{font-size:1.1rem; margin-bottom:6px;}
  .ss-root .coll-tile p{font-size:.78rem; color:#7a664c;}

  /* ===== interactive customizer ===== */
  .ss-root .customizer{background:var(--white);}
  .ss-root .pt-toggle{display:flex; justify-content:center; gap:10px; margin-bottom:36px;}
  .ss-root .pt-opt{border:1.5px solid var(--line); border-radius:24px; padding:10px 26px; font-size:.88rem; font-weight:700; color:var(--espresso); cursor:pointer; transition:.15s ease; background:var(--white);}
  .ss-root .pt-opt.active{background:var(--espresso); border-color:var(--espresso); color:var(--white);}
  .ss-root .pt-opt:hover{border-color:var(--rust);}
  .ss-root .cz-grid{display:grid; grid-template-columns:.95fr 1.15fr; gap:54px; align-items:start;}
  @media (max-width:900px){.ss-root .cz-grid{grid-template-columns:1fr;}}

  /* preview */
  .ss-root .cz-preview{
    position:sticky; top:90px;
    background:linear-gradient(160deg, var(--cream) 0%, var(--cream-2) 100%);
    border:1px solid var(--line); border-radius:10px;
    padding:34px 28px 28px; text-align:center;
  }
  @media (max-width:900px){.ss-root .cz-preview{position:static;}}
  .ss-root .cz-price-badge{
    display:inline-flex; align-items:baseline; gap:6px;
    background:var(--espresso); color:var(--white);
    padding:8px 18px; border-radius:30px;
    font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:600;
    margin-bottom:18px;
  }
  .ss-root .cz-price-badge span{font-size:.7rem; color:#E0B27E; font-family:'Karla',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.04em;}
  .ss-root .cz-stage{position:relative; display:flex; justify-content:center; padding:10px 0 4px;}
  .ss-root .cz-stage::before{
    content:""; position:absolute; width:220px; height:220px; border-radius:50%;
    background:radial-gradient(circle, rgba(174,90,42,.14) 0%, rgba(174,90,42,0) 72%);
    top:50%; left:50%; transform:translate(-50%,-50%); z-index:0;
  }
  .ss-root .cz-preview svg{width:100%; max-width:270px; height:auto; margin:0 auto; display:block; position:relative; z-index:1; filter:drop-shadow(0 20px 22px rgba(74,46,28,.28));}
  .ss-root .cz-dots{display:flex; justify-content:center; gap:7px; margin:20px 0 22px;}
  .ss-root .cz-dots span{width:7px; height:7px; border-radius:50%; background:var(--line); transition:.2s ease;}
  .ss-root .cz-dots span.done{background:var(--rust);}
  .ss-root .cz-cta{width:100%;}
  .ss-root .cz-contact-note{margin-top:26px; text-align:center; font-size:.85rem; color:#7a664c; max-width:640px; margin-left:auto; margin-right:auto; padding:16px 20px; border:1px dashed var(--line); border-radius:8px; background:var(--cream);}
  .ss-root .cz-contact-note a{color:var(--rust); font-weight:700; text-decoration:underline;}

  /* step accordion */
  .ss-root .cz-steps{border-top:1px solid var(--line);}
  .ss-root .cz-step{border-bottom:1px solid var(--line);}
  .ss-root .cz-step-head{
    width:100%; display:flex; align-items:center; gap:14px;
    background:none; border:none; padding:18px 4px; cursor:pointer;
    font-family:'Karla',sans-serif; text-align:left;
  }
  .ss-root .cz-step-num{
    width:26px; height:26px; border-radius:50%; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    background:var(--cream-2); color:var(--espresso);
    font-size:.75rem; font-weight:700; transition:.2s ease;
  }
  .ss-root .cz-step.open .cz-step-num{background:var(--rust); color:var(--white);}
  .ss-root .cz-step-title{font-size:1rem; font-weight:700; color:var(--espresso); flex-shrink:0;}
  .ss-root .cz-step-summary{margin-left:auto; font-size:.83rem; color:var(--rust); font-weight:600; padding-right:10px;}
  .ss-root .cz-chev{color:#8a7458; font-size:.9rem; transition:transform .25s ease; flex-shrink:0;}
  .ss-root .cz-step.open .cz-chev{transform:rotate(180deg); color:var(--rust);}
  .ss-root .cz-step-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .ss-root .cz-step.open .cz-step-body{max-height:260px;}
  .ss-root .cz-options{display:flex; flex-wrap:wrap; gap:10px; padding:2px 4px 20px;}
  .ss-root .cz-opt{border:1.5px solid var(--line); border-radius:20px; padding:8px 16px; font-size:.83rem; background:var(--white); cursor:pointer; transition:.15s ease; font-family:'Karla',sans-serif; font-weight:600; color:var(--espresso);}
  .ss-root .cz-opt b{font-weight:700; color:var(--rust); margin-left:4px;}
  .ss-root .cz-opt.active{background:var(--espresso); border-color:var(--espresso); color:var(--white);}
  .ss-root .cz-opt.active b{color:#E0B27E;}
  .ss-root .cz-opt:hover{border-color:var(--rust);}

  .ss-root .cz-hint{font-size:.78rem; color:#8a7458; margin-top:6px; padding:0 4px 14px; line-height:1.5;}

  .ss-root .cz-upload{padding:0 4px 20px;}
  .ss-root .cz-upload-label{display:block; font-size:.78rem; color:#7a664c; margin-bottom:8px; line-height:1.5;}
  .ss-root .cz-upload input[type="file"]{
    font-size:.82rem; font-family:'Karla',sans-serif; color:var(--espresso);
    background:var(--white); border:1.5px dashed var(--line); border-radius:8px;
    padding:10px; width:100%; cursor:pointer;
  }
  .ss-root .cz-upload-clear{
    margin-top:8px; background:none; border:none; color:var(--rust); font-size:.78rem;
    font-weight:700; cursor:pointer; text-decoration:underline; padding:0;
  }

  .ss-root .cz-whatsapp-block{margin-top:36px; text-align:center;}
  .ss-root .btn-whatsapp{
    display:inline-flex; align-items:center; gap:10px; background:#25D366; color:#fff;
    border:none; padding:15px 32px; border-radius:30px; font-size:.92rem; font-weight:700;
    letter-spacing:.02em; cursor:pointer; transition:.15s ease; font-family:'Karla',sans-serif;
  }
  .ss-root .btn-whatsapp:hover{background:#1ebc59;}

  /* ===== testimonials ===== */
  .ss-root .testimonials{background:var(--cream-2);}
  .ss-root .test-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:900px){.ss-root .test-grid{grid-template-columns:1fr;}}
  .ss-root .test-card{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:26px;}
  .ss-root .test-card .stars{margin-bottom:10px;}
  .ss-root .test-card p{font-size:.92rem; color:#4a3826; margin-bottom:14px; font-style:italic;}
  .ss-root .test-card .who{font-size:.8rem; font-weight:700; color:var(--espresso);}

  /* ===== features ===== */
  .ss-root .features{padding:50px 0;}
  .ss-root .feat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
  @media (max-width:700px){.ss-root .feat-grid{grid-template-columns:repeat(2,1fr);}}
  .ss-root .feat-icon{width:40px; height:40px; margin:0 auto 12px; color:var(--rust);}
  .ss-root .feat-icon svg{width:100%; height:100%;}
  .ss-root .feat-item h4{font-size:.92rem; color:var(--espresso); margin-bottom:4px;}
  .ss-root .feat-item p{font-size:.76rem; color:#8a7458;}

  /* ===== pricing ===== */
  .ss-root .price-cols{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
  @media (max-width:720px){.ss-root .price-cols{grid-template-columns:1fr;}}
  .ss-root .price-box{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:30px;}
  .ss-root .price-box.hi{border-color:var(--rust); border-width:2px;}
  .ss-root .price-box .amt{font-family:'Cormorant Garamond',serif; font-size:2.4rem; color:var(--espresso); font-weight:600; margin:8px 0;}
  .ss-root .price-box ul{margin-top:14px; padding-left:18px; font-size:.9rem; color:#5a4632;}
  .ss-root .price-box li{margin-bottom:6px;}
  .ss-root .moq-note{margin-top:26px; background:var(--espresso); color:var(--cream); padding:20px 26px; border-radius:4px; font-size:.9rem;}
  .ss-root .moq-note b{color:#E0B27E;}

  .ss-root .wholesale-block{margin-top:40px; background:var(--white); border:1px solid var(--line); border-radius:4px; padding:30px;}
  .ss-root .wholesale-block h3{font-size:1.5rem; margin-bottom:8px;}
  .ss-root .wholesale-note{font-size:.85rem; color:#7a664c; margin-bottom:20px; max-width:560px;}
  .ss-root .wholesale-table{width:100%; border-collapse:collapse;}
  .ss-root .wholesale-table th{background:var(--cream-2); text-align:left; padding:12px 16px; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--espresso); font-weight:700;}
  .ss-root .wholesale-table td{padding:12px 16px; border-top:1px solid var(--line); font-size:.92rem; color:var(--ink);}
  .ss-root .save-pill{background:var(--cream-2); color:var(--rust); font-weight:700; padding:3px 10px; border-radius:12px; font-size:.82rem;}
  @media (max-width:600px){ .ss-root .wholesale-table th, .ss-root .wholesale-table td{padding:10px 8px; font-size:.82rem;} }

  /* ===== order form ===== */
  .ss-root .order-wrap{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:44px; max-width:680px; margin:0 auto;}
  .ss-root .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  @media (max-width:560px){.ss-root .form-row{grid-template-columns:1fr;}}
  .ss-root label{display:block; font-size:.78rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--espresso); margin-bottom:6px;}
  .ss-root input, .ss-root select, .ss-root textarea{width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:2px; font-family:'Karla',sans-serif; font-size:.92rem; background:var(--cream); color:var(--ink);}
  .ss-root input:focus, .ss-root select:focus, .ss-root textarea:focus{outline:2px solid var(--rust); outline-offset:1px;}
  .ss-root textarea{resize:vertical; min-height:80px;}
  .ss-root .full{margin-bottom:16px;}
  .ss-root .submit-btn{width:100%; background:var(--rust); color:var(--white); border:none; padding:15px; font-size:.95rem; font-weight:700; letter-spacing:.03em; border-radius:2px; cursor:pointer; margin-top:6px;}
  .ss-root .submit-btn:hover{background:#8f4520;}
  .ss-root .form-foot{text-align:center; font-size:.8rem; color:#7a664c; margin-top:16px;}

  /* ===== footer ===== */
  .ss-root footer{background:var(--espresso); color:var(--cream); padding-top:56px;}
  .ss-root .foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr 1fr; gap:32px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.12);}
  @media (max-width:900px){.ss-root .foot-grid{grid-template-columns:1fr 1fr 1fr;}}
  .ss-root footer img{height:34px; margin-bottom:14px; filter:brightness(0) invert(1); opacity:.92;}
  .ss-root footer .foot-desc{font-size:.82rem; opacity:.7; max-width:260px; line-height:1.6;}
  .ss-root footer h5{font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:#E0B27E; margin-bottom:16px;}
  .ss-root footer ul{list-style:none;}
  .ss-root footer ul li{margin-bottom:10px; font-size:.85rem; opacity:.85;}
  .ss-root footer ul li a:hover{opacity:.7;}
  .ss-root .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding:22px 0; font-size:.76rem; opacity:.6; flex-wrap:wrap; gap:10px;}
  @media (max-width:600px){.ss-root .foot-grid{grid-template-columns:1fr;}}

  /* ==========================================================================
     FULL-BLEED FIX
     Add ss-full next to ss-root: <div class="ss-root ss-full">
     The *:has(...) chain unclamps every ancestor directly above the section —
     Elementor container, widget wrapper, Woodmart .container, whatever it is —
     without needing to know their class names, and without touching any other
     part of the page.
     ========================================================================== */
  *:has(> .ss-root.ss-full),
  *:has(> * > .ss-root.ss-full),
  *:has(> * > * > .ss-root.ss-full),
  *:has(> * > * > * > .ss-root.ss-full),
  *:has(> * > * > * > * > .ss-root.ss-full),
  *:has(> * > * > * > * > * > .ss-root.ss-full){
    max-width:100% !important;
    width:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow:visible !important;
  }
  .ss-root.ss-full{
    width:100vw; max-width:100vw;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  }
  body:has(.ss-root.ss-full){overflow-x:hidden !important;}

