/*
Theme Name: Katarina's Sewing Atelier
Theme URI: https://example.com/katarinas-sewing-atelier
Author: Custom theme for Katarina's Sewing Atelier
Description: A bespoke, responsive WordPress theme with a deep-brown atelier aesthetic, fiery red/orange banners, elegant typography, service pages, contact form, starter content and WooCommerce support.
Version: 1.9.0
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: katarinas-sewing-atelier
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, e-commerce, portfolio
*/

:root {
  --ksa-bg:#140907;
  --ksa-surface:#21100c;
  --ksa-surface-2:#31170f;
  --ksa-cream:#f4e2ca;
  --ksa-muted:#caa88a;
  --ksa-line:#713921;
  --ksa-rust:#a73727;
  --ksa-orange:#e56832;
  --ksa-gold:#f0b34f;
  --ksa-max:1180px;
  --ksa-radius:4px;
  --ksa-serif:"Perpetua","Palatino Linotype",Palatino,Georgia,serif;
  --ksa-sans:"Gadugi","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ksa-bg);color:var(--ksa-cream);font-family:var(--ksa-sans);font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none} a:hover{color:var(--ksa-gold)} img{max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ksa-container{width:min(calc(100% - 40px),var(--ksa-max));margin-inline:auto}
.ksa-site-header{position:relative;z-index:50;background:rgba(20,9,7,.98);border-bottom:1px solid rgba(229,104,50,.22)}
.ksa-header-inner{min-height:124px;display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,2fr);grid-template-rows:58px 52px;gap:0 28px;align-items:center}
.ksa-brand{grid-column:1;grid-row:1/3;display:flex;align-items:center;gap:18px;min-width:0}
.ksa-logo-wrap{width:88px;height:88px;display:grid;place-items:center;flex:0 0 auto}.ksa-logo-wrap img{max-width:88px;max-height:88px;object-fit:contain;filter:brightness(0) invert(93%) sepia(14%) saturate(420%) hue-rotate(330deg) brightness(106%)}
.ksa-wordmark{font-family:var(--ksa-serif);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:600;letter-spacing:.02em;line-height:1.05;text-transform:uppercase;max-width:290px}
.ksa-consult{grid-column:2;grid-row:1;justify-self:end;align-self:end;margin-bottom:4px}
.ksa-btn,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border:1px solid var(--ksa-gold)!important;border-radius:2px;background:linear-gradient(180deg,#b7462f,#8f241e)!important;color:#fff5e8!important;font:700 .78rem/1 var(--ksa-sans)!important;letter-spacing:.08em;text-transform:uppercase;transition:.2s ease;cursor:pointer}
.ksa-btn:hover,.wp-element-button:hover,.woocommerce a.button:hover{transform:translateY(-1px);filter:brightness(1.12);color:#fff!important}
.ksa-nav{grid-column:2;grid-row:2;align-self:start}.ksa-nav ul{list-style:none;display:flex;justify-content:flex-end;align-items:center;gap:clamp(10px,1.35vw,22px);padding:0;margin:12px 0 0;white-space:nowrap}.ksa-nav a{font-size:.69rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#f7e9d6}.ksa-nav .current-menu-item>a,.ksa-nav .current_page_item>a{color:var(--ksa-gold)}
.ksa-menu-toggle{display:none;background:none;border:1px solid var(--ksa-line);color:var(--ksa-cream);padding:8px 12px;font-weight:700}
.ksa-hero{position:relative;min-height:310px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(46,8,5,.78),rgba(120,15,7,.18) 52%,rgba(60,4,3,.28)),url('assets/images/fire-texture.jpg');background-size:cover;background-position:center;border-bottom:1px solid rgba(240,179,79,.24);overflow:hidden}
.ksa-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 67% 50%,rgba(255,207,89,.18),transparent 31%);pointer-events:none}.ksa-hero-content{position:relative;z-index:1;max-width:720px;padding:54px 0}.ksa-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ksa-gold);margin-bottom:10px}.ksa-hero h1{font-family:var(--ksa-serif);font-weight:500;font-size:clamp(2.5rem,5vw,4.9rem);line-height:1.02;margin:0 0 18px;color:#fff0dc}.ksa-hero p{font-size:clamp(1rem,1.7vw,1.3rem);max-width:600px;color:#f6e7d3;margin:0}.ksa-ornament{display:flex;align-items:center;gap:10px;width:190px;margin-top:22px}.ksa-ornament:before,.ksa-ornament:after{content:"";height:1px;background:var(--ksa-gold);flex:1}.ksa-ornament span{width:7px;height:7px;background:var(--ksa-gold);transform:rotate(45deg)}
.ksa-main{background:radial-gradient(circle at 50% 0,rgba(135,44,20,.1),transparent 35%),linear-gradient(#1a0c09,#100806)}.ksa-section{padding:68px 0;border-bottom:1px solid rgba(113,57,33,.4)}.ksa-section--compact{padding:44px 0}.ksa-section-title{text-align:center;margin:0 auto 34px;max-width:760px}.ksa-section-title .ksa-eyebrow{margin-bottom:8px}.ksa-section-title h2{font-family:var(--ksa-serif);font-size:clamp(2rem,4vw,3.25rem);font-weight:500;margin:.1em 0 .25em;color:#f6e3ca}.ksa-section-title p{color:var(--ksa-muted);margin:0}.ksa-grid{display:grid;gap:22px}.ksa-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ksa-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ksa-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ksa-card{background:linear-gradient(155deg,rgba(58,26,18,.88),rgba(28,13,10,.96));border:1px solid var(--ksa-line);padding:28px;min-height:190px;position:relative;overflow:hidden}.ksa-card h3{font-family:var(--ksa-serif);font-weight:500;font-size:1.65rem;margin:0 0 10px;color:#f4dfc3}.ksa-card p{margin:0;color:var(--ksa-muted)}.ksa-card__icon{width:52px;height:52px;border:1px solid var(--ksa-orange);border-radius:50%;display:grid;place-items:center;color:var(--ksa-orange);font-family:var(--ksa-serif);font-size:1.2rem;margin:0 auto 16px}.ksa-card--center{text-align:center}.ksa-card--link:hover{border-color:var(--ksa-gold);transform:translateY(-2px)}
.ksa-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:55px;align-items:center}.ksa-copy h2,.entry-content h2{font:500 clamp(2rem,4vw,3.1rem)/1.1 var(--ksa-serif);color:#f6dfbf;margin:0 0 18px}.ksa-copy h3,.entry-content h3{font:500 1.6rem/1.2 var(--ksa-serif);color:#efb66e}.ksa-copy p,.entry-content p{color:#d9bfa4}.ksa-media{min-height:360px;border:1px solid var(--ksa-line);background:linear-gradient(135deg,rgba(151,55,29,.24),rgba(20,9,7,.3)),url('assets/images/fire-texture.jpg') center/cover;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.ksa-media img{width:100%;height:100%;object-fit:cover}.ksa-media__label{padding:9px 13px;background:rgba(20,9,7,.82);border:1px solid var(--ksa-line);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.ksa-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ksa-gallery-item{aspect-ratio:4/5;border:1px solid var(--ksa-line);background:linear-gradient(145deg,#5b382d,#2b1712);display:flex;align-items:flex-end;overflow:hidden;position:relative}.ksa-gallery-item:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(15,6,5,.8))}.ksa-gallery-item span{position:relative;z-index:1;padding:14px;font-family:var(--ksa-serif);font-size:1.2rem}
.ksa-testimonial{border:1px solid var(--ksa-line);padding:34px;text-align:center;background:rgba(37,17,12,.66)}.ksa-testimonial blockquote{font:italic 1.25rem/1.65 var(--ksa-serif);margin:0;color:#eed8bc}.ksa-testimonial cite{display:block;margin-top:12px;color:var(--ksa-gold);font-style:normal}
.ksa-steps{counter-reset:step;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.ksa-step{text-align:center}.ksa-step:before{counter-increment:step;content:counter(step);width:46px;height:46px;border:1px solid var(--ksa-orange);border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;color:var(--ksa-gold);font-family:var(--ksa-serif);font-size:1.25rem}.ksa-step h3{font:500 1.2rem var(--ksa-serif);margin:0;color:#f4dfc3}.ksa-step p{font-size:.84rem;color:var(--ksa-muted)}
.ksa-pricing{width:100%;border-collapse:collapse;border:1px solid var(--ksa-line);background:rgba(29,13,10,.62)}.ksa-pricing th,.ksa-pricing td{padding:13px 16px;border-bottom:1px solid rgba(113,57,33,.7);text-align:left}.ksa-pricing th{font-family:var(--ksa-serif);font-size:1.35rem;color:#efb66e}.ksa-pricing td:last-child{text-align:right;color:var(--ksa-gold);font-weight:700}
.ksa-package{display:grid;grid-template-columns:180px 1fr auto;gap:24px;align-items:center;border:1px solid var(--ksa-line);padding:18px;background:rgba(44,20,14,.72)}.ksa-package__image{aspect-ratio:1/1;background:linear-gradient(145deg,#5d3529,#25120e);border:1px solid rgba(113,57,33,.7)}.ksa-package h3{font:500 1.7rem var(--ksa-serif);margin:0 0 6px}.ksa-package__price{font:500 1.5rem var(--ksa-serif);color:var(--ksa-gold);white-space:nowrap}
.ksa-shop-placeholder{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ksa-product-card{border:1px solid var(--ksa-line);background:rgba(42,19,14,.72);overflow:hidden}.ksa-product-card__image{aspect-ratio:1;background:radial-gradient(circle at 60% 40%,#9b5a42,#3a1c14 62%,#1c0d0a)}.ksa-product-card__body{padding:16px}.ksa-product-card h3{font:500 1.25rem var(--ksa-serif);margin:0}.ksa-product-card p{color:var(--ksa-gold);margin:5px 0 0}
.ksa-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px}.ksa-contact-list{list-style:none;margin:0;padding:0}.ksa-contact-list li{padding:13px 0;border-bottom:1px solid rgba(113,57,33,.45)}.ksa-contact-list strong{display:block;font-size:.7rem;color:var(--ksa-orange);letter-spacing:.12em;text-transform:uppercase}.ksa-form{border:1px solid var(--ksa-line);padding:25px;background:rgba(36,16,12,.75)}.ksa-field{margin-bottom:14px}.ksa-field label{display:block;font-size:.75rem;color:var(--ksa-gold);margin-bottom:5px}.ksa-field input,.ksa-field textarea{width:100%;padding:13px 14px;border:1px solid var(--ksa-line);background:#170b08;color:#f5e4cd;border-radius:0;font:inherit}.ksa-field textarea{min-height:150px;resize:vertical}.ksa-notice{padding:13px 16px;border:1px solid var(--ksa-line);margin-bottom:18px}.ksa-notice--success{border-color:#8da664}.ksa-notice--error{border-color:#b75c4f}
.ksa-faq details{border:1px solid var(--ksa-line);background:rgba(35,16,12,.7);margin-bottom:10px}.ksa-faq summary{cursor:pointer;padding:16px 18px;font-family:var(--ksa-serif);font-size:1.2rem;list-style:none}.ksa-faq summary::-webkit-details-marker{display:none}.ksa-faq details p{padding:0 18px 18px;margin:0;color:var(--ksa-muted)}
.ksa-legal{max-width:900px}.ksa-legal h2{border-top:1px solid var(--ksa-line);padding-top:26px;margin-top:34px}
.ksa-site-footer{background:#0e0705;border-top:1px solid rgba(229,104,50,.22);padding:48px 0 18px}.ksa-footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:42px}.ksa-footer-title{font-size:.73rem;font-weight:800;letter-spacing:.13em;color:var(--ksa-orange);text-transform:uppercase;margin-bottom:12px}.ksa-footer-grid p,.ksa-footer-grid a{font-size:.86rem;color:#cbaa8d}.ksa-footer-grid ul{list-style:none;margin:0;padding:0}.ksa-footer-grid li{margin:4px 0}.ksa-social{display:flex;gap:10px;margin-top:18px}.ksa-social a{width:36px;height:36px;border:1px solid var(--ksa-orange);border-radius:50%;display:grid;place-items:center;color:var(--ksa-gold)}.ksa-copyright{text-align:center;border-top:1px solid rgba(113,57,33,.45);margin-top:34px;padding-top:16px;font-size:.76rem;color:#a87a5f}
.entry-content{padding:50px 0}.entry-content>*{max-width:850px}.entry-content>.alignwide{max-width:var(--ksa-max)}.entry-content>.alignfull{max-width:none;width:100%}.entry-content a{text-decoration:underline;color:var(--ksa-gold)}
.ksa-post-card{border:1px solid var(--ksa-line);padding:25px;background:rgba(40,18,13,.7)}.ksa-post-card h2{font-family:var(--ksa-serif);margin-top:0}.ksa-meta{color:var(--ksa-muted);font-size:.82rem}
/* WooCommerce */
.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{color:var(--ksa-muted)}.woocommerce ul.products li.product,.woocommerce div.product{color:var(--ksa-cream)}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce div.product .product_title{font-family:var(--ksa-serif);color:var(--ksa-cream)}.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ksa-gold)}.woocommerce ul.products li.product a img{border:1px solid var(--ksa-line)}.woocommerce-message,.woocommerce-info{border-top-color:var(--ksa-orange);background:#2a150f;color:var(--ksa-cream)}.woocommerce-message:before,.woocommerce-info:before{color:var(--ksa-orange)}
@media(max-width:1100px){.ksa-header-inner{grid-template-columns:1fr auto}.ksa-brand{grid-column:1}.ksa-consult{grid-column:2}.ksa-menu-toggle{display:block;grid-column:2;grid-row:2;justify-self:end}.ksa-nav{display:none;grid-column:1/3;grid-row:3;padding-bottom:16px}.ksa-nav.is-open{display:block}.ksa-header-inner{grid-template-rows:62px 52px auto}.ksa-nav ul{justify-content:flex-start;flex-wrap:wrap;white-space:normal}.ksa-grid-4,.ksa-gallery,.ksa-shop-placeholder{grid-template-columns:repeat(2,1fr)}.ksa-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ksa-container{width:min(calc(100% - 28px),var(--ksa-max))}.ksa-header-inner{grid-template-columns:1fr auto;min-height:110px}.ksa-brand{gap:10px}.ksa-logo-wrap{width:58px;height:58px}.ksa-logo-wrap img{max-width:58px;max-height:58px}.ksa-wordmark{font-size:1rem;max-width:180px}.ksa-consult{display:none}.ksa-menu-toggle{grid-row:1/3;align-self:center}.ksa-hero{min-height:270px}.ksa-hero-content{padding:40px 0}.ksa-section{padding:48px 0}.ksa-grid-2,.ksa-grid-3,.ksa-grid-4,.ksa-gallery,.ksa-shop-placeholder,.ksa-split,.ksa-contact{grid-template-columns:1fr}.ksa-steps{grid-template-columns:repeat(2,1fr)}.ksa-package{grid-template-columns:1fr}.ksa-footer-grid{grid-template-columns:1fr 1fr}.ksa-media{min-height:270px}}
@media(max-width:480px){.ksa-footer-grid{grid-template-columns:1fr}.ksa-steps{grid-template-columns:1fr}.ksa-hero h1{font-size:2.65rem}.ksa-btn{width:100%}}


/* ========================================================================
   Theme Designer variables (v1.1)
   These are overridden by Appearance > Customize > Atelier Theme Designer.
   ======================================================================== */
:root{
  --ksa-header-bg:#140907;
  --ksa-footer-bg:#0e0705;
  --ksa-nav-font:var(--ksa-sans);
  --ksa-button-font:var(--ksa-sans);
  --ksa-body-size:16px;
  --ksa-nav-size:11px;
  --ksa-wordmark-size:28px;
  --ksa-hero-title-size:64px;
  --ksa-button-bg:#a73727;
  --ksa-button-hover:#c64d2f;
  --ksa-button-text:#fff5e8;
  --ksa-button-border:#f0b34f;
  --ksa-button-radius:2px;
  --ksa-button-py:10px;
  --ksa-button-px:22px;
  --ksa-button-size:13px;
  --ksa-button-letter:1px;
  --ksa-button-transform:uppercase;
  --ksa-input-bg:#170b08;
  --ksa-input-text:#f5e4cd;
  --ksa-input-border:#713921;
  --ksa-input-focus:#f0b34f;
  --ksa-input-label:#f0b34f;
  --ksa-input-radius:0px;
  --ksa-input-padding:13px;
  --ksa-section-padding:68px;
  --ksa-card-radius:0px;
  --ksa-card-padding:28px;
  --ksa-header-min-height:124px;
  --ksa-logo-size:88px;
  --ksa-nav-gap:18px;
  --ksa-nav-parent-icon-size:16px;
  --ksa-nav-top-icon-ml:5px;
  --ksa-nav-top-icon-mr:5px;
  --ksa-nav-nested-icon-ml:5px;
  --ksa-nav-nested-icon-mr:5px;
  --ksa-nav-dropdown-width:330px;
  --ksa-nav-full-list-width:430px;
  --ksa-hero-min-height:310px;
  --ksa-hero-title-color:#f6e3ca;
  --ksa-hero-text-color:#f6e7d3;
}
body{font-size:var(--ksa-body-size)}
.ksa-site-header{background:var(--ksa-header-bg)}
.ksa-site-footer{background:var(--ksa-footer-bg)}
.ksa-header-inner{min-height:var(--ksa-header-min-height)}
.ksa-logo-wrap{width:var(--ksa-logo-size);height:var(--ksa-logo-size)}
.ksa-logo-wrap img{max-width:var(--ksa-logo-size);max-height:var(--ksa-logo-size)}
.ksa-wordmark{font-size:var(--ksa-wordmark-size)}
.ksa-nav ul{gap:var(--ksa-nav-gap)}
.ksa-nav a{font-family:var(--ksa-nav-font);font-size:var(--ksa-nav-size)}
.ksa-hero{min-height:var(--ksa-hero-min-height)}
.ksa-hero h1{font-size:clamp(2.6rem,5vw,var(--ksa-hero-title-size));color:var(--ksa-hero-title-color)}
.ksa-hero p{color:var(--ksa-hero-text-color)}
.ksa-btn,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--ksa-button-bg)!important;color:var(--ksa-button-text)!important;border-color:var(--ksa-button-border)!important;
  border-radius:var(--ksa-button-radius)!important;padding:var(--ksa-button-py) var(--ksa-button-px)!important;
  font-family:var(--ksa-button-font)!important;font-size:var(--ksa-button-size)!important;letter-spacing:var(--ksa-button-letter)!important;
  text-transform:var(--ksa-button-transform)!important;
}
.ksa-btn:hover,.wp-element-button:hover,.woocommerce a.button:hover{background:var(--ksa-button-hover)!important}
.ksa-field label{color:var(--ksa-input-label)}
.ksa-field input,.ksa-field textarea,input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],select,textarea{
  background:var(--ksa-input-bg);color:var(--ksa-input-text);border-color:var(--ksa-input-border);border-radius:var(--ksa-input-radius);padding:var(--ksa-input-padding)
}
.ksa-field input:focus,.ksa-field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--ksa-input-focus);outline:1px solid var(--ksa-input-focus);outline-offset:1px}
.ksa-section{padding-top:var(--ksa-section-padding);padding-bottom:var(--ksa-section-padding)}
.ksa-card{border-radius:var(--ksa-card-radius);padding:var(--ksa-card-padding)}
.entry-content .wp-block-buttons{margin:1.5rem 0}.entry-content .wp-block-button__link{text-decoration:none}
.entry-content .wp-block-columns{gap:22px}.entry-content .wp-block-group.is-style-atelier-card{max-width:none}

/* ========================================================================
   Configurable hierarchical navigation (v1.3)
   1) Click Accordion
   2) Hover Flyout
   3) Hover Full List
   ======================================================================== */
.ksa-nav{position:relative;overflow:visible}
.ksa-nav .ksa-primary-menu{list-style:none;display:flex;justify-content:flex-end;align-items:center;gap:var(--ksa-nav-gap);padding:0;margin:12px 0 0;white-space:nowrap}
.ksa-nav .ksa-primary-menu ul{list-style:none;margin:0;padding:0;white-space:normal}
.ksa-nav .ksa-primary-menu li{margin:0;padding:0}
.ksa-primary-menu>li{position:relative}
.ksa-menu-link-row{display:flex;align-items:center;min-width:0}
.ksa-nav .ksa-nav-link{display:flex;align-items:center;min-width:0;font-family:var(--ksa-nav-font);font-size:var(--ksa-nav-size);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ksa-cream);text-decoration:none}
.ksa-primary-menu>li>.ksa-menu-link-row>.ksa-nav-link{white-space:nowrap}
.ksa-nav .current-menu-item>.ksa-menu-link-row>.ksa-nav-link,
.ksa-nav .current-menu-ancestor>.ksa-menu-link-row>.ksa-nav-link,
.ksa-nav .current_page_item>.ksa-menu-link-row>.ksa-nav-link{color:var(--ksa-gold)}
.ksa-primary-menu>li>.ksa-menu-link-row{position:relative}
.ksa-primary-menu>.current-menu-item>.ksa-menu-link-row>.ksa-nav-link,
.ksa-primary-menu>.current-menu-ancestor>.ksa-menu-link-row>.ksa-nav-link{padding-bottom:0;border-bottom:0}
.ksa-primary-menu>.current-menu-item>.ksa-menu-link-row::after,
.ksa-primary-menu>.current-menu-ancestor>.ksa-menu-link-row::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--ksa-orange);pointer-events:none}
.ksa-submenu-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ksa-nav-parent-icon-color);padding-top:3px;padding-bottom:3px;line-height:1;cursor:pointer;flex:0 0 auto}
.ksa-menu-depth-0>.ksa-menu-link-row>.ksa-submenu-toggle{margin-left:var(--ksa-nav-top-icon-ml);margin-right:var(--ksa-nav-top-icon-mr)}
.ksa-menu-depth-1>.ksa-menu-link-row>.ksa-submenu-toggle,.ksa-menu-depth-2>.ksa-menu-link-row>.ksa-submenu-toggle,.ksa-menu-depth-3>.ksa-menu-link-row>.ksa-submenu-toggle{margin-left:var(--ksa-nav-nested-icon-ml);margin-right:var(--ksa-nav-nested-icon-mr)}
.ksa-parent-icon{font-size:var(--ksa-nav-parent-icon-size);line-height:1;display:block;transition:transform .18s ease;font-weight:normal;font-style:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-feature-settings:'liga';font-variation-settings:'FILL' var(--ksa-nav-icon-fill),'wght' var(--ksa-nav-icon-weight),'GRAD' 0,'opsz' 24}
.ksa-parent-icon-open{display:none}
.menu-item-has-children.is-submenu-open>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-closed{display:none}
.menu-item-has-children.is-submenu-open>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-open{display:block}
.material-symbols-outlined{font-family:'Material Symbols Outlined'}
.material-symbols-rounded{font-family:'Material Symbols Rounded'}
.material-symbols-sharp{font-family:'Material Symbols Sharp'}
.ksa-menu-depth-0>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon{color:var(--ksa-nav-parent-icon-color)}
.ksa-menu-item-has-children{} /* intentional compatibility hook */
.ksa-menu-link-row:hover>.ksa-nav-link,.ksa-nav-link:focus{color:var(--ksa-orange)}
@media(min-width:1101px){
  .ksa-nav-mode-flyout .menu-item-has-children:hover>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-closed,
  .ksa-nav-mode-flyout .menu-item-has-children:focus-within>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-closed,
  .ksa-nav-mode-full-list .menu-item-has-children:hover>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-closed,
  .ksa-nav-mode-full-list .menu-item-has-children:focus-within>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-closed{display:none}
  .ksa-nav-mode-flyout .menu-item-has-children:hover>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-open,
  .ksa-nav-mode-flyout .menu-item-has-children:focus-within>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-open,
  .ksa-nav-mode-full-list .menu-item-has-children:hover>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-open,
  .ksa-nav-mode-full-list .menu-item-has-children:focus-within>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon-open{display:block}
}

/* Shared submenu surface. */
.ksa-nav .sub-menu{background:rgba(20,9,7,.992);border:1px solid var(--ksa-line);box-shadow:0 18px 38px rgba(0,0,0,.48);z-index:160}
.ksa-nav .sub-menu>.menu-item>.ksa-menu-link-row{width:100%;border-bottom:1px solid rgba(113,57,33,.38)}
.ksa-nav .sub-menu>.menu-item:last-child>.ksa-menu-link-row{border-bottom:0}
.ksa-nav .sub-menu .ksa-nav-link{flex:1 1 auto;padding:11px 13px;text-transform:none;letter-spacing:.01em;font-weight:600;line-height:1.3;white-space:normal}
.ksa-nav .sub-menu .ksa-submenu-toggle{padding:10px 12px}
.ksa-nav .is-submenu-open>.ksa-menu-link-row>.ksa-submenu-toggle .ksa-parent-icon{transform:none}

/* ------------------------------------------------------------------------
   Mode 1 — Click Accordion
   First click on a parent opens it; the second click follows its page URL.
   ------------------------------------------------------------------------ */
@media(min-width:1101px){
  /* Click Accordion is one vertical hierarchy list. Nested levels do not
     become separate cards/flyouts; their typography + indentation convey depth. */
  .ksa-nav-mode-accordion .sub-menu{display:none}
  .ksa-nav-mode-accordion .ksa-primary-menu>li>.sub-menu{position:absolute;top:100%;left:0;width:var(--ksa-nav-dropdown-width);padding:10px 0}
  .ksa-nav-mode-accordion .sub-menu .sub-menu{position:static!important;width:100%!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}
  .ksa-nav-mode-accordion .menu-item-has-children.is-submenu-open>.sub-menu{display:block}
  .ksa-nav-mode-accordion .sub-menu>.menu-item>.ksa-menu-link-row{border-bottom:0}
  .ksa-nav-mode-accordion .ksa-menu-depth-1>.ksa-menu-link-row{padding-left:0}
  .ksa-nav-mode-accordion .ksa-menu-depth-2>.ksa-menu-link-row{padding-left:var(--ksa-menu-l2-indent)}
  .ksa-nav-mode-accordion .ksa-menu-depth-3>.ksa-menu-link-row{padding-left:var(--ksa-menu-l3-indent)}
  .ksa-nav-mode-accordion .ksa-menu-depth-1>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-menu-l1-font);font-size:var(--ksa-menu-l1-size);font-weight:var(--ksa-menu-l1-weight);color:var(--ksa-menu-l1-color)}
  .ksa-nav-mode-accordion .ksa-menu-depth-2>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-menu-l2-font);font-size:var(--ksa-menu-l2-size);font-weight:var(--ksa-menu-l2-weight);color:var(--ksa-menu-l2-color)}
  .ksa-nav-mode-accordion .ksa-menu-depth-3>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-menu-l3-font);font-size:var(--ksa-menu-l3-size);font-weight:var(--ksa-menu-l3-weight);color:var(--ksa-menu-l3-color)}
}

