/*
Theme Name: SK Framework
Theme URI: https://example.com/sk-framework
Author: SK Web Design
Description: A fast, flexible WordPress presentation framework designed for the SK Core visual section builder. Includes global design controls, multiple header/footer treatments, WooCommerce support and a polished responsive design system.
Version: 1.5.27
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: sk-framework
License: GPL-2.0-or-later
*/

:root {
  --sk-primary: #1f3a5f;
  --sk-accent: #c8a96a;
  --sk-text: #17202a;
  --sk-muted: #68717d;
  --sk-bg: #ffffff;
  --sk-bg-soft: #f5f7f9;
  --sk-border: rgba(23,32,42,.12);
  --sk-container: 1240px;
  --sk-radius: 18px;
  --sk-radius-sm: 10px;
  --sk-shadow: 0 20px 60px rgba(16,24,40,.10);
  --sk-header-height: 86px;
  --sk-transition: 220ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--sk-bg);
  color: var(--sk-text);
  font-family: var(--sk-font-body, "Montserrat", sans-serif);
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--sk-primary); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--sk-accent); }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }

.sk-container { width: min(calc(100% - 40px), var(--sk-container)); margin-inline: auto; }
.sk-site-main { min-height: 45vh; }
.sk-content-wrap { padding: clamp(48px, 7vw, 100px) 0; }
.sk-reading-width { width: min(100%, 820px); margin-inline: auto; }

h1,h2,h3,h4,h5,h6 { margin: 0 0 .6em; color: var(--sk-text); line-height: 1.12; letter-spacing: -.025em; }
h1 { font-size: clamp(2.55rem, 6vw, 5.5rem); }
h2 { font-size: clamp(2rem, 4.2vw, 3.65rem); }
h3 { font-size: clamp(1.4rem, 2vw, 2rem); }
p { margin: 0 0 1.3em; }