/* ------------------------------------------------------------------------
   Mode 2 — Hover Flyout
   Parent links always navigate. Nested flyouts align their top edge with the
   parent row being hovered/focused.
   ------------------------------------------------------------------------ */
@media(min-width:1101px){
  .ksa-nav-mode-flyout .sub-menu{display:none;position:absolute;width:var(--ksa-nav-dropdown-width);transform:translate(var(--ksa-submenu-shift-x,0px),var(--ksa-submenu-shift-y,0px))}
  .ksa-nav-mode-flyout .ksa-primary-menu>li>.sub-menu{top:100%;left:0}
  .ksa-nav-mode-flyout .sub-menu li{position:relative}
  .ksa-nav-mode-flyout .sub-menu .sub-menu{top:0;margin-left:0}
  .ksa-nav-mode-flyout .ksa-flyout-branch-right .sub-menu .sub-menu{left:100%;right:auto}
  .ksa-nav-mode-flyout .ksa-flyout-branch-left .sub-menu .sub-menu{left:auto;right:100%}
  .ksa-nav-mode-flyout li.menu-item-has-children:hover>.sub-menu,
  .ksa-nav-mode-flyout li.menu-item-has-children:focus-within>.sub-menu,
  .ksa-nav-mode-flyout li.menu-item-has-children.is-submenu-open>.sub-menu{display:block}
  .ksa-nav-mode-flyout .ksa-menu-depth-0.ksa-flyout-align-right>.sub-menu{left:auto;right:0}
  .ksa-nav-mode-flyout .ksa-menu-depth-1>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-serif);font-size:1rem;color:var(--ksa-gold)}
  .ksa-nav-mode-flyout .ksa-menu-depth-2>.ksa-menu-link-row>.ksa-nav-link{font-size:.82rem;color:var(--ksa-cream)}
  .ksa-nav-mode-flyout .ksa-menu-depth-3>.ksa-menu-link-row>.ksa-nav-link{font-size:.76rem;font-weight:400;color:var(--ksa-muted)}
  /* The icon is an indicator on desktop; hovering controls the menu. */
  .ksa-nav-mode-flyout .ksa-submenu-toggle{pointer-events:none}
}

/* ------------------------------------------------------------------------
   Mode 3 — Hover Full List
   Hovering/focusing a top-level parent shows the whole descendant hierarchy
   in one vertical list. Hierarchy is conveyed by configurable typography.
   ------------------------------------------------------------------------ */
@media(min-width:1101px){
  .ksa-nav-mode-full-list .ksa-primary-menu>li>.sub-menu{display:none;position:absolute;top:100%;left:0;width:var(--ksa-nav-full-list-width);padding:12px 0;transform:translate(var(--ksa-submenu-shift-x,0px),var(--ksa-submenu-shift-y,0px))}
  .ksa-nav-mode-full-list .ksa-primary-menu>li.menu-item-has-children:hover>.sub-menu,
  .ksa-nav-mode-full-list .ksa-primary-menu>li.menu-item-has-children:focus-within>.sub-menu,
  .ksa-nav-mode-full-list .ksa-primary-menu>li.menu-item-has-children.is-submenu-open>.sub-menu{display:block}
  .ksa-nav-mode-full-list .ksa-menu-depth-0.ksa-flyout-align-right>.sub-menu{left:auto;right:0}
  .ksa-nav-mode-full-list .sub-menu .sub-menu{display:block!important;position:static!important;width:auto!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
  .ksa-nav-mode-full-list .sub-menu>.menu-item>.ksa-menu-link-row{border-bottom:0}
  .ksa-nav-mode-full-list .ksa-menu-depth-1>.ksa-menu-link-row{padding-left:0}
  .ksa-nav-mode-full-list .ksa-menu-depth-2>.ksa-menu-link-row{padding-left:var(--ksa-menu-l2-indent)}
  .ksa-nav-mode-full-list .ksa-menu-depth-3>.ksa-menu-link-row{padding-left:var(--ksa-menu-l3-indent)}
  .ksa-nav-mode-full-list .ksa-menu-depth-1>.ksa-menu-link-row>.ksa-nav-link,
  .ksa-nav-mode-accordion .ksa-menu-depth-1>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-menu-l1-font);font-size:var(--ksa-menu-l1-size);font-weight:var(--ksa-menu-l1-weight);color:var(--ksa-menu-l1-color)}
  .ksa-nav-mode-full-list .ksa-menu-depth-2>.ksa-menu-link-row>.ksa-nav-link,
  .ksa-nav-mode-accordion .ksa-menu-depth-2>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-menu-l2-font);font-size:var(--ksa-menu-l2-size);font-weight:var(--ksa-menu-l2-weight);color:var(--ksa-menu-l2-color)}
  .ksa-nav-mode-full-list .ksa-menu-depth-3>.ksa-menu-link-row>.ksa-nav-link,
  .ksa-nav-mode-accordion .ksa-menu-depth-3>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-menu-l3-font);font-size:var(--ksa-menu-l3-size);font-weight:var(--ksa-menu-l3-weight);color:var(--ksa-menu-l3-color)}
  .ksa-nav-mode-full-list .ksa-submenu-toggle{pointer-events:none}
}