.sk-button,
.wp-element-button,
button[type="submit"],
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 13px 24px;
  border: 0;
  border-radius: 999px;
  background: var(--sk-primary);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--sk-transition), box-shadow var(--sk-transition), background var(--sk-transition);
}
.sk-button:hover,.wp-element-button:hover,button[type="submit"]:hover,input[type="submit"]:hover { color:#fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(16,24,40,.18); }
.sk-button--accent { background: var(--sk-accent); color: #111; }
.sk-button--ghost { background: transparent; color: var(--sk-text); border: 1px solid var(--sk-border); }


/* Typography */
h1,h2,h3,h4,h5,h6,.sk-site-title,.sk-button,.sk-primary-nav a { font-family:var(--sk-font-heading,"Montserrat",sans-serif); }

/* Secondary header / top bar */
.sk-topbar { position:relative; z-index:1002; font-size:.82rem; font-weight:600; letter-spacing:.01em; }
.sk-topbar__inner { min-height:40px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.sk-topbar__right { display:flex; align-items:center; justify-content:flex-end; gap:22px; }
.sk-topbar a { display:inline-flex; align-items:center; gap:7px; text-decoration:none; color:inherit; }
.sk-topbar--dark { background:#0d141b; color:rgba(255,255,255,.82); }
.sk-topbar--primary { background:var(--sk-primary); color:#fff; }
.sk-topbar--light { background:var(--sk-bg-soft); color:var(--sk-text); border-bottom:1px solid var(--sk-border); }
.sk-topbar a:hover { opacity:.72; color:inherit; }
/* Stable top-bar contact icons: SVG avoids device/emoji glyph substitution. */
.sk-topbar__icon {
  width:14px;
  height:14px;
  flex:0 0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
}
.sk-topbar__icon svg {
  width:100%;
  height:100%;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* Header */
.sk-site-header { position: relative; z-index: 1000; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--sk-border); }
.sk-site-header.is-sticky { position: sticky; top: 0; backdrop-filter: blur(16px); }
.admin-bar .sk-site-header.is-sticky { top: 32px; }
.sk-header-inner { min-height: var(--sk-header-height); display:flex; align-items:center; justify-content:space-between; gap:32px; }
.sk-branding { flex: 0 0 auto; }
.sk-branding img { display:block; max-height:var(--sk-logo-height,58px); width:auto; }
.sk-site-title { font-size: 1.3rem; font-weight:800; text-decoration:none; color:var(--sk-text); }
.sk-primary-nav { display:flex; align-items:center; gap:6px; }
.sk-primary-nav ul { display:flex; align-items:center; gap:4px; margin:0; padding:0; list-style:none; }
.sk-primary-nav a { display:block; padding:12px 13px; color:var(--sk-text); text-decoration:none; font-weight:650; font-size:.95rem; border-radius:10px; }
.sk-primary-nav a:hover,.sk-primary-nav .current-menu-item > a { background:var(--sk-bg-soft); color:var(--sk-primary); }
.sk-header-cta { white-space:nowrap; }
.sk-menu-toggle { display:none; border:0; background:transparent; color:var(--sk-text); padding:10px; cursor:pointer; }
.sk-menu-toggle svg { display:block; }

body.sk-header-style-minimal .sk-site-header { border-bottom:0; }
body.sk-header-style-minimal .sk-header-inner { min-height:100px; }
body.sk-header-style-dark .sk-site-header { background:#101820; border-color:rgba(255,255,255,.1); }
body.sk-header-style-dark .sk-site-title, body.sk-header-style-dark .sk-primary-nav a, body.sk-header-style-dark .sk-menu-toggle { color:#fff; }
body.sk-header-style-dark .sk-primary-nav a:hover, body.sk-header-style-dark .sk-primary-nav .current-menu-item > a { background:rgba(255,255,255,.08); }
body.sk-header-style-borderless .sk-site-header { border-bottom:0; background:#fff; }
body.sk-header-style-floating .sk-site-header { border:0; background:transparent; padding:14px 0; }
body.sk-header-style-floating .sk-header-shell { width:min(calc(100% - 32px),calc(var(--sk-container) + 48px)); margin:0 auto; background:rgba(255,255,255,.96); border:1px solid var(--sk-border); border-radius:calc(var(--sk-radius) + 4px); box-shadow:0 14px 45px rgba(16,24,40,.09); backdrop-filter:blur(18px); }
body.sk-header-style-floating .sk-header-inner { width:min(calc(100% - 32px),var(--sk-container)); }


/* Generic page hero */
.sk-page-hero { padding: clamp(72px, 10vw, 140px) 0; background:linear-gradient(135deg,var(--sk-bg-soft),#fff); border-bottom:1px solid var(--sk-border); }
.sk-page-hero__inner { width:min(100%,900px); }
.sk-page-hero__eyebrow { display:inline-block; margin-bottom:14px; color:var(--sk-primary); font-weight:800; text-transform:uppercase; letter-spacing:.14em; font-size:.75rem; }
.sk-page-hero h1 { font-size:clamp(2.7rem,7vw,5.6rem); }
.sk-page-hero p { margin:0; color:var(--sk-muted); font-size:clamp(1.05rem,2vw,1.3rem); max-width:720px; }

/* Section design system - used by SK Core later */
.sk-section { position:relative; padding:clamp(64px,8vw,120px) 0; overflow:hidden; }
.sk-section--tight { padding:clamp(42px,6vw,78px) 0; }
.sk-section--soft { background:var(--sk-bg-soft); }
.sk-section--dark { background:#101820; color:#fff; }
.sk-section--dark h1,.sk-section--dark h2,.sk-section--dark h3,.sk-section--dark h4 { color:#fff; }
.sk-section--accent { background:var(--sk-primary); color:#fff; }
.sk-section--accent h1,.sk-section--accent h2,.sk-section--accent h3,.sk-section--accent h4 { color:#fff; }
.sk-eyebrow { display:inline-flex; align-items:center; gap:9px; margin-bottom:14px; color:var(--sk-primary); font-size:.78rem; font-weight:850; text-transform:uppercase; letter-spacing:.13em; }
.sk-section--dark .sk-eyebrow,.sk-section--accent .sk-eyebrow { color:var(--sk-accent); }
.sk-lead { font-size:clamp(1.08rem,1.8vw,1.3rem); color:var(--sk-muted); }
.sk-section--dark .sk-lead,.sk-section--accent .sk-lead { color:rgba(255,255,255,.75); }
.sk-grid { display:grid; gap:clamp(24px,4vw,48px); }
.sk-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sk-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sk-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sk-align-center { text-align:center; }
.sk-section-heading { max-width:800px; margin-bottom:clamp(30px,5vw,60px); }
.sk-section-heading.sk-align-center { margin-inline:auto; }
.sk-card { background:#fff; border:1px solid var(--sk-border); border-radius:var(--sk-radius); padding:clamp(24px,3vw,38px); box-shadow:0 1px 1px rgba(16,24,40,.02); }
.sk-card--raised { box-shadow:var(--sk-shadow); border-color:transparent; }
.sk-media { overflow:hidden; border-radius:var(--sk-radius); background:#e9edf0; }
.sk-media img { width:100%; height:100%; object-fit:cover; display:block; }
.sk-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,7vw,90px); align-items:center; }
.sk-split--reverse .sk-split__media { order:2; }
.sk-split--reverse .sk-split__content { order:1; }
.sk-feature-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:15px; background:color-mix(in srgb,var(--sk-primary) 10%,white); color:var(--sk-primary); margin-bottom:20px; }

/* Blog — SK Framework 1.5.22 */
.sk-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(22px,3vw,34px); align-items:stretch; }
.sk-post-card { display:flex; flex-direction:column; height:100%; min-width:0; border:1px solid var(--sk-border); border-radius:calc(var(--sk-radius) + 2px); overflow:hidden; background:#fff; box-shadow:0 10px 34px rgba(16,24,40,.055); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.sk-post-card:hover { transform:translateY(-5px); box-shadow:0 22px 52px rgba(16,24,40,.11); border-color:color-mix(in srgb,var(--sk-primary) 18%,var(--sk-border)); }
.sk-post-card__thumb { position:relative; display:flex; flex:0 0 auto; aspect-ratio:16/10; background:var(--sk-bg-soft); overflow:hidden; text-decoration:none; }
.sk-post-card__thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 500ms ease; }
.sk-post-card:hover .sk-post-card__thumb img { transform:scale(1.045); }
.sk-post-card__placeholder { align-items:center; justify-content:center; flex-direction:column; gap:12px; color:var(--sk-primary); background:linear-gradient(135deg,color-mix(in srgb,var(--sk-primary) 10%,white),color-mix(in srgb,var(--sk-accent) 12%,white)); }
.sk-post-card__placeholder::before,.sk-post-card__placeholder::after { content:""; position:absolute; border-radius:999px; background:currentColor; opacity:.055; }
.sk-post-card__placeholder::before { width:210px; height:210px; right:-70px; top:-95px; }
.sk-post-card__placeholder::after { width:150px; height:150px; left:-55px; bottom:-80px; }
.sk-post-card__placeholder-mark { position:relative; z-index:1; width:62px; height:62px; display:grid; place-items:center; border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(16,24,40,.09); }
.sk-post-card__placeholder-mark svg { width:31px; height:31px; }
.sk-post-card__placeholder-label { position:relative; z-index:1; font-size:.75rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.sk-post-card__body { display:flex; flex-direction:column; flex:1; padding:clamp(23px,2.4vw,30px); }
.sk-post-card__meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; min-height:20px; font-size:.76rem; font-weight:700; color:var(--sk-muted); margin-bottom:12px; }
.sk-post-card__category { color:var(--sk-primary); text-transform:uppercase; letter-spacing:.07em; }
.sk-post-card .sk-post-card__title { font-size:clamp(1.3rem,1.65vw,1.58rem); margin:0 0 12px; line-height:1.18; }
.sk-post-card__title a { color:inherit; text-decoration:none; }
.sk-post-card__title a:hover { color:var(--sk-primary); }
.sk-post-card__excerpt { color:var(--sk-muted); font-size:.96rem; line-height:1.7; margin:0 0 22px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.sk-post-card__readmore { display:inline-flex; align-items:center; gap:9px; margin-top:auto; width:max-content; color:var(--sk-text); font-size:.9rem; font-weight:800; text-decoration:none; }
.sk-post-card__readmore span { color:var(--sk-primary); transition:transform .2s ease; }
.sk-post-card__readmore:hover { color:var(--sk-primary); }
.sk-post-card__readmore:hover span { transform:translateX(4px); }

/* Single article */
.sk-single-post .sk-reading-width { width:min(100%,900px); }
.sk-article { font-size:clamp(1rem,1.2vw,1.08rem); }
.sk-article__meta { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin:-18px 0 34px; color:var(--sk-muted); font-size:.82rem; font-weight:700; }
.sk-article__category { color:var(--sk-primary); text-transform:uppercase; letter-spacing:.08em; }
.sk-article__hero-media { margin:0 0 clamp(34px,5vw,58px); overflow:hidden; border-radius:calc(var(--sk-radius) + 6px); box-shadow:0 22px 60px rgba(16,24,40,.11); background:var(--sk-bg-soft); }
.sk-article__hero-media img { display:block; width:100%; max-height:580px; object-fit:cover; }
.sk-article__content { width:min(100%,760px); margin-inline:auto; }
.sk-article__content > p:first-child { font-size:1.12em; line-height:1.8; }
.sk-article__content h2 { font-size:clamp(1.75rem,3vw,2.55rem); margin-top:1.55em; }
.sk-article__content h3 { font-size:clamp(1.35rem,2vw,1.8rem); margin-top:1.5em; }
.sk-article__content p,.sk-article__content ul,.sk-article__content ol { margin-bottom:1.45em; }
.sk-article__content blockquote { margin:2.2em 0; padding:8px 0 8px 26px; border-left:4px solid var(--sk-primary); color:var(--sk-text); font-size:1.12em; font-weight:650; }
.sk-article__content img { border-radius:var(--sk-radius-sm); }
.sk-article__content figure { margin:2.2em 0; }
.sk-article__content figcaption { margin-top:8px; color:var(--sk-muted); font-size:.82rem; text-align:center; }
.sk-article__tags { width:min(100%,760px); margin:42px auto 0; padding-top:24px; border-top:1px solid var(--sk-border); display:flex; flex-wrap:wrap; gap:8px; }
.sk-article__tags a { display:inline-flex; padding:7px 12px; border-radius:999px; background:var(--sk-bg-soft); color:var(--sk-text); font-size:.78rem; font-weight:750; text-decoration:none; }
.sk-article__tags a:hover { background:var(--sk-primary); color:#fff; }
.sk-article-nav { width:min(100%,760px); margin:clamp(45px,7vw,76px) auto 0; padding-top:28px; border-top:1px solid var(--sk-border); }
.sk-article-nav .nav-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.sk-article-nav .nav-next { text-align:right; }
.sk-article-nav a { display:block; height:100%; padding:18px 20px; border:1px solid var(--sk-border); border-radius:var(--sk-radius-sm); color:var(--sk-text); text-decoration:none; transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.sk-article-nav a:hover { border-color:color-mix(in srgb,var(--sk-primary) 35%,var(--sk-border)); transform:translateY(-2px); box-shadow:0 10px 26px rgba(16,24,40,.06); }
.sk-article-nav__label { display:block; margin-bottom:4px; color:var(--sk-muted); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

/* Forms */
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="password"],textarea,select {
  width:100%; min-height:50px; border:1px solid var(--sk-border); border-radius:var(--sk-radius-sm); padding:12px 15px; background:#fff; color:var(--sk-text); outline:none; transition:border var(--sk-transition), box-shadow var(--sk-transition);
}
textarea { min-height:140px; resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--sk-primary); box-shadow:0 0 0 4px color-mix(in srgb,var(--sk-primary) 12%, transparent); }

/* Footer */
.sk-site-footer { background:#101820; color:rgba(255,255,255,.72); }
.sk-footer-main { padding:70px 0 50px; }
.sk-footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:48px; }
.sk-site-footer h2,.sk-site-footer h3,.sk-site-footer h4 { color:#fff; }
.sk-site-footer a { color:rgba(255,255,255,.78); text-decoration:none; }
.sk-site-footer a:hover { color:#fff; }
.sk-site-footer ul { list-style:none; margin:0; padding:0; }
.sk-site-footer li + li { margin-top:9px; }
.sk-footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:22px 0; font-size:.88rem; }
.sk-footer-bottom__inner { display:flex; justify-content:space-between; gap:20px; }
body.sk-footer-style-light .sk-site-footer { background:#f5f7f9; color:var(--sk-muted); }
body.sk-footer-style-light .sk-site-footer h2,body.sk-footer-style-light .sk-site-footer h3,body.sk-footer-style-light .sk-site-footer h4 { color:var(--sk-text); }
body.sk-footer-style-light .sk-site-footer a { color:var(--sk-text); }
body.sk-footer-style-light .sk-footer-bottom { border-color:var(--sk-border); }
.sk-footer-brand .custom-logo-link { display:inline-block; margin-bottom:22px; }
.sk-footer-brand img { max-height:54px; width:auto; }
.sk-footer-intro { max-width:500px; margin:0; }
.sk-footer-contact { display:flex; flex-direction:column; gap:7px; margin-top:22px; }
.sk-footer-contact a,.sk-footer-contact span { display:block; }
.sk-footer-brand-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); align-items:end; gap:70px; }
.sk-footer-brand-menu ul { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px 24px; }
.sk-footer-brand-menu li + li { margin-top:0; }
body.sk-footer-style-primary .sk-site-footer { background:var(--sk-primary); color:rgba(255,255,255,.78); }
body.sk-footer-style-primary .sk-site-footer h2,body.sk-footer-style-primary .sk-site-footer h3,body.sk-footer-style-primary .sk-site-footer h4,body.sk-footer-style-primary .sk-site-footer a { color:#fff; }
body.sk-footer-style-minimal .sk-site-footer { background:#fff; color:var(--sk-muted); border-top:1px solid var(--sk-border); }
body.sk-footer-style-minimal .sk-site-footer h2,body.sk-footer-style-minimal .sk-site-footer h3,body.sk-footer-style-minimal .sk-site-footer h4,body.sk-footer-style-minimal .sk-site-footer a { color:var(--sk-text); }
body.sk-footer-style-minimal .sk-footer-bottom { border-color:var(--sk-border); }
body.sk-footer-layout-compact .sk-footer-bottom { padding:30px 0; }


/* WordPress */
.alignwide { width:min(calc(100vw - 40px),1400px); max-width:none; margin-left:50%; transform:translateX(-50%); }
.alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }
.wp-caption,.gallery-caption { color:var(--sk-muted); font-size:.88rem; }
.sticky { outline:1px solid transparent; }
.bypostauthor { outline:1px solid transparent; }
.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; }
.screen-reader-text:focus { position:fixed!important; width:auto; height:auto; clip:auto; top:10px; left:10px; background:#fff; padding:12px; z-index:99999; }

/* WooCommerce — modern, sidebar-free commerce system */
body.woocommerce-page { background:var(--sk-bg); }
body.woocommerce-page .sk-site-main { overflow:hidden; }
body.woocommerce-page .sk-content-wrap { padding:clamp(42px,6vw,82px) 0 clamp(70px,8vw,120px); }
body.woocommerce-page .woocommerce { --wc-card-radius:calc(var(--sk-radius) + 2px); }

/* Breadcrumbs + notices */
.woocommerce .woocommerce-breadcrumb { margin:0 0 30px; color:var(--sk-muted); font-size:.82rem; font-weight:650; }
.woocommerce .woocommerce-breadcrumb a { color:var(--sk-text); text-decoration:none; }
.woocommerce .woocommerce-breadcrumb a:hover { color:var(--sk-primary); }
.woocommerce-message,.woocommerce-info,.woocommerce-error {
  border:1px solid var(--sk-border)!important; border-top:0!important; border-radius:14px; background:#fff!important;
  box-shadow:0 10px 34px rgba(16,24,40,.06); padding:18px 22px 18px 54px!important; color:var(--sk-text)!important;
}
.woocommerce-message::before,.woocommerce-info::before { color:var(--sk-primary)!important; top:19px!important; }
.woocommerce-error::before { top:19px!important; }
.woocommerce-message .button,.woocommerce-info .button { margin-left:14px; }

/* Shop / category header */
.woocommerce-products-header { margin-bottom:34px; max-width:850px; }
.woocommerce-products-header__title.page-title { margin:0 0 12px; font-size:clamp(2.5rem,5vw,4.7rem); letter-spacing:-.045em; }
.woocommerce-products-header .term-description { color:var(--sk-muted); font-size:1.05rem; max-width:760px; }
.woocommerce .woocommerce-result-count { margin:12px 0 30px; color:var(--sk-muted); font-size:.9rem; }
.woocommerce .woocommerce-ordering { margin:0 0 30px; }
.woocommerce .woocommerce-ordering select { min-width:220px; min-height:46px; padding:9px 42px 9px 14px; background:#fff; border-radius:999px; }

/* Product catalogue */
.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(18px,2.5vw,30px); margin:0!important; clear:both; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none!important; }
.woocommerce ul.products li.product {
  float:none!important; width:auto!important; margin:0!important; padding:0 0 24px!important; position:relative;
  border:1px solid var(--sk-border); border-radius:var(--wc-card-radius); overflow:hidden; background:#fff;
  box-shadow:0 4px 18px rgba(16,24,40,.035); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.woocommerce ul.products li.product:hover { transform:translateY(-5px); box-shadow:0 22px 55px rgba(16,24,40,.11); border-color:color-mix(in srgb,var(--sk-primary) 22%,var(--sk-border)); }
.woocommerce ul.products li.product a { text-decoration:none; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display:block; }
.woocommerce ul.products li.product img { width:100%!important; aspect-ratio:1/1; object-fit:cover; display:block; margin:0 0 21px!important; background:var(--sk-bg-soft); transition:transform .45s ease; }
.woocommerce ul.products li.product:hover img { transform:scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin:0 22px 7px!important; padding:0!important; color:var(--sk-text); font-size:1.03rem!important; line-height:1.3; font-weight:750; letter-spacing:-.015em; }
.woocommerce ul.products li.product .star-rating { margin:0 22px 10px!important; font-size:.78rem; color:var(--sk-accent); }
.woocommerce ul.products li.product .price { display:block; margin:0 22px 18px!important; color:var(--sk-primary)!important; font-size:1rem!important; font-weight:800!important; }
.woocommerce ul.products li.product .price del { color:var(--sk-muted); opacity:.62; font-weight:600; }
.woocommerce ul.products li.product .price ins { text-decoration:none; }
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart {
  margin:0 22px!important; width:calc(100% - 44px); min-height:46px; padding:11px 18px!important; border-radius:999px!important;
  background:var(--sk-primary)!important; color:#fff!important; text-align:center; font-weight:750!important; line-height:24px!important;
}
.woocommerce ul.products li.product .button:hover,.woocommerce ul.products li.product .added_to_cart:hover { background:color-mix(in srgb,var(--sk-primary) 88%,#000)!important; }
.woocommerce ul.products li.product .added_to_cart { display:flex; align-items:center; justify-content:center; margin-top:8px!important; background:transparent!important; color:var(--sk-primary)!important; border:1px solid var(--sk-border); }
.woocommerce span.onsale { top:14px!important; left:14px!important; right:auto!important; z-index:3; min-width:0!important; min-height:0!important; margin:0!important; padding:8px 11px!important; border-radius:999px!important; background:var(--sk-primary)!important; color:#fff!important; line-height:1!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.04em; }

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top:48px; }
.woocommerce nav.woocommerce-pagination ul { border:0!important; display:flex; justify-content:center; gap:8px; }
.woocommerce nav.woocommerce-pagination ul li { border:0!important; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { min-width:44px; height:44px; display:grid!important; place-items:center; padding:0!important; border:1px solid var(--sk-border); border-radius:50%; background:#fff; color:var(--sk-text); }
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover { background:var(--sk-primary)!important; color:#fff!important; border-color:var(--sk-primary); }

/* Single product */
.single-product div.product { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:clamp(42px,7vw,96px); align-items:start; }
.single-product div.product > .woocommerce-product-gallery,.single-product div.product > .summary { float:none!important; width:auto!important; }
.single-product div.product .woocommerce-product-gallery { margin:0!important; }
.single-product div.product .woocommerce-product-gallery__wrapper { border-radius:calc(var(--sk-radius) + 6px); overflow:hidden; background:var(--sk-bg-soft); }
.single-product div.product .woocommerce-product-gallery__image img { width:100%; }
.single-product div.product .flex-control-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin:12px 0 0!important; }
.single-product div.product .flex-control-thumbs li { float:none!important; width:auto!important; }
.single-product div.product .flex-control-thumbs img { border-radius:10px; border:2px solid transparent; opacity:.7; }
.single-product div.product .flex-control-thumbs img.flex-active { border-color:var(--sk-primary); opacity:1; }
.single-product div.product .summary { margin:0!important; position:sticky; top:calc(var(--sk-header-height) + 28px); }
.admin-bar.single-product div.product .summary { top:calc(var(--sk-header-height) + 60px); }
.single-product div.product .product_title { font-size:clamp(2.35rem,4.3vw,4.4rem); margin:0 0 14px; letter-spacing:-.045em; }
.single-product div.product .woocommerce-product-rating { display:flex; align-items:center; gap:10px; margin:0 0 15px; }
.single-product div.product .star-rating { color:var(--sk-accent); }
.single-product div.product p.price,.single-product div.product span.price { color:var(--sk-primary)!important; font-size:clamp(1.4rem,2vw,1.75rem)!important; font-weight:850!important; margin-bottom:22px; }
.single-product div.product .woocommerce-product-details__short-description { color:var(--sk-muted); font-size:1.02rem; margin-bottom:28px; }
.single-product div.product form.cart { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 30px!important; padding:24px 0; border-top:1px solid var(--sk-border); border-bottom:1px solid var(--sk-border); }
.woocommerce .quantity .qty { width:84px; min-height:52px; text-align:center; border-radius:999px; }
.single-product div.product form.cart .button { flex:1; min-height:52px; margin:0!important; }
.single-product div.product .product_meta { display:grid; gap:8px; color:var(--sk-muted); font-size:.88rem; }
.single-product div.product .product_meta > span { display:block; }
.single-product div.product .product_meta a { color:var(--sk-text); }

/* Variations */
.woocommerce div.product form.cart .variations { margin-bottom:10px; }
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td { display:block; padding:0 0 8px!important; text-align:left; }
.woocommerce div.product form.cart .variations label { font-weight:750; }
.woocommerce div.product form.cart .variations select { min-width:260px; }
.woocommerce div.product form.cart .reset_variations { margin-left:10px; font-size:.82rem; }

/* Tabs and long description */
.single-product div.product .woocommerce-tabs { grid-column:1/-1; padding-top:clamp(38px,6vw,72px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 36px!important; padding:0!important; border:0!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0!important; padding:0!important; border:1px solid var(--sk-border)!important; background:#fff!important; border-radius:999px!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:10px 18px!important; color:var(--sk-muted)!important; font-weight:750!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--sk-primary)!important; border-color:var(--sk-primary)!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:#fff!important; }
.woocommerce div.product .woocommerce-tabs .panel { max-width:900px; margin:0!important; color:var(--sk-muted); }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size:clamp(1.75rem,3vw,2.5rem); color:var(--sk-text); }
.single-product .related.products,.single-product .upsells.products { grid-column:1/-1; margin-top:clamp(45px,7vw,90px); }
.single-product .related.products > h2,.single-product .upsells.products > h2 { margin-bottom:30px; font-size:clamp(1.9rem,3.5vw,3rem); }

/* Cart */
.woocommerce-cart .woocommerce-cart-form,.woocommerce-checkout .woocommerce-checkout-review-order,.woocommerce-account .woocommerce-MyAccount-content { border:1px solid var(--sk-border); border-radius:var(--sk-radius); background:#fff; box-shadow:0 12px 40px rgba(16,24,40,.05); }
.woocommerce table.shop_table { border:0!important; border-collapse:separate; border-spacing:0; margin:0!important; border-radius:var(--sk-radius); overflow:hidden; }
.woocommerce table.shop_table th { background:var(--sk-bg-soft); padding:16px 18px!important; color:var(--sk-text); font-size:.82rem; text-transform:uppercase; letter-spacing:.05em; }
.woocommerce table.shop_table td { padding:18px!important; border-top:1px solid var(--sk-border)!important; }
.woocommerce-cart table.cart img { width:72px!important; border-radius:10px; }
.woocommerce-cart table.cart td.actions .coupon { display:flex; gap:8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width:180px!important; min-height:46px; }
.woocommerce-cart .cart-collaterals { margin-top:30px; }
.woocommerce-cart .cart-collaterals .cart_totals { float:none!important; width:min(100%,520px)!important; margin-left:auto; padding:28px; border:1px solid var(--sk-border); border-radius:var(--sk-radius); background:var(--sk-bg-soft); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { margin:0!important; font-size:1rem!important; }

/* Checkout */
.woocommerce-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:clamp(32px,5vw,60px); align-items:start; }
.woocommerce-checkout #customer_details { float:none!important; width:auto!important; }
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { float:none!important; width:auto!important; }
.woocommerce-checkout #order_review_heading { grid-column:2; margin:0 0 -42px; padding:28px 28px 0; z-index:2; font-size:1.35rem; }
.woocommerce-checkout #order_review { grid-column:2; padding:72px 28px 28px; position:sticky; top:calc(var(--sk-header-height) + 24px); }
.woocommerce-checkout #customer_details { grid-row:1 / span 2; }
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2 { float:none!important; width:100%!important; }
.woocommerce-checkout .col2-set .col-2 { margin-top:32px; }
.woocommerce form .form-row { margin:0 0 17px; padding:0; }
.woocommerce form .form-row label { font-weight:700; font-size:.9rem; margin-bottom:5px; }
.woocommerce-checkout #payment { background:var(--sk-bg-soft)!important; border-radius:14px!important; }
.woocommerce-checkout #payment ul.payment_methods { border-color:var(--sk-border)!important; }
.woocommerce-checkout #payment div.payment_box { background:#fff!important; color:var(--sk-muted)!important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:#fff!important; }
.woocommerce #payment #place_order { width:100%; margin-top:12px; }

/* My account */
.woocommerce-account .woocommerce { display:grid; grid-template-columns:250px minmax(0,1fr); gap:34px; align-items:start; }
.woocommerce-account .woocommerce-MyAccount-navigation { float:none!important; width:auto!important; padding:12px; border:1px solid var(--sk-border); border-radius:var(--sk-radius); background:var(--sk-bg-soft); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li + li { margin-top:4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:11px 13px; border-radius:10px; color:var(--sk-text); text-decoration:none; font-weight:700; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background:#fff; color:var(--sk-primary); box-shadow:0 5px 18px rgba(16,24,40,.05); }
.woocommerce-account .woocommerce-MyAccount-content { float:none!important; width:auto!important; padding:clamp(24px,4vw,42px); }

/* Woo blocks */
.wc-block-cart,.wc-block-checkout { font-family:var(--sk-font-body,"Montserrat",sans-serif); }
.wc-block-components-product-name { color:var(--sk-text)!important; font-weight:750; text-decoration:none!important; }
.wc-block-components-button,.wc-block-cart__submit-button { border-radius:999px!important; background:var(--sk-primary)!important; color:#fff!important; min-height:50px; }
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input { border-radius:var(--sk-radius-sm)!important; }
.wc-block-components-sidebar-layout .wc-block-components-main,.wc-block-components-sidebar { box-sizing:border-box; }

/* Remove legacy sidebar gaps on WooCommerce regardless of plugins/templates */
body.woocommerce-page #secondary,body.woocommerce-page .sidebar,body.woocommerce-page .widget-area { display:none!important; }
body.woocommerce-page #primary,body.woocommerce-page .content-area { float:none!important; width:100%!important; margin:0!important; }

@media (max-width: 980px) {
  .sk-menu-toggle { display:block; }
  .sk-primary-nav { position:absolute; top:100%; left:20px; right:20px; display:none; padding:16px; background:#fff; border:1px solid var(--sk-border); border-radius:16px; box-shadow:var(--sk-shadow); }
  .sk-primary-nav.is-open { display:block; }
  .sk-primary-nav ul { display:block; }
  .sk-primary-nav a { padding:12px; }
  .sk-header-cta { display:none; }
  body.sk-header-style-dark .sk-primary-nav { background:#101820; }
  .sk-grid--4,.sk-post-grid,.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .single-product div.product { grid-template-columns:1fr; gap:34px; }
  .single-product div.product .summary { position:static; }
  .woocommerce-checkout form.checkout { grid-template-columns:1fr; }
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { grid-column:1; grid-row:auto; }
  .woocommerce-checkout #order_review_heading { margin:10px 0 -42px; }
  .woocommerce-checkout #order_review { position:static; }
  .woocommerce-account .woocommerce { grid-template-columns:1fr; }
  .sk-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sk-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sk-footer-brand-layout { grid-template-columns:1fr; gap:30px; }
  .sk-footer-brand-menu ul { justify-content:flex-start; }
}
@media (max-width: 700px) {
  body { font-size:16px; }
  .sk-container { width:min(calc(100% - 30px),var(--sk-container)); }
  .sk-grid--2,.sk-grid--3,.sk-grid--4,.sk-post-grid,.sk-split,.woocommerce ul.products { grid-template-columns:1fr; }
  .woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering { float:none!important; width:100%; }
  .woocommerce .woocommerce-ordering select { width:100%; }
  .woocommerce-cart table.cart .product-thumbnail { display:none; }
  .woocommerce-cart table.cart td.actions .coupon { float:none!important; width:100%; margin-bottom:10px; }
  .woocommerce-cart table.cart td.actions .coupon .input-text { width:100%!important; }
  .woocommerce-cart table.cart td.actions .button { width:100%!important; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap:6px; }
  .single-product div.product .flex-control-thumbs { grid-template-columns:repeat(4,1fr); }
  .sk-split--reverse .sk-split__media,.sk-split--reverse .sk-split__content { order:initial; }
  .sk-footer-grid { grid-template-columns:1fr; gap:30px; }
  .sk-topbar__inner { display:block; padding-top:9px; padding-bottom:9px; }
  .sk-topbar__left { text-align:center; }
  .sk-topbar__right { justify-content:center; flex-wrap:wrap; gap:5px 16px; margin-top:4px; }
  .sk-topbar__message:empty { display:none; }
  .sk-footer-bottom__inner { display:block; }
  .sk-footer-bottom__inner > * + * { margin-top:8px; }
}
@media (max-width: 782px) { .admin-bar .sk-site-header.is-sticky { top:46px; } }

/* ==========================================================
   SK Framework 1.3 — refined header + flexible footer system
   ========================================================== */

/* Keep navigation grouped tightly with the header CTA on desktop. */
@media (min-width:981px) {
  .sk-header-inner { justify-content:flex-start; gap:18px; }
  .sk-branding { margin-right:auto; }
  .sk-primary-nav { margin-left:auto; margin-right:2px; }
  .sk-header-cta { flex:0 0 auto; margin-left:4px; }
}

/* Modern footer palette. Presets are converted into these variables in enqueue.php,
   while optional Customizer colours override them. */
.sk-site-footer {
  background:var(--sk-footer-bg,#101820);
  color:var(--sk-footer-text,#aeb7c2);
  border-top:1px solid color-mix(in srgb,var(--sk-footer-heading,#fff) 8%,transparent);
}
.sk-footer-main { padding:clamp(58px,7vw,92px) 0 clamp(48px,6vw,74px); }
.sk-footer-layout { display:grid; align-items:start; gap:clamp(34px,4.6vw,68px); }
.sk-footer-layout--left,
.sk-footer-layout--right { grid-template-columns:minmax(220px,.8fr) minmax(0,2.4fr); }
.sk-footer-layout--right { grid-template-columns:minmax(0,2.4fr) minmax(220px,.8fr); }
.sk-footer-layout--widgets-only { display:block; }

.sk-footer-widgets { display:grid; gap:clamp(24px,3vw,44px); min-width:0; }
.sk-footer-widgets--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sk-footer-widgets--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sk-footer-widgets--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sk-footer-widgets--5 { grid-template-columns:repeat(5,minmax(0,1fr)); }

.sk-footer-company { min-width:0; }
.sk-footer-company .custom-logo-link { display:inline-flex; margin:0 0 24px; }
.sk-footer-company img { display:block; width:auto; max-height:58px; }
.sk-footer-company > h3 { font-size:1.35rem; margin-bottom:16px; }
.sk-footer-intro { max-width:390px; margin:0; color:inherit; line-height:1.75; }
.sk-footer-contact { display:grid; gap:9px; margin-top:24px; }
.sk-footer-contact a,.sk-footer-contact span { display:flex; align-items:flex-start; gap:9px; line-height:1.55; }

.sk-site-footer .widget { margin:0; padding:0; background:transparent; border:0; box-shadow:none; }
.sk-site-footer .widget + .widget { margin-top:28px; }
.sk-site-footer .widget-title,
.sk-site-footer .wp-block-heading,
.sk-site-footer h2,
.sk-site-footer h3,
.sk-site-footer h4 {
  color:var(--sk-footer-heading,#fff);
}
.sk-site-footer .widget-title,
.sk-site-footer .wp-block-heading {
  position:relative;
  margin:0 0 20px;
  padding-bottom:12px;
  font-size:.84rem;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.sk-site-footer .widget-title::after,
.sk-site-footer .wp-block-heading::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:28px;
  height:2px;
  border-radius:99px;
  background:var(--sk-accent);
}
.sk-site-footer a { color:var(--sk-footer-link,#dce3ea); text-decoration:none; transition:color var(--sk-transition),transform var(--sk-transition),opacity var(--sk-transition); }
.sk-site-footer a:hover { color:var(--sk-accent); }
.sk-site-footer ul { list-style:none; margin:0; padding:0; }
.sk-site-footer li { margin:0; }
.sk-site-footer li + li { margin-top:10px; }
.sk-site-footer .menu a,
.sk-site-footer .wp-block-navigation-item__content { display:inline-block; }
.sk-site-footer .menu a:hover { transform:translateX(3px); }
.sk-site-footer p:last-child { margin-bottom:0; }

.sk-footer-bottom {
  margin:0;
  padding:20px 0;
  border-top:1px solid color-mix(in srgb,var(--sk-footer-bottom-text,#aeb7c2) 14%,transparent);
  background:var(--sk-footer-bottom-bg,#0b1117);
  color:var(--sk-footer-bottom-text,#aeb7c2);
  font-size:.82rem;
}
.sk-footer-bottom__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.sk-footer-copyright { line-height:1.6; }
.sk-footer-bottom-menu ul { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 22px; }
.sk-footer-bottom-menu li + li { margin-top:0; }
.sk-footer-bottom-menu a { color:var(--sk-footer-bottom-text,#aeb7c2); font-weight:600; }
.sk-footer-bottom-menu a:hover { color:var(--sk-accent); }

/* The Customizer preset classes remain useful, but colours now come from variables so
   a manual colour choice always wins over a preset. */
body.sk-footer-style-light .sk-site-footer,
body.sk-footer-style-primary .sk-site-footer,
body.sk-footer-style-minimal .sk-site-footer { background:var(--sk-footer-bg); color:var(--sk-footer-text); }
body.sk-footer-style-light .sk-site-footer h2,
body.sk-footer-style-light .sk-site-footer h3,
body.sk-footer-style-light .sk-site-footer h4,
body.sk-footer-style-primary .sk-site-footer h2,
body.sk-footer-style-primary .sk-site-footer h3,
body.sk-footer-style-primary .sk-site-footer h4,
body.sk-footer-style-minimal .sk-site-footer h2,
body.sk-footer-style-minimal .sk-site-footer h3,
body.sk-footer-style-minimal .sk-site-footer h4 { color:var(--sk-footer-heading); }
body.sk-footer-style-light .sk-site-footer a,
body.sk-footer-style-primary .sk-site-footer a,
body.sk-footer-style-minimal .sk-site-footer a { color:var(--sk-footer-link); }
body.sk-footer-style-light .sk-footer-bottom,
body.sk-footer-style-primary .sk-footer-bottom,
body.sk-footer-style-minimal .sk-footer-bottom { border-color:color-mix(in srgb,var(--sk-footer-bottom-text) 14%,transparent); }

@media (max-width:1180px) {
  .sk-footer-widgets--5 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sk-footer-widgets--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:980px) {
  .sk-footer-layout--left,
  .sk-footer-layout--right { grid-template-columns:1fr; }
  .sk-footer-layout--right .sk-footer-company { order:-1; }
  .sk-footer-company { max-width:650px; }
  .sk-footer-widgets--3,
  .sk-footer-widgets--5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .sk-footer-main { padding:52px 0 42px; }
  .sk-footer-layout { gap:38px; }
  .sk-footer-widgets--2,
  .sk-footer-widgets--3,
  .sk-footer-widgets--4,
  .sk-footer-widgets--5 { grid-template-columns:1fr; gap:32px; }
  .sk-footer-bottom__inner { display:block; }
  .sk-footer-bottom-menu { margin-top:10px; }
  .sk-footer-bottom-menu ul { justify-content:flex-start; gap:7px 18px; }
}


/* v1.5.8 — shared business details */
.sk-topbar__address{
  display:inline-flex;
  align-items:center;
  gap:7px;
  max-width:360px;
  line-height:1.35;
}
.sk-footer-contact span{
  display:block;
  white-space:normal;
}
@media (max-width: 900px){
  .sk-topbar__inner{gap:12px}
  .sk-topbar__right{gap:14px;flex-wrap:wrap}
  .sk-topbar__address{max-width:260px}
}
@media (max-width: 700px){
  .sk-topbar__inner{padding-top:8px;padding-bottom:8px}
  .sk-topbar__left:empty{display:none}
  .sk-topbar__right{width:100%;justify-content:center;font-size:.78rem}
  .sk-topbar__address{max-width:none;text-align:center}
}


/* ==========================================================
   SK Framework 1.5 — animated mobile navigation + Woo header
   ========================================================== */

/* Header action grouping */
.sk-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.sk-commerce-header-actions{
  display:flex;
  align-items:center;
  gap:5px;
}
.sk-header-icon-button{
  position:relative;
  width:44px;
  height:44px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid var(--sk-border);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--sk-text);
  text-decoration:none;
  box-shadow:none;
  cursor:pointer;
  transition:
    color .2s ease,
    border-color .2s ease,
    background .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}
.sk-header-icon-button:hover{
  color:var(--sk-primary);
  border-color:color-mix(in srgb,var(--sk-primary) 26%,transparent);
  background:color-mix(in srgb,var(--sk-primary) 5%,#fff);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(16,24,40,.08);
}
.sk-header-icon{
  width:21px;
  height:21px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.sk-header-style-dark .sk-header-icon-button{
  color:#fff;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
}
body.sk-header-style-dark .sk-header-icon-button:hover{
  color:#fff;
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.22);
}

/* Cart badge */
.sk-header-cart{position:relative}
.sk-cart-count{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fff;
  border-radius:999px;
  background:var(--sk-accent);
  color:#111820;
  font-size:10px;
  font-weight:850;
  line-height:1;
  box-shadow:0 3px 9px rgba(16,24,40,.12);
}
.sk-cart-count.is-empty{display:none}
body.sk-header-style-dark .sk-cart-count{border-color:#101820}

/* Premium cart preview */
.sk-cart-popover{
  position:absolute;
  z-index:1100;
  top:calc(100% + 16px);
  right:0;
  width:min(390px,calc(100vw - 28px));
  overflow:hidden;
  border:1px solid rgba(17,24,39,.09);
  border-radius:20px;
  background:#fff;
  color:var(--sk-text);
  box-shadow:0 28px 80px rgba(10,18,28,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px) scale(.985);
  transform-origin:top right;
  transition:opacity .2s ease,transform .24s cubic-bezier(.2,.75,.25,1),visibility .2s;
}
.sk-header-cart.is-open .sk-cart-popover{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.sk-cart-popover__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 20px 16px;
  border-bottom:1px solid rgba(17,24,39,.08);
}
.sk-cart-popover__head > div{display:grid;gap:2px}
.sk-cart-popover__eyebrow{
  color:var(--sk-muted);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sk-cart-popover__head strong{font-size:1.05rem}
.sk-cart-close{
  width:34px;
  height:34px;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-radius:999px;
  background:var(--sk-bg-soft);
  color:var(--sk-text);
  font-size:23px;
  font-weight:400;
  line-height:1;
  box-shadow:none;
  transform:none;
}
.sk-cart-close:hover{background:#eef1f4;color:var(--sk-primary);box-shadow:none;transform:none}
.sk-cart-items{
  max-height:min(355px,48vh);
  overflow:auto;
  padding:4px 20px;
  scrollbar-width:thin;
}
.sk-cart-item{
  display:grid;
  grid-template-columns:62px minmax(0,1fr) 28px;
  gap:13px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(17,24,39,.07);
}
.sk-cart-item:last-child{border-bottom:0}
.sk-cart-item__image{
  width:62px;
  height:62px;
  overflow:hidden;
  border-radius:12px;
  background:var(--sk-bg-soft);
}
.sk-cart-item__image a{display:block;width:100%;height:100%}
.sk-cart-item__image img{width:100%;height:100%;object-fit:cover;display:block}
.sk-cart-item__content{display:grid;gap:5px;min-width:0}
.sk-cart-item__name{
  color:var(--sk-text);
  font-weight:750;
  font-size:.88rem;
  line-height:1.35;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.sk-cart-item__name:hover{color:var(--sk-primary)}
.sk-cart-item__meta{color:var(--sk-muted);font-size:.78rem}
.sk-cart-item__remove{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:transparent;
  color:#8a939e;
  text-decoration:none;
  font-size:20px;
  line-height:1;
}
.sk-cart-item__remove:hover{background:#f3f5f7;color:#c33}
.sk-cart-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 20px;
  border-top:1px solid rgba(17,24,39,.08);
  background:#fafbfc;
}
.sk-cart-summary span{color:var(--sk-muted);font-size:.84rem;font-weight:650}
.sk-cart-summary strong{font-size:1rem}
.sk-cart-actions{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:9px;
  padding:14px 20px 20px;
  background:#fafbfc;
}
.sk-cart-actions a{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  text-decoration:none;
}
.sk-cart-view{
  border:1px solid var(--sk-border);
  background:#fff;
  color:var(--sk-text);
}
.sk-cart-checkout{
  background:var(--sk-primary);
  color:#fff;
}
.sk-cart-checkout:hover{color:#fff;filter:brightness(1.05)}
.sk-cart-empty{
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:34px 28px;
  text-align:center;
}
.sk-cart-empty__icon{
  width:58px;height:58px;
  display:grid;place-items:center;
  margin-bottom:14px;
  border-radius:18px;
  background:color-mix(in srgb,var(--sk-primary) 8%,#fff);
  color:var(--sk-primary);
}
.sk-cart-empty__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sk-cart-empty strong{font-size:1rem}
.sk-cart-empty p{max-width:250px;margin:7px 0 15px;color:var(--sk-muted);font-size:.84rem;line-height:1.6}
.sk-cart-empty a{font-size:.82rem;font-weight:800;text-decoration:none}

/* Desktop navigation/header relationship */
@media (min-width:981px){
  .sk-header-inner{justify-content:flex-start;gap:14px}
  .sk-branding{margin-right:auto}
  .sk-primary-nav{margin-left:auto;margin-right:4px}
  .sk-header-actions{margin-left:0}
  .sk-header-actions .sk-header-cta{margin:0 3px 0 0}
  .sk-mobile-nav-head,
  .sk-mobile-nav-cta,
  .sk-mobile-nav-backdrop{display:none!important}
}

/* Hamburger */
.sk-menu-toggle{
  width:44px;
  height:44px;
  padding:11px 10px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  border:1px solid var(--sk-border);
  border-radius:999px;
  background:#fff;
  color:var(--sk-text);
  box-shadow:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.sk-menu-toggle:hover{background:var(--sk-bg-soft);box-shadow:none;transform:none}
.sk-menu-toggle__line{
  display:block;
  width:20px;
  height:1.8px;
  border-radius:99px;
  background:currentColor;
  transform-origin:center;
  transition:transform .28s cubic-bezier(.2,.75,.25,1),opacity .18s ease,width .25s ease;
}
.sk-menu-toggle.is-active .sk-menu-toggle__line:nth-child(1){transform:translateY(6.8px) rotate(45deg)}
.sk-menu-toggle.is-active .sk-menu-toggle__line:nth-child(2){opacity:0;width:8px}
.sk-menu-toggle.is-active .sk-menu-toggle__line:nth-child(3){transform:translateY(-6.8px) rotate(-45deg)}
body.sk-header-style-dark .sk-menu-toggle{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}

/* Off-canvas mobile navigation */
.sk-mobile-nav-backdrop{display:none}
.sk-mobile-nav-head{display:none}
.sk-mobile-nav-cta{display:none}

@media (max-width:980px){
  .sk-header-inner{gap:10px}
  .sk-branding{margin-right:auto;min-width:0}
  .sk-branding img{max-width:min(210px,42vw)}
  .sk-header-actions{gap:5px}
  .sk-header-cta{display:none!important}
  .sk-menu-toggle{display:flex;position:relative;z-index:1203}

  .sk-commerce-header-actions{gap:4px}
  .sk-header-icon-button{width:42px;height:42px}
  .sk-header-icon{width:20px;height:20px}

  /* Override the legacy dropdown mobile nav with a real off-canvas surface. */
  .sk-primary-nav,
  body.sk-header-style-dark .sk-primary-nav{
    position:fixed!important;
    z-index:1202;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(420px,90vw)!important;
    height:100dvh;
    display:flex!important;
    flex-direction:column;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:var(--sk-text)!important;
    box-shadow:-28px 0 80px rgba(9,17,27,.16)!important;
    overflow:auto;
    opacity:1;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(104%);
    transition:transform .38s cubic-bezier(.2,.78,.2,1),visibility .38s;
  }
  .sk-primary-nav.is-open{
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
  }
  .admin-bar .sk-primary-nav{top:32px!important;height:calc(100dvh - 32px)}

  .sk-mobile-nav-backdrop{
    position:fixed;
    z-index:1201;
    inset:0;
    display:block;
    background:rgba(7,13,20,.48);
    backdrop-filter:blur(3px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s ease,visibility .3s;
  }
  .sk-mobile-nav-backdrop.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  body.sk-mobile-nav-open{overflow:hidden}

  .sk-mobile-nav-head{
    position:sticky;
    z-index:2;
    top:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:84px;
    padding:16px 24px;
    border-bottom:1px solid rgba(17,24,39,.08);
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(16px);
  }
  .sk-mobile-nav-brand{min-width:0}
  .sk-mobile-nav-brand .custom-logo-link{display:flex;align-items:center}
  .sk-mobile-nav-brand img{display:block;max-width:190px;max-height:48px;width:auto;height:auto}
  .sk-mobile-nav-title{font-family:var(--sk-font-heading);font-size:1.05rem;font-weight:800;color:var(--sk-text)}
  .sk-mobile-nav-close{
    position:relative;
    flex:0 0 40px;
    width:40px;height:40px;padding:0;
    border:1px solid var(--sk-border);
    border-radius:999px;
    background:#fff;
    color:var(--sk-text);
    box-shadow:none;
  }
  .sk-mobile-nav-close:hover{background:var(--sk-bg-soft);box-shadow:none;transform:none}
  .sk-mobile-nav-close span{
    position:absolute;left:11px;top:19px;
    width:18px;height:1.8px;border-radius:99px;background:currentColor;
  }
  .sk-mobile-nav-close span:first-child{transform:rotate(45deg)}
  .sk-mobile-nav-close span:last-child{transform:rotate(-45deg)}

  .sk-primary-nav > ul{
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    gap:0!important;
    width:100%;
    margin:0!important;
    padding:22px 18px 12px!important;
    list-style:none;
  }
  .sk-primary-nav > ul > li{
    width:100%;
    margin:0;
    opacity:0;
    transform:translateX(14px);
    transition:opacity .25s ease,transform .32s cubic-bezier(.2,.75,.25,1);
  }
  .sk-primary-nav.is-open > ul > li{opacity:1;transform:translateX(0)}
  .sk-primary-nav.is-open > ul > li:nth-child(1){transition-delay:.08s}
  .sk-primary-nav.is-open > ul > li:nth-child(2){transition-delay:.11s}
  .sk-primary-nav.is-open > ul > li:nth-child(3){transition-delay:.14s}
  .sk-primary-nav.is-open > ul > li:nth-child(4){transition-delay:.17s}
  .sk-primary-nav.is-open > ul > li:nth-child(5){transition-delay:.20s}
  .sk-primary-nav.is-open > ul > li:nth-child(6){transition-delay:.23s}
  .sk-primary-nav.is-open > ul > li:nth-child(7){transition-delay:.26s}
  .sk-primary-nav.is-open > ul > li:nth-child(8){transition-delay:.29s}
  .sk-primary-nav a{
    position:relative;
    display:flex!important;
    align-items:center;
    min-height:54px;
    padding:12px 13px!important;
    border-radius:12px;
    color:var(--sk-text)!important;
    font-size:1.04rem;
    font-weight:720;
    text-decoration:none;
    background:transparent!important;
  }
  .sk-primary-nav > ul > li > a:after{
    content:"→";
    margin-left:auto;
    color:var(--sk-primary);
    opacity:.38;
    transform:translateX(-4px);
    transition:opacity .2s ease,transform .2s ease;
  }
  .sk-primary-nav a:hover,
  .sk-primary-nav .current-menu-item > a{
    background:var(--sk-bg-soft)!important;
    color:var(--sk-primary)!important;
  }
  .sk-primary-nav > ul > li > a:hover:after{opacity:1;transform:translateX(0)}

  .sk-primary-nav .sub-menu{
    position:static!important;
    display:block!important;
    width:auto!important;
    margin:-3px 0 8px 15px!important;
    padding:0 0 0 12px!important;
    border:0!important;
    border-left:1px solid var(--sk-border)!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .sk-primary-nav .sub-menu a{
    min-height:42px;
    padding:8px 12px!important;
    font-size:.9rem;
    font-weight:620;
    color:var(--sk-muted)!important;
  }

  .sk-mobile-nav-cta{
    display:flex!important;
    width:calc(100% - 36px);
    min-height:52px;
    margin:auto 18px 22px;
    flex:0 0 auto;
  }

  /* Mobile cart becomes a polished bottom sheet. */
  .sk-cart-popover{
    position:fixed;
    z-index:1301;
    top:auto;
    right:12px;
    bottom:12px;
    left:12px;
    width:auto;
    max-height:min(720px,calc(100dvh - 24px));
    border-radius:22px;
    transform:translateY(24px) scale(.99);
    transform-origin:center bottom;
  }
  .sk-header-cart.is-open:before{
    content:"";
    position:fixed;
    z-index:1300;
    inset:0;
    background:rgba(7,13,20,.43);
    backdrop-filter:blur(2px);
  }
  .sk-header-cart.is-open .sk-cart-popover{transform:translateY(0) scale(1)}
  .sk-cart-items{max-height:min(380px,43vh)}
}

@media (max-width:782px){
  .admin-bar .sk-primary-nav{top:46px!important;height:calc(100dvh - 46px)}
}
@media (max-width:520px){
  .sk-branding img{max-width:min(165px,36vw);max-height:46px}
  .sk-header-actions{gap:3px}
  .sk-header-icon-button,.sk-menu-toggle{width:40px;height:40px}
  .sk-cart-count{top:-5px;right:-5px}
  .sk-cart-actions{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .sk-primary-nav,
  .sk-mobile-nav-backdrop,
  .sk-primary-nav > ul > li,
  .sk-menu-toggle__line,
  .sk-cart-popover{transition:none!important}
}


/* ==========================================================
   SK Framework 1.5.8 — WooCommerce My Account layout
   ========================================================== */
.woocommerce-account .woocommerce{
  display:grid;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr);
  gap:clamp(28px,4vw,54px);
  align-items:start;
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after{
  display:none!important;
  content:none!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  float:none!important;
  width:auto!important;
  margin:0!important;
  position:sticky;
  top:calc(var(--sk-header-height,86px) + 28px);
}
.admin-bar.woocommerce-account .woocommerce-MyAccount-navigation{
  top:calc(var(--sk-header-height,86px) + 60px);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin:0!important;
  padding:10px!important;
  list-style:none!important;
  border:1px solid var(--sk-border);
  border-radius:var(--sk-radius);
  background:var(--sk-bg-soft);
  box-shadow:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li + li{
  margin-top:4px!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:11px 14px;
  border-radius:12px;
  color:var(--sk-text);
  font-weight:700;
  font-size:.94rem;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background:#fff;
  color:var(--sk-primary);
  transform:translateX(2px);
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  background:var(--sk-primary);
  color:#fff;
  box-shadow:0 10px 24px color-mix(in srgb,var(--sk-primary) 18%,transparent);
}
.woocommerce-account .woocommerce-MyAccount-content{
  float:none!important;
  width:auto!important;
  min-width:0;
  margin:0!important;
  padding:clamp(28px,4vw,48px);
  border:1px solid var(--sk-border);
  border-radius:var(--sk-radius);
  background:#fff;
  box-shadow:0 18px 50px rgba(16,24,40,.07);
}
.woocommerce-account .woocommerce-MyAccount-content > :first-child{
  margin-top:0!important;
}
.woocommerce-account .woocommerce-MyAccount-content > :last-child{
  margin-bottom:0!important;
}
.woocommerce-account .woocommerce-MyAccount-content p{
  max-width:780px;
}
.woocommerce-account .woocommerce-MyAccount-content a{
  font-weight:650;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{
  margin-top:0;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:28px;
}
.woocommerce-account .woocommerce-Address{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:24px;
  border:1px solid var(--sk-border);
  border-radius:16px;
  background:var(--sk-bg-soft);
}
.woocommerce-account .woocommerce-Address-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.woocommerce-account .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Address-title::after{
  display:none!important;
}
.woocommerce-account .woocommerce-Address-title h3{
  margin:0;
  font-size:1.1rem;
}
.woocommerce-account .woocommerce-Address-title a{
  float:none!important;
  font-size:.82rem;
}
.woocommerce-account .woocommerce-Address address{
  margin-top:16px;
  font-style:normal;
  line-height:1.7;
}
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--sk-border);
  border-radius:14px;
  background:#fff;
}
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .woocommerce-table th,
.woocommerce-account .woocommerce-table td{
  padding:14px 16px!important;
  border:0!important;
  border-bottom:1px solid var(--sk-border)!important;
  text-align:left;
}
.woocommerce-account .woocommerce-orders-table tr:last-child td,
.woocommerce-account .woocommerce-table tr:last-child td{
  border-bottom:0!important;
}
.woocommerce-account .woocommerce-orders-table thead th,
.woocommerce-account .woocommerce-table thead th{
  background:var(--sk-bg-soft);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.woocommerce-account form .form-row{
  margin-bottom:18px!important;
}
.woocommerce-account form .button{
  margin-top:8px!important;
}
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error{
  margin:0 0 24px!important;
}

@media (max-width:980px){
  .woocommerce-account .woocommerce{
    grid-template-columns:1fr;
    gap:24px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation{
    position:static;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation li + li{
    margin-top:0!important;
  }
}
@media (max-width:700px){
  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    grid-template-columns:1fr;
  }
  .woocommerce-account .woocommerce-MyAccount-content{
    padding:22px 18px;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
    grid-template-columns:1fr;
  }
  .woocommerce-account .woocommerce-orders-table{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}


/* ==========================================================
   SK Framework 1.5.8 — compact default page heroes
   ========================================================== */

/* Standard theme-generated page hero: still premium, but no longer oversized. */
.sk-page-hero{
  padding:clamp(48px,6vw,82px) 0;
}
.sk-page-hero h1{
  font-size:clamp(2.35rem,4.8vw,4.4rem);
  line-height:1;
}

/* Utility / commerce pages should get users to the functional content quickly. */
body.woocommerce-cart .sk-page-hero,
body.woocommerce-checkout .sk-page-hero,
body.woocommerce-account .sk-page-hero,
body.sk-commerce .sk-page-hero{
  padding:clamp(34px,4.2vw,58px) 0;
}
body.woocommerce-cart .sk-page-hero h1,
body.woocommerce-checkout .sk-page-hero h1,
body.woocommerce-account .sk-page-hero h1,
body.sk-commerce .sk-page-hero h1{
  font-size:clamp(2rem,3.8vw,3.45rem);
}
body.woocommerce-cart .sk-page-hero__eyebrow,
body.woocommerce-checkout .sk-page-hero__eyebrow,
body.woocommerce-account .sk-page-hero__eyebrow{
  margin-bottom:10px;
}
body.woocommerce-cart .sk-content-wrap,
body.woocommerce-checkout .sk-content-wrap,
body.woocommerce-account .sk-content-wrap{
  padding-top:clamp(34px,4.5vw,58px);
}

@media (max-width:700px){
  .sk-page-hero{
    padding:38px 0 42px;
  }
  .sk-page-hero h1{
    font-size:clamp(2rem,10vw,2.8rem);
  }
  body.woocommerce-cart .sk-page-hero,
  body.woocommerce-checkout .sk-page-hero,
  body.woocommerce-account .sk-page-hero,
  body.sk-commerce .sk-page-hero{
    padding:28px 0 32px;
  }
}


/* ==========================================================
   SK Framework 1.5.8 — wider WooCommerce My Account dashboard
   ========================================================== */
body.woocommerce-account .sk-woocommerce-wrap{
  width:min(calc(100% - 56px),1480px);
  max-width:1480px;
  margin-inline:auto;
}
body.woocommerce-account .woocommerce{
  grid-template-columns:minmax(210px,245px) minmax(0,1fr);
  gap:clamp(30px,3.2vw,48px);
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{
  padding:8px!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a{
  min-height:46px;
  padding:10px 14px;
}
body.woocommerce-account .woocommerce-MyAccount-content{
  width:100%!important;
  max-width:none!important;
  padding:clamp(32px,3.4vw,52px);
}
body.woocommerce-account .woocommerce-MyAccount-content > p{
  max-width:920px;
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type{
  font-size:1.03rem;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
  gap:28px;
}
@media (min-width:1280px){
  body.woocommerce-account .woocommerce{
    grid-template-columns:240px minmax(0,1fr);
    gap:46px;
  }
  body.woocommerce-account .woocommerce-MyAccount-content{
    min-height:360px;
  }
}
@media (max-width:980px){
  body.woocommerce-account .sk-woocommerce-wrap{
    width:min(calc(100% - 34px),var(--sk-container));
  }
}
@media (max-width:700px){
  body.woocommerce-account .sk-woocommerce-wrap{
    width:min(calc(100% - 28px),var(--sk-container));
  }
}


/* ==========================================================
   SK Framework 1.5.8 — remove global container cap from My Account
   ========================================================== */
body.woocommerce-account .sk-woocommerce-main > .sk-container.sk-woocommerce-wrap{
  width:calc(100% - 64px)!important;
  max-width:1560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.woocommerce-account .sk-woocommerce-main > .sk-container.sk-woocommerce-wrap > .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  grid-template-columns:250px minmax(0,1fr);
  gap:clamp(34px,3vw,52px);
}
body.woocommerce-account .woocommerce-MyAccount-content{
  min-width:0;
  width:100%!important;
  max-width:none!important;
}
body.woocommerce-account .woocommerce-MyAccount-content > p{
  max-width:1050px;
}
@media (min-width:1600px){
  body.woocommerce-account .sk-woocommerce-main > .sk-container.sk-woocommerce-wrap{
    max-width:1640px!important;
  }
  body.woocommerce-account .sk-woocommerce-main > .sk-container.sk-woocommerce-wrap > .woocommerce{
    grid-template-columns:260px minmax(0,1fr);
  }
}
@media (max-width:980px){
  body.woocommerce-account .sk-woocommerce-main > .sk-container.sk-woocommerce-wrap{
    width:calc(100% - 34px)!important;
    max-width:none!important;
  }
  body.woocommerce-account .sk-woocommerce-main > .sk-container.sk-woocommerce-wrap > .woocommerce{
    grid-template-columns:1fr;
  }
}
@media (max-width:700px){
  body.woocommerce-account .sk-woocommerce-main > .sk-container.sk-woocommerce-wrap{
    width:calc(100% - 28px)!important;
  }
}


/* ==========================================================
   SK Framework 1.5.8 — My Account page template width fix
   ========================================================== */

/*
 * WooCommerce My Account is rendered through page.php rather than the main
 * WooCommerce content wrapper. It must therefore bypass .sk-reading-width.
 */
body.woocommerce-account .sk-account-page-shell{
  width:min(calc(100% - 64px),1560px);
  margin-inline:auto;
}
body.woocommerce-account .sk-account-page-content{
  width:100%;
  max-width:none;
  margin:0;
}
body.woocommerce-account .sk-account-page-content > .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  grid-template-columns:250px minmax(0,1fr);
  gap:clamp(36px,3.3vw,54px);
}
body.woocommerce-account .sk-account-page-content .woocommerce-MyAccount-content{
  width:100%!important;
  max-width:none!important;
}
body.woocommerce-account .sk-account-page-content .woocommerce-MyAccount-content > p{
  max-width:1100px;
}
@media (min-width:1600px){
  body.woocommerce-account .sk-account-page-shell{
    width:min(calc(100% - 80px),1660px);
  }
  body.woocommerce-account .sk-account-page-content > .woocommerce{
    grid-template-columns:260px minmax(0,1fr);
  }
}
@media (max-width:980px){
  body.woocommerce-account .sk-account-page-shell{
    width:calc(100% - 34px);
  }
  body.woocommerce-account .sk-account-page-content > .woocommerce{
    grid-template-columns:1fr;
  }
}
@media (max-width:700px){
  body.woocommerce-account .sk-account-page-shell{
    width:calc(100% - 28px);
  }
}


/* ==========================================================
   SK Framework 1.5.8 — mobile nav stacking + full-height scroll
   ========================================================== */

@media (max-width:980px){

  /* The backdrop must blur only the page behind the drawer. */
  .sk-mobile-nav-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:1200!important;
    display:block!important;
    background:rgba(7,13,20,.42)!important;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease,visibility .28s ease;
  }
  .sk-mobile-nav-backdrop.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  /* Drawer always sits above the blurred backdrop and flush to viewport edges. */
  .sk-primary-nav,
  body.sk-header-style-dark .sk-primary-nav{
    position:fixed!important;
    z-index:1205!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(420px,92vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:var(--sk-text)!important;
    box-shadow:-28px 0 80px rgba(9,17,27,.20)!important;
    overflow:hidden!important;
    opacity:1!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(104%,0,0);
    transition:transform .38s cubic-bezier(.2,.78,.2,1),visibility .38s;
  }
  .sk-primary-nav.is-open{
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
  }

  /* WordPress admin bar should not push the drawer down. The drawer is viewport based. */
  .admin-bar .sk-primary-nav{
    top:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
  }

  /* Header remains visible above normal page content, but below open mobile drawer. */
  .sk-site-header{z-index:1100!important}
  .sk-menu-toggle{z-index:1210!important}

  .sk-mobile-nav-head{
    position:relative!important;
    z-index:3;
    top:auto!important;
    flex:0 0 auto;
    min-height:82px;
    padding:16px 22px;
    background:#fff!important;
    border-bottom:1px solid rgba(17,24,39,.08);
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  /*
   * Only the menu list scrolls. Header and bottom CTA remain visible.
   * Scrollbars are hidden but mouse wheel/touch scrolling still works.
   */
  .sk-primary-nav{
    display:flex!important;
    flex-direction:column!important;
  }
  .sk-primary-nav > ul{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    scrollbar-width:none;
    padding:20px 18px 24px!important;
  }
  .sk-primary-nav > ul::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
  }

  .sk-mobile-nav-cta{
    position:relative;
    z-index:2;
    flex:0 0 auto!important;
    margin:14px 18px 20px!important;
  }

  /* Prevent any page-level blur/filter from affecting the drawer itself. */
  body.sk-mobile-nav-open .sk-primary-nav,
  body.sk-mobile-nav-open .sk-primary-nav *{
    filter:none!important;
  }
}

/* On very short screens, reduce fixed chrome so more menu items are visible. */
@media (max-width:980px) and (max-height:640px){
  .sk-mobile-nav-head{
    min-height:68px;
    padding:11px 18px;
  }
  .sk-mobile-nav-brand img{
    max-height:40px;
  }
  .sk-mobile-nav-cta{
    min-height:46px;
    margin:10px 18px 14px!important;
  }
}


/* ==========================================================
   SK Framework 1.5.8 — correct mobile drawer stacking context
   ========================================================== */

@media (max-width:980px){

  /*
   * The drawer is a child of .sk-site-header, so it cannot visually escape
   * the header's stacking context. Keep the backdrop beneath that entire
   * stacking context instead of trying to place it between header and nav.
   */
  .sk-mobile-nav-backdrop{
    z-index:1050!important;
  }

  .sk-site-header{
    z-index:1100!important;
  }

  .sk-primary-nav,
  body.sk-header-style-dark .sk-primary-nav{
    z-index:1205!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .sk-primary-nav *,
  .sk-primary-nav.is-open,
  .sk-primary-nav.is-open *{
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  /*
   * Keep the rest of the page dimmed/blurred while ensuring the header/menu
   * remains perfectly sharp above it.
   */
  body.sk-mobile-nav-open .sk-site-header{
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}


/* ==========================================================
   SK Framework 1.5.8 — desktop CTA mirrored in mobile drawer
   ========================================================== */
@media (max-width:980px){
  .sk-primary-nav .sk-mobile-nav-cta{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    width:calc(100% - 36px)!important;
    min-height:54px;
    margin:14px 18px 20px!important;
    padding:14px 20px!important;
    flex:0 0 auto!important;
    border:0!important;
    border-radius:999px!important;
    background:var(--sk-primary)!important;
    color:#fff!important;
    font-size:.9rem!important;
    font-weight:800!important;
    line-height:1.2;
    text-decoration:none!important;
    box-shadow:0 12px 28px color-mix(in srgb,var(--sk-primary) 20%,transparent);
    transform:none!important;
    opacity:1!important;
  }
  .sk-primary-nav .sk-mobile-nav-cta::after{
    display:none!important;
    content:none!important;
  }
  .sk-primary-nav .sk-mobile-nav-cta span{
    flex:0 0 auto;
    font-size:1.15rem;
    line-height:1;
    transition:transform .2s ease;
  }
  .sk-primary-nav .sk-mobile-nav-cta:hover{
    background:color-mix(in srgb,var(--sk-primary) 92%,#000)!important;
    color:#fff!important;
  }
  .sk-primary-nav .sk-mobile-nav-cta:hover span{
    transform:translateX(3px);
  }
}

/* ================================================================
   Intelligent WooCommerce product search
   ================================================================ */
body.sk-product-search-open{overflow:hidden;overscroll-behavior:none}
.sk-product-search{position:relative;display:flex;align-items:center}
/* The overlay is moved to <body> by JS so transformed/sticky header ancestors can never
   clip the blur layer or make position:fixed relative to the header. */
.sk-product-search-overlay{
  position:fixed;inset:0;z-index:2147483000;
  display:flex;align-items:center;justify-content:center;
  width:100vw;height:100vh;height:100dvh;
  padding:clamp(16px,3vw,32px);
  background:rgba(12,18,25,.58);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  opacity:0;visibility:hidden;pointer-events:none;
  overflow:hidden;isolation:isolate;
  transition:opacity 180ms ease,visibility 180ms ease;
}
.sk-product-search-overlay.is-open,body.sk-product-search-open .sk-product-search-overlay{opacity:1;visibility:visible;pointer-events:auto}
.sk-product-search-dialog{
  width:min(920px,100%);
  max-height:calc(100vh - clamp(32px,6vw,64px));
  max-height:calc(100dvh - clamp(32px,6vw,64px));
  min-height:0;overflow:hidden;
  display:flex;flex-direction:column;background:#fff;color:var(--sk-text);
  border:1px solid rgba(23,32,42,.10);border-radius:24px;
  box-shadow:0 35px 100px rgba(5,12,20,.28);
  transform:translateY(-12px) scale(.985);transition:transform 180ms ease;
}
.sk-product-search-overlay.is-open .sk-product-search-dialog,body.sk-product-search-open .sk-product-search-dialog{transform:translateY(0) scale(1)}
.sk-product-search-dialog__top{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 26px 18px}
.sk-product-search-eyebrow{display:block;margin-bottom:3px;color:var(--sk-muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sk-product-search-dialog h2{margin:0;font-family:var(--sk-font-heading);font-size:clamp(23px,3vw,31px);line-height:1.15;color:var(--sk-text)}
.sk-product-search-close{width:40px;height:40px;border:0;border-radius:50%;background:var(--sk-bg-soft);color:var(--sk-text);font:400 27px/1 sans-serif;cursor:pointer;transition:transform var(--sk-transition),background var(--sk-transition)}
.sk-product-search-close:hover{transform:rotate(4deg);background:#edf1f4}
.sk-product-search-form{flex:0 0 auto;position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:0 26px}
.sk-product-search-form__icon{position:absolute;left:18px;top:50%;width:21px;height:21px;transform:translateY(-50%);pointer-events:none;color:var(--sk-muted)}
.sk-product-search-form__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.sk-product-search-input{width:100%;height:58px;padding:0 18px 0 52px;border:1px solid var(--sk-border);border-radius:14px;background:#fff;color:var(--sk-text);font:600 16px/1.2 var(--sk-font-body);outline:0;transition:border-color var(--sk-transition),box-shadow var(--sk-transition)}
.sk-product-search-input::placeholder{color:#8a929d;font-weight:500}
.sk-product-search-input:focus{border-color:var(--sk-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--sk-primary) 12%,transparent)}
.sk-product-search-submit{height:58px;padding:0 23px;border:0;border-radius:14px;background:var(--sk-primary);color:#fff;font:800 14px/1 var(--sk-font-body);cursor:pointer;transition:transform var(--sk-transition),filter var(--sk-transition)}
.sk-product-search-submit:hover{transform:translateY(-1px);filter:brightness(.95)}
.sk-product-search-status{flex:0 0 auto;min-height:43px;display:flex;align-items:center;padding:10px 28px 6px;color:var(--sk-muted);font-size:12px;font-weight:600}
.sk-product-search.is-loading .sk-product-search-status:before,.sk-product-search-overlay.is-loading .sk-product-search-status:before{content:"";width:12px;height:12px;margin-right:9px;border:2px solid rgba(23,32,42,.16);border-top-color:var(--sk-primary);border-radius:50%;animation:skSearchSpin .7s linear infinite}
@keyframes skSearchSpin{to{transform:rotate(360deg)}}
.sk-product-search-results{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 14px 10px;scrollbar-width:thin}
.sk-product-search-result{display:grid;grid-template-columns:70px minmax(0,1fr) 34px;align-items:center;gap:15px;padding:11px 12px;border-radius:15px;color:inherit;text-decoration:none;transition:background var(--sk-transition),transform var(--sk-transition)}
.sk-product-search-result:hover,.sk-product-search-result.is-selected{background:var(--sk-bg-soft);transform:translateX(2px)}
.sk-product-search-result__image{width:70px;height:70px;border-radius:12px;overflow:hidden;background:var(--sk-bg-soft)}
.sk-product-search-result__image img{width:100%;height:100%;display:block;object-fit:cover}
.sk-product-search-result__body{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.sk-product-search-result__meta{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sk-muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.sk-product-search-result__meta a{color:inherit;text-decoration:none;pointer-events:none}
.sk-product-search-result__title{display:block;max-width:100%;margin:2px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sk-text);font-size:15px;line-height:1.3}
.sk-product-search-result__price{color:var(--sk-primary);font-size:13px;font-weight:800}
.sk-product-search-result__price del{opacity:.48;font-weight:600}.sk-product-search-result__price ins{text-decoration:none}
.sk-product-search-result__arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--sk-border);font-size:16px;transition:transform var(--sk-transition),background var(--sk-transition)}
.sk-product-search-result:hover .sk-product-search-result__arrow,.sk-product-search-result.is-selected .sk-product-search-result__arrow{transform:translateX(2px);background:var(--sk-primary);color:#fff;border-color:var(--sk-primary)}
.sk-product-search-footer{flex:0 0 auto;display:flex;justify-content:space-between;gap:20px;padding:15px 26px 20px;border-top:1px solid var(--sk-border);color:var(--sk-muted);font-size:11px;line-height:1.45}
.sk-product-search-footer a{flex:none;color:var(--sk-primary);font-weight:800;text-decoration:none}
.sk-search-toggle svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}

/* Dedicated ranked WooCommerce search results page. */
.sk-product-search-page{padding-top:clamp(42px,6vw,78px);padding-bottom:clamp(62px,8vw,110px)}
.sk-product-search-page__head{max-width:780px;margin-bottom:34px}
.sk-product-search-page__eyebrow{display:block;margin-bottom:7px;color:var(--sk-primary);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.sk-product-search-page__head h1{margin:0 0 10px;font-family:var(--sk-font-heading);font-size:clamp(34px,5vw,58px);line-height:1.06}
.sk-product-search-page__head p{margin:0;color:var(--sk-muted)}
.sk-product-search-page__form{max-width:760px;margin:0 0 38px}
.sk-product-search-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.sk-product-search-card{position:relative;min-width:0}
.sk-product-search-card__image{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:var(--sk-radius);background:var(--sk-bg-soft)}
.sk-product-search-card__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.sk-product-search-card:hover .sk-product-search-card__image img{transform:scale(1.035)}
.sk-product-search-card__stock{position:absolute;left:12px;top:12px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 4px 18px rgba(0,0,0,.08);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.sk-product-search-card__body{padding:15px 3px 0}
.sk-product-search-card__category{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sk-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.sk-product-search-card__category a{color:inherit;text-decoration:none}
.sk-product-search-card h2{margin:4px 0 7px;font-family:var(--sk-font-heading);font-size:17px;line-height:1.3}
.sk-product-search-card h2 a{color:var(--sk-text);text-decoration:none}
.sk-product-search-card__price{color:var(--sk-primary);font-weight:800}.sk-product-search-card__price ins{text-decoration:none}.sk-product-search-card__price del{opacity:.5;font-weight:500}
.sk-product-search-empty{padding:46px;border:1px solid var(--sk-border);border-radius:var(--sk-radius);background:var(--sk-bg-soft);text-align:center}
.sk-product-search-empty h2{margin-top:0}

@media (max-width:980px){
  .sk-product-search-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
}
@media (max-width:700px){
  .sk-product-search-overlay{padding:0;align-items:stretch}
  .sk-product-search-dialog{
    width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;
    border:0;border-radius:0;transform:translateY(14px) scale(1)
  }
  .sk-product-search-dialog__top{padding:18px 16px 13px;padding-top:max(18px,env(safe-area-inset-top))}
  .sk-product-search-dialog h2{font-size:clamp(23px,7vw,29px)}
  .sk-product-search-close{width:38px;height:38px;flex:0 0 38px}
  .sk-product-search-form{grid-template-columns:1fr;margin:0 16px}
  .sk-product-search-input{height:54px;padding-left:48px;font-size:16px}
  .sk-product-search-form__icon{left:16px;width:20px;height:20px}
  .sk-product-search-submit{display:none}
  .sk-product-search-status{min-height:38px;padding:8px 18px 5px}
  .sk-product-search-results{padding:0 7px 8px}
  .sk-product-search-result{grid-template-columns:60px minmax(0,1fr) 30px;gap:11px;padding:8px 9px}
  .sk-product-search-result__image{width:60px;height:60px}
  .sk-product-search-result__title{font-size:14px}
  .sk-product-search-footer{margin-top:auto;padding:11px 16px max(14px,env(safe-area-inset-bottom));flex-direction:column;gap:6px}
  .sk-product-search-footer span{display:none}
  .sk-product-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media (max-width:430px){
  .sk-product-search-dialog__top{padding-left:14px;padding-right:14px}
  .sk-product-search-form{margin-left:14px;margin-right:14px}
  .sk-product-search-result{grid-template-columns:54px minmax(0,1fr) 28px;gap:9px}
  .sk-product-search-result__image{width:54px;height:54px;border-radius:10px}
  .sk-product-search-result__arrow{width:28px;height:28px}
  .sk-product-search-card h2{font-size:15px}
  .sk-product-search-grid{gap:14px 12px}
}
@media (max-height:650px) and (min-width:701px){
  .sk-product-search-overlay{align-items:center;padding:14px}
  .sk-product-search-dialog{max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px)}
  .sk-product-search-dialog__top{padding-top:17px;padding-bottom:12px}
  .sk-product-search-input,.sk-product-search-submit{height:50px}
  .sk-product-search-status{min-height:34px;padding-top:6px;padding-bottom:4px}
}
@media (max-width:430px){
  .sk-product-search-card h2{font-size:15px}
  .sk-product-search-grid{gap:14px 12px}
}

/* SK Framework 1.5.14 — independent Customizer header colour controls. */
.sk-topbar,
.sk-topbar--dark,
.sk-topbar--primary,
.sk-topbar--light {
  background:var(--sk-topbar-bg);
  color:var(--sk-topbar-text);
}
.sk-topbar a,
.sk-topbar__address { color:var(--sk-topbar-text); }

.sk-site-header,
body.sk-header-style-dark .sk-site-header,
body.sk-header-style-borderless .sk-site-header { background:var(--sk-header-bg); }
body.sk-header-style-floating .sk-header-shell { background:var(--sk-header-bg); }
.sk-site-title,
.sk-primary-nav a,
.sk-menu-toggle,
body.sk-header-style-dark .sk-site-title,
body.sk-header-style-dark .sk-primary-nav a,
body.sk-header-style-dark .sk-menu-toggle { color:var(--sk-header-text); }
.sk-primary-nav a:hover,
.sk-primary-nav .current-menu-item > a,
body.sk-header-style-dark .sk-primary-nav a:hover,
body.sk-header-style-dark .sk-primary-nav .current-menu-item > a { color:var(--sk-header-hover); }
/* Header CTA and the active/current navigation pill share the Customizer button colours.
   !important is intentional here: header presets and mobile navigation rules are more specific. */
.sk-site-header .sk-header-cta,
.sk-primary-nav .sk-mobile-nav-cta {
  background:var(--sk-header-button-bg)!important;
  background-color:var(--sk-header-button-bg)!important;
  color:var(--sk-header-button-text)!important;
  border-color:var(--sk-header-button-bg)!important;
}
.sk-site-header .sk-header-cta:hover,
.sk-primary-nav .sk-mobile-nav-cta:hover {
  background:var(--sk-header-button-bg)!important;
  background-color:var(--sk-header-button-bg)!important;
  color:var(--sk-header-button-text)!important;
}
.sk-site-header .sk-primary-nav .current-menu-item > a,
.sk-site-header .sk-primary-nav .current_page_item > a,
.sk-site-header .sk-primary-nav .current-menu-ancestor > a,
body.sk-header-style-dark .sk-site-header .sk-primary-nav .current-menu-item > a,
body.sk-header-style-dark .sk-site-header .sk-primary-nav .current_page_item > a,
body.sk-header-style-dark .sk-site-header .sk-primary-nav .current-menu-ancestor > a {
  background:var(--sk-header-button-bg)!important;
  background-color:var(--sk-header-button-bg)!important;
  color:var(--sk-header-button-text)!important;
}
.sk-site-header .sk-primary-nav .current-menu-item > a:hover,
.sk-site-header .sk-primary-nav .current_page_item > a:hover,
.sk-site-header .sk-primary-nav .current-menu-ancestor > a:hover {
  background:var(--sk-header-button-bg)!important;
  color:var(--sk-header-button-text)!important;
}


/* SK Framework 1.5.15 — custom header hover colour has final priority.
   Keep current/active pills governed by the dedicated Button / Active Item controls. */
.sk-site-header .sk-primary-nav li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover,
body.sk-header-style-dark .sk-site-header .sk-primary-nav li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover,
body.sk-header-style-floating .sk-site-header .sk-primary-nav li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover,
body.sk-header-style-borderless .sk-site-header .sk-primary-nav li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover {
  color:var(--sk-header-hover)!important;
}

/* Dropdown links must honour the custom hover colour too. */
.sk-site-header .sk-primary-nav .sub-menu li > a:hover,
body.sk-header-style-dark .sk-site-header .sk-primary-nav .sub-menu li > a:hover {
  color:var(--sk-header-hover)!important;
}


/* SK Framework 1.5.17 — the custom Link Hover colour controls the hover fill,
   not just the link text. This intentionally overrides preset hover backgrounds. */
.sk-site-header .sk-primary-nav li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover,
body.sk-header-style-dark .sk-site-header .sk-primary-nav li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover,
body.sk-header-style-floating .sk-site-header .sk-primary-nav li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover,
body.sk-header-style-borderless .sk-site-header .sk-primary-nav li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover {
  background:var(--sk-header-hover)!important;
  background-color:var(--sk-header-hover)!important;
  color:var(--sk-header-button-text)!important;
}

/* Dropdowns use the same explicit custom hover fill. */
.sk-site-header .sk-primary-nav .sub-menu li > a:hover,
body.sk-header-style-dark .sk-site-header .sk-primary-nav .sub-menu li > a:hover {
  background:var(--sk-header-hover)!important;
  background-color:var(--sk-header-hover)!important;
  color:var(--sk-header-button-text)!important;
}

/* SK Framework 1.5.17 — keep the mobile menu toggle visible with custom header colours. */
@media (max-width:980px){
  .sk-site-header .sk-menu-toggle,
  body.sk-header-style-dark .sk-site-header .sk-menu-toggle,
  body.sk-header-style-borderless .sk-site-header .sk-menu-toggle,
  body.sk-header-style-floating .sk-site-header .sk-menu-toggle{
    background:var(--sk-header-button-bg)!important;
    background-color:var(--sk-header-button-bg)!important;
    color:var(--sk-header-button-text)!important;
    border-color:var(--sk-header-button-bg)!important;
  }
  .sk-site-header .sk-menu-toggle:hover,
  .sk-site-header .sk-menu-toggle:focus-visible{
    background:var(--sk-header-hover)!important;
    background-color:var(--sk-header-hover)!important;
    color:var(--sk-header-button-text)!important;
    border-color:var(--sk-header-hover)!important;
  }
  .sk-site-header .sk-menu-toggle__line{
    background:currentColor!important;
  }
}


/* SK Framework 1.5.18 — cleaner mobile navigation chrome.
   The header hamburger belongs beside the site logo only; once the drawer is
   open the drawer's own close control takes over. The duplicate drawer logo
   is hidden to avoid repeating the brand inside the navigation panel. */
@media (max-width:980px){
  body.sk-mobile-nav-open .sk-site-header .sk-menu-toggle{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .sk-mobile-nav-brand{
    display:none!important;
  }
  .sk-mobile-nav-head{
    justify-content:flex-end!important;
  }
}

/* SK Framework 1.5.19 — selectable primary navigation interaction styles.
   All variants honour the Customizer header colour variables. */
@media (min-width:981px){
  .sk-site-header .sk-primary-nav > ul > li > a{
    position:relative;
    isolation:isolate;
    transition:color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
  }

  /* Solid Pill — bold, modern filled state. */
  body.sk-menu-style-solid-pill .sk-site-header .sk-primary-nav > ul > li.current-menu-item > a,
  body.sk-menu-style-solid-pill .sk-site-header .sk-primary-nav > ul > li.current_page_item > a,
  body.sk-menu-style-solid-pill .sk-site-header .sk-primary-nav > ul > li.current-menu-ancestor > a{
    background:var(--sk-header-button-bg)!important;
    color:var(--sk-header-button-text)!important;
    border-radius:12px;
  }
  body.sk-menu-style-solid-pill .sk-site-header .sk-primary-nav > ul > li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover{
    background:var(--sk-header-hover)!important;
    color:var(--sk-header-button-text)!important;
    border-radius:12px;
    transform:translateY(-1px);
  }

  /* Outline Pill — crisp border, airy interior. */
  body.sk-menu-style-outline-pill .sk-site-header .sk-primary-nav > ul > li > a{border:1px solid transparent;}
  body.sk-menu-style-outline-pill .sk-site-header .sk-primary-nav > ul > li.current-menu-item > a,
  body.sk-menu-style-outline-pill .sk-site-header .sk-primary-nav > ul > li.current_page_item > a,
  body.sk-menu-style-outline-pill .sk-site-header .sk-primary-nav > ul > li.current-menu-ancestor > a{
    background:transparent!important;
    color:var(--sk-header-button-bg)!important;
    border-color:var(--sk-header-button-bg)!important;
    border-radius:999px;
  }
  body.sk-menu-style-outline-pill .sk-site-header .sk-primary-nav > ul > li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover{
    background:transparent!important;
    color:var(--sk-header-hover)!important;
    border-color:var(--sk-header-hover)!important;
    border-radius:999px;
  }

  /* Animated Underline — editorial and minimal, with a smooth accent rule. */
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li > a{background:transparent!important;border-radius:0;padding-left:11px;padding-right:11px;}
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li > a::after{
    content:"";position:absolute;left:11px;right:11px;bottom:6px;height:3px;border-radius:999px;background:var(--sk-header-hover);transform:scaleX(0);transform-origin:center;transition:transform .22s ease;
  }
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li.current-menu-item > a,
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li.current_page_item > a,
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li.current-menu-ancestor > a{
    background:transparent!important;color:var(--sk-header-button-bg)!important;
  }
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li.current-menu-item > a::after,
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li.current_page_item > a::after,
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li.current-menu-ancestor > a::after{background:var(--sk-header-button-bg);transform:scaleX(1);}
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover{
    background:transparent!important;color:var(--sk-header-hover)!important;
  }
  body.sk-menu-style-underline .sk-site-header .sk-primary-nav > ul > li > a:hover::after{transform:scaleX(1);}

  /* Soft Glow — subtle tinted surface with an accent halo. */
  body.sk-menu-style-soft-glow .sk-site-header .sk-primary-nav > ul > li.current-menu-item > a,
  body.sk-menu-style-soft-glow .sk-site-header .sk-primary-nav > ul > li.current_page_item > a,
  body.sk-menu-style-soft-glow .sk-site-header .sk-primary-nav > ul > li.current-menu-ancestor > a{
    background:color-mix(in srgb,var(--sk-header-button-bg) 18%,transparent)!important;
    color:var(--sk-header-button-bg)!important;
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sk-header-button-bg) 32%,transparent),0 8px 24px color-mix(in srgb,var(--sk-header-button-bg) 18%,transparent);
    border-radius:12px;
  }
  body.sk-menu-style-soft-glow .sk-site-header .sk-primary-nav > ul > li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover{
    background:color-mix(in srgb,var(--sk-header-hover) 16%,transparent)!important;
    color:var(--sk-header-hover)!important;
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sk-header-hover) 28%,transparent),0 8px 22px color-mix(in srgb,var(--sk-header-hover) 14%,transparent);
    border-radius:12px;
  }

  /* Clean Text — no box; colour and a tiny lift provide the interaction. */
  body.sk-menu-style-clean-text .sk-site-header .sk-primary-nav > ul > li.current-menu-item > a,
  body.sk-menu-style-clean-text .sk-site-header .sk-primary-nav > ul > li.current_page_item > a,
  body.sk-menu-style-clean-text .sk-site-header .sk-primary-nav > ul > li.current-menu-ancestor > a{
    background:transparent!important;color:var(--sk-header-button-bg)!important;
  }
  body.sk-menu-style-clean-text .sk-site-header .sk-primary-nav > ul > li:not(.current-menu-item):not(.current_page_item):not(.current-menu-ancestor) > a:hover{
    background:transparent!important;color:var(--sk-header-hover)!important;transform:translateY(-1px);
  }
}

@media (max-width:700px){
  .sk-post-card__body{padding:22px;}
  .sk-post-card__excerpt{-webkit-line-clamp:3;}
  .sk-article__meta{margin-top:-8px;margin-bottom:26px;}
  .sk-article__hero-media{border-radius:var(--sk-radius);}
  .sk-article-nav .nav-links{grid-template-columns:1fr;}
  .sk-article-nav .nav-next{text-align:left;}
}

/* Blog presentation refinements — 1.5.23 */
.sk-blog-hero{padding:clamp(68px,8vw,112px) 0;background:linear-gradient(135deg,var(--sk-bg-soft),#fff);border-bottom:1px solid var(--sk-border)}
.sk-blog-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:0 0 14px}.sk-blog-hero p{max-width:680px;color:var(--sk-muted);font-size:1.08rem;margin:0}
.sk-blog-index .sk-content-wrap{padding-top:clamp(52px,7vw,90px);padding-bottom:clamp(70px,9vw,120px)}
.sk-blog-index .sk-post-grid{grid-auto-rows:1fr}.sk-blog-index .sk-post-card{width:100%}
.sk-blog-index .sk-post-card__thumb{width:100%;height:auto;aspect-ratio:16/10}.sk-blog-index .sk-post-card__body{display:flex!important;visibility:visible!important;opacity:1!important}
.sk-blog-index .sk-post-card__meta,.sk-blog-index .sk-post-card__title,.sk-blog-index .sk-post-card__excerpt,.sk-blog-index .sk-post-card__readmore{display:flex;visibility:visible;opacity:1}.sk-blog-index .sk-post-card__title{display:block}
.sk-blog-index .sk-post-card__excerpt{display:-webkit-box}.sk-blog-pagination{margin-top:48px}
.sk-blog-pagination .nav-links,.sk-blog-pagination .page-numbers{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sk-blog-pagination ul.page-numbers{list-style:none;padding:0;margin:0}
.sk-blog-pagination a,.sk-blog-pagination span.page-numbers{min-width:42px;min-height:42px;display:grid;place-items:center;border:1px solid var(--sk-border);border-radius:10px;text-decoration:none}.sk-blog-pagination .current{background:var(--sk-primary);color:#fff;border-color:var(--sk-primary)}
.sk-article-hero{padding:clamp(64px,8vw,110px) 0 clamp(78px,10vw,138px);background:linear-gradient(135deg,var(--sk-bg-soft),#fff);border-bottom:1px solid var(--sk-border)}
.sk-article-hero__inner{width:min(100%,900px);margin-inline:auto;text-align:center}.sk-article-hero h1{font-size:clamp(2.65rem,6vw,5.25rem);margin:0}.sk-article-hero__excerpt{max-width:720px;margin:24px auto 0;color:var(--sk-muted);font-size:clamp(1.05rem,1.7vw,1.22rem)}
.sk-single-post .sk-article__meta{margin:0 0 22px;justify-content:center}.sk-article-shell{margin-top:clamp(-72px,-5vw,-48px);position:relative;padding-bottom:clamp(76px,9vw,126px)}
.sk-single-post .sk-article__hero-media{width:min(100%,1060px);aspect-ratio:16/8.5;margin:0 auto clamp(42px,6vw,72px);border:8px solid #fff}.sk-single-post .sk-article__hero-media img{width:100%;height:100%;max-height:none;object-fit:cover}
.sk-article__hero-placeholder{width:min(100%,1060px);aspect-ratio:16/7;margin:0 auto clamp(42px,6vw,72px);border:8px solid #fff;border-radius:calc(var(--sk-radius) + 6px);box-shadow:0 22px 60px rgba(16,24,40,.11);display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--sk-primary) 10%,white),color-mix(in srgb,var(--sk-accent) 13%,white));color:var(--sk-primary);font-size:3rem}
.sk-single-post .sk-article__content{width:min(100%,760px);font-size:clamp(1.02rem,1.25vw,1.1rem);line-height:1.85}.sk-single-post .sk-article__content p{margin-bottom:1.55em}
.sk-article-comments{width:min(100%,760px);margin:clamp(46px,6vw,72px) auto 0;padding-top:34px;border-top:1px solid var(--sk-border)}.sk-article-comments #reply-title{font-size:clamp(1.6rem,2.4vw,2.1rem)}
@media(max-width:900px){.sk-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sk-single-post .sk-article__hero-media,.sk-article__hero-placeholder{border-width:5px}}
@media(max-width:640px){.sk-post-grid{grid-template-columns:1fr}.sk-blog-hero,.sk-article-hero{padding-left:0;padding-right:0}.sk-article-shell{margin-top:-38px}.sk-single-post .sk-article__hero-media{aspect-ratio:16/10}.sk-article-nav .nav-links{grid-template-columns:1fr}.sk-article-nav .nav-next{text-align:left}}

/* Header sizing controls — 1.5.24 */
.sk-site-header .sk-header-inner { padding-top:var(--sk-header-vertical-padding,0px); padding-bottom:var(--sk-header-vertical-padding,0px); }
@media (max-width:980px) {
  .sk-site-header .sk-branding img { max-height:var(--sk-mobile-logo-height,58px); width:auto; max-width:100%; object-fit:contain; }
  .sk-site-header .sk-header-inner { padding-top:var(--sk-mobile-header-vertical-padding,0px); padding-bottom:var(--sk-mobile-header-vertical-padding,0px); }
}

/* Header controls v1.5.25: one shared vertical gutter, mobile logo independent of desktop */
.sk-site-header .sk-header-inner { padding-top:var(--sk-header-vertical-padding,0px); padding-bottom:var(--sk-header-vertical-padding,0px); }
@media (max-width:980px) {
  .sk-site-header .sk-header-inner { padding-top:var(--sk-header-vertical-padding,0px); padding-bottom:var(--sk-header-vertical-padding,0px); }
  .sk-site-header .sk-branding img.custom-logo,
  .sk-site-header .sk-branding .custom-logo-link img,
  .sk-site-header .sk-branding img {
    height:var(--sk-mobile-logo-height,58px);
    max-height:var(--sk-mobile-logo-height,58px);
    width:auto;max-width:min(65vw,360px);object-fit:contain;
  }
}

/* v1.5.26 — responsive header sizing and persistent vertical spacing. */
.sk-site-header .sk-header-shell > .sk-header-inner {
  box-sizing: content-box;
  padding-block: var(--sk-header-vertical-padding, 0px) !important;
}
/* Include narrow desktop/Customizer preview widths, not just physical phones. */
@media (max-width: 1200px) {
  .sk-site-header .sk-branding img,
  .sk-site-header .sk-branding img.custom-logo,
  .sk-site-header .sk-branding .custom-logo-link img {
    height: auto !important;
    max-height: var(--sk-mobile-logo-height, 58px) !important;
    max-width: min(65vw, 360px) !important;
    width: auto !important;
    object-fit: contain;
  }
}

/* v1.5.27: match the real .sk-header-shell > .sk-container.sk-header-inner markup.
   These rules come last so older responsive overrides cannot erase saved settings. */
.sk-site-header .sk-header-shell > .sk-container.sk-header-inner {
  padding-top: var(--sk-header-vertical-padding, 0px) !important;
  padding-bottom: var(--sk-header-vertical-padding, 0px) !important;
  box-sizing: border-box;
  height: auto;
}
@media screen and (max-width: 1200px) {
  .sk-site-header .sk-header-shell .sk-header-inner .sk-branding .custom-logo-link img.custom-logo,
  .sk-site-header .sk-header-shell .sk-header-inner .sk-branding img {
    height: auto !important;
    max-height: var(--sk-mobile-logo-height, 58px) !important;
    max-width: min(65vw, 360px) !important;
    width: auto !important;
    object-fit: contain;
  }
}