/* ------------------------------------------------------------------------
   Mobile / touch fallback for all modes.
   The parent text remains a landing-page link in flyout/full-list modes;
   their right-hand icon expands the children. Accordion keeps first/second
   click behaviour on the parent itself.
   ------------------------------------------------------------------------ */
@media(max-width:1100px){
  .ksa-nav .ksa-primary-menu{display:block;margin:8px 0 0;white-space:normal}
  .ksa-primary-menu>li{border-top:1px solid rgba(113,57,33,.5)}
  .ksa-primary-menu>li>.ksa-menu-link-row{min-height:46px}
  .ksa-primary-menu>li>.ksa-menu-link-row>.ksa-nav-link{flex:1;padding:12px 4px;border-bottom:0!important}
  .ksa-nav .sub-menu,
  .ksa-nav-mode-flyout .sub-menu,
  .ksa-nav-mode-full-list .sub-menu{display:none;position:static!important;width:100%!important;margin:0!important;box-shadow:none!important;transform:none!important}
  .ksa-nav .menu-item-has-children.is-submenu-open>.sub-menu{display:block!important}
  .ksa-nav .sub-menu .sub-menu{margin:0!important;width:100%!important;border-left:0!important}
  .ksa-nav .sub-menu .ksa-nav-link{padding:11px 10px}
  .ksa-nav-mode-accordion .ksa-menu-depth-2>.ksa-menu-link-row,.ksa-nav-mode-full-list .ksa-menu-depth-2>.ksa-menu-link-row{padding-left:var(--ksa-menu-l2-indent)}
  .ksa-nav-mode-accordion .ksa-menu-depth-3>.ksa-menu-link-row,.ksa-nav-mode-full-list .ksa-menu-depth-3>.ksa-menu-link-row{padding-left:var(--ksa-menu-l3-indent)}
  .ksa-nav .ksa-submenu-toggle{display:inline-flex!important;pointer-events:auto!important}
  .ksa-nav-mode-full-list .ksa-menu-depth-1>.ksa-menu-link-row>.ksa-nav-link,
  .ksa-nav-mode-accordion .ksa-menu-depth-1>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-menu-l1-font);font-size:var(--ksa-menu-l1-size);font-weight:var(--ksa-menu-l1-weight);color:var(--ksa-menu-l1-color)}
  .ksa-nav-mode-full-list .ksa-menu-depth-2>.ksa-menu-link-row>.ksa-nav-link,
  .ksa-nav-mode-accordion .ksa-menu-depth-2>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-menu-l2-font);font-size:var(--ksa-menu-l2-size);font-weight:var(--ksa-menu-l2-weight);color:var(--ksa-menu-l2-color)}
  .ksa-nav-mode-full-list .ksa-menu-depth-3>.ksa-menu-link-row>.ksa-nav-link,
  .ksa-nav-mode-accordion .ksa-menu-depth-3>.ksa-menu-link-row>.ksa-nav-link{font-family:var(--ksa-menu-l3-font);font-size:var(--ksa-menu-l3-size);font-weight:var(--ksa-menu-l3-weight);color:var(--ksa-menu-l3-color)}
}

/* Landing-page child cards. */
.ksa-child-page-grid{margin-top:32px}

/* --------------------------------------------------------------------------
   v1.9 Editable page/block layouts
   -------------------------------------------------------------------------- */
.ksa-editable-content{padding-top:0;padding-bottom:0;max-width:none}
.ksa-editable-content>*{max-width:none}
.ksa-editable-content>.wp-block-group,
.ksa-editable-content>.wp-block-columns,
.ksa-editable-content>.wp-block-shortcode,
.ksa-editable-content>.wp-block-table,
.ksa-editable-content>.wp-block-details,
.ksa-editable-content>.wp-block-list,
.ksa-editable-content>p,
.ksa-editable-content>h2,
.ksa-editable-content>h3{margin-top:0;margin-bottom:28px}
.ksa-block-section-title{max-width:780px!important;margin:0 auto 38px!important;text-align:center}
.ksa-block-section-title h2{margin:.1em 0 .25em}
.ksa-block-section-title p:last-child{color:var(--ksa-muted);margin-bottom:0}
.ksa-block-split{gap:55px;margin-bottom:58px!important;align-items:center}
.ksa-block-card-grid{gap:22px;margin-bottom:22px!important;align-items:stretch}
.ksa-block-card-grid>.wp-block-column{display:flex}
.ksa-block-card-grid .ksa-card{width:100%;height:100%}
.ksa-card .wp-block-buttons{margin-top:20px!important;margin-bottom:0!important}
.ksa-card .ksa-card__icon{margin:0 auto 16px!important;display:grid;place-items:center;color:var(--ksa-orange)}
.ksa-block-cta{margin:48px auto!important;max-width:900px!important;padding:38px!important}
.ksa-editable-placeholder{min-height:280px!important;border:1px dashed var(--ksa-line);background:linear-gradient(135deg,rgba(151,55,29,.18),rgba(20,9,7,.45)),url('assets/images/fire-texture.jpg') center/cover;display:flex;align-items:center;justify-content:center;padding:30px!important;color:var(--ksa-cream)}
.ksa-editable-placeholder p{margin:0!important;color:var(--ksa-cream)!important}
.ksa-editable-placeholder small{color:var(--ksa-muted)}
.ksa-block-gallery-grid{gap:22px;margin-bottom:22px!important}
.ksa-block-gallery-grid .ksa-editable-placeholder{min-height:235px!important}
.ksa-editable-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;list-style:none;padding:0!important;margin:0 0 34px!important;counter-reset:step}
.ksa-editable-process li{counter-increment:step;background:var(--ksa-surface);border:1px solid var(--ksa-line);padding:22px 14px;text-align:center;color:var(--ksa-cream)}
.ksa-editable-process li:before{content:counter(step);display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--ksa-orange);border-radius:50%;margin:0 auto 12px;color:var(--ksa-gold)}
.entry-content .wp-block-table{overflow-x:auto}
.entry-content .wp-block-table table{width:100%;border-collapse:collapse;background:rgba(49,23,15,.6);color:var(--ksa-cream)}
.entry-content .wp-block-table td,.entry-content .wp-block-table th{padding:13px 14px;border:1px solid var(--ksa-line)}
.entry-content .wp-block-table th{font-family:var(--ksa-serif);color:var(--ksa-gold)}
.entry-content .wp-block-details{border:1px solid var(--ksa-line);background:var(--ksa-surface);padding:0;margin-bottom:12px!important}
.entry-content .wp-block-details summary{padding:17px 20px;cursor:pointer;font-family:var(--ksa-serif);font-size:1.15rem;color:var(--ksa-cream)}
.entry-content .wp-block-details>p{padding:0 20px 18px;margin:0;color:var(--ksa-muted)}
.entry-content .wp-block-shortcode{max-width:none}
.ksa-editable-content .ksa-contact{gap:42px}
.ksa-editable-content .ksa-form{max-width:none}

/* Make the WordPress editor resemble the front-end enough to edit visually. */
.editor-styles-wrapper{background:var(--ksa-bg)!important;color:var(--ksa-cream)!important;font-family:var(--ksa-sans)!important;padding:24px!important}
.editor-styles-wrapper .wp-block{max-width:var(--ksa-max)}
.editor-styles-wrapper .ksa-block-section-title,
.editor-styles-wrapper .ksa-block-cta{max-width:900px!important}
.editor-styles-wrapper .ksa-editable-placeholder{min-height:180px!important}
.editor-styles-wrapper a{color:var(--ksa-gold)}

@media(max-width:900px){
  .ksa-editable-process{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .ksa-block-split,.ksa-block-card-grid,.ksa-block-gallery-grid{gap:18px}
  .ksa-editable-process{grid-template-columns:1fr}
}
