/* OSM Tools Hub storefront — loaded by the OSM Tools Manager plugin.
   Palette: deep navy (trust) with gold (premium), on a warm cream page.
   Token names are kept from the earlier blue theme: "blue" = primary action (navy), "orange" = gold accent. */
:root{
  --osm-navy:#0A1530; --osm-navy-2:#12224A; --osm-navy-line:rgba(255,255,255,.12);
  --osm-blue:#0E1A33; --osm-blue-dark:#1F3263; --osm-blue-soft:#FFF3D9;
  --osm-orange:#F2B544; --osm-orange-dark:#E3A12F; --osm-orange-ink:#0E1A33; --osm-orange-soft:#FFF3D9;
  --osm-gold-grad:linear-gradient(135deg,#FFDB8A 0%,#F2B544 55%,#E3A12F 100%);
  --osm-link:#9A5E0C;
  --osm-paper:#FBF7EF; --osm-white:#FFFFFF; --osm-ink:#0E1A33; --osm-muted:#5E6472; --osm-line:#ECE4D3;
  --osm-on-dark:#C9D1E4; --osm-on-dark-muted:#8F9BB8;
  --osm-good:#12805C; --osm-warn:#B05A00; --osm-bad:#C62B3B;
  --osm-display:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --osm-body:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --osm-radius:14px;
}

/* ---------- Base ---------- */
body{font-family:var(--osm-body);color:var(--osm-ink);background:var(--osm-paper);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.product_title{font-family:var(--osm-display);letter-spacing:-.02em;color:var(--osm-ink)}
a{color:var(--osm-link)}
a:hover{color:var(--osm-ink)}
:focus-visible{outline:2px solid var(--osm-orange);outline-offset:2px}

/* Header & footer: see the navy header section at the end of this file. */

/* ---------- Homepage sections (classes set in the Elementor template) ---------- */
.elementor .osm-sec .elementor-heading-title{font-family:var(--osm-display);color:var(--osm-ink);letter-spacing:-.02em}
.elementor .osm-sec .elementor-widget-text-editor{font-family:var(--osm-body);color:var(--osm-muted)}
.elementor .osm-sec-hero{background:var(--osm-navy);background-image:radial-gradient(900px 420px at 85% -10%,rgba(36,87,245,.45),transparent 60%),radial-gradient(600px 300px at 0% 110%,rgba(255,122,26,.16),transparent 60%)}
.elementor .osm-sec-hero .elementor-heading-title{color:#fff}
.elementor .osm-sec-hero .elementor-widget-text-editor{color:var(--osm-on-dark)}
.elementor .osm-sec-trust{background:var(--osm-white);border-bottom:1px solid var(--osm-line)}
.elementor .osm-sec-paper{background:var(--osm-paper)}
.elementor .osm-sec-white{background:var(--osm-white)}
.elementor .osm-sec-steps{background:var(--osm-navy)}
.elementor .osm-sec-steps .elementor-heading-title{color:#fff}
.elementor .osm-sec-cta{background:var(--osm-blue);background-image:linear-gradient(120deg,var(--osm-blue) 0%,#1D3FC4 100%)}
.elementor .osm-sec-cta .elementor-heading-title{color:#fff}
.elementor .osm-sec-cta .elementor-widget-text-editor{color:#DCE4FF}
.elementor .osm-sec-cta .elementor-button{background:var(--osm-orange);color:var(--osm-orange-ink);font-family:var(--osm-body);font-weight:700;border-radius:10px}
.elementor .osm-sec-cta .elementor-button:hover{background:var(--osm-orange-dark)}

.osm-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--osm-orange);margin-bottom:12px}
.osm-search{display:flex;gap:8px;background:var(--osm-white);border-radius:14px;padding:6px 6px 6px 16px;max-width:560px;margin-top:8px;box-shadow:0 10px 30px rgba(5,12,30,.25)}
.osm-search input[type=search]{flex:1;min-width:0;border:0!important;background:transparent;font:inherit;font-size:16px;color:var(--osm-ink);padding:10px 0;outline:none;box-shadow:none}
.osm-search button{background:var(--osm-orange);color:var(--osm-orange-ink);border:0;border-radius:10px;padding:10px 20px;font-weight:700;cursor:pointer}
.osm-search button:hover{background:var(--osm-orange-dark)}
.osm-glance{background:rgba(255,255,255,.06);border:1px solid var(--osm-navy-line);border-radius:16px;padding:22px;color:var(--osm-on-dark);backdrop-filter:blur(4px)}
.osm-glance h3{font-family:var(--osm-body);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--osm-on-dark-muted);margin:0 0 10px}
.osm-glance ul{list-style:none;margin:0;padding:0}
.osm-glance li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--osm-navy-line)}
.osm-glance li:last-child{border-bottom:0}
.osm-glance li span{flex:1}
.osm-glance b{color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}
.osm-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.osm-trust div{display:grid;gap:2px;padding-left:14px;border-left:3px solid var(--osm-orange)}
.osm-trust b{font-size:16px;color:var(--osm-ink)}
.osm-trust span{color:var(--osm-muted);font-size:14px}
.osm-chips{display:flex;flex-wrap:wrap;gap:10px}
.osm-chip{background:var(--osm-white);border:1px solid var(--osm-line);border-radius:999px;padding:9px 16px;font-weight:600;color:var(--osm-ink)!important;text-decoration:none;transition:border-color .15s,background .15s,color .15s}
.osm-chip:hover{border-color:var(--osm-orange);background:var(--osm-orange-soft);color:var(--osm-ink)!important}
.osm-chip-all{background:var(--osm-navy);color:#fff!important;border-color:var(--osm-navy)}
.osm-chip-all:hover{background:var(--osm-blue);border-color:var(--osm-blue);color:#fff!important}
.osm-steps{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.osm-steps li{border-top:2px solid var(--osm-navy-line);padding-top:14px;color:var(--osm-on-dark);line-height:1.55}
.osm-steps span{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--osm-orange)}
.osm-steps b{display:block;font-family:var(--osm-display);font-size:19px;color:#fff;margin:4px 0}
.osm-faq details{border-bottom:1px solid var(--osm-line);padding:18px 0}
.osm-faq summary{font-weight:700;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;color:var(--osm-ink)}
.osm-faq summary::-webkit-details-marker{display:none}
.osm-faq summary::after{content:"+";color:var(--osm-orange-dark);font-weight:800}
.osm-faq details[open] summary::after{content:"–"}
.osm-faq p{color:var(--osm-muted);margin:10px 0 0}
@media (max-width:900px){.osm-trust,.osm-steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.osm-trust,.osm-steps{grid-template-columns:1fr}}

/* ---------- Product cards ---------- */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:16px 0 0!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:var(--osm-white);border:1px solid var(--osm-line);border-radius:16px;padding:20px!important;display:flex;flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s}
.woocommerce ul.products li.product:hover{border-color:var(--osm-orange);transform:translateY(-2px);box-shadow:0 12px 28px rgba(14,26,51,.08)}
.woocommerce ul.products li.product img.woocommerce-placeholder{display:none}
.woocommerce ul.products li.product a img{width:64px!important;height:64px!important;object-fit:contain;background:#fff;border:1px solid var(--osm-line);border-radius:14px;padding:8px;margin:0 0 14px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--osm-display);font-size:18px!important;font-weight:700;line-height:1.25;padding:0 0 6px!important;color:var(--osm-ink)}
.woocommerce ul.products li.product .osm-meta{font-size:13px;color:var(--osm-muted);margin:0 0 10px}
.woocommerce ul.products li.product .osm-low{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--osm-warn);margin:-4px 0 8px}
.woocommerce ul.products li.product .osm-low::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.woocommerce ul.products li.product .price{color:var(--osm-ink)!important;font-size:20px!important;font-weight:800;margin-top:auto!important;font-variant-numeric:tabular-nums}
.woocommerce ul.products li.product .price del{color:var(--osm-muted);font-size:13px;font-weight:500;opacity:1;display:block}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{margin-top:14px!important;width:100%;text-align:center}
.woocommerce span.onsale{background:var(--osm-orange)!important;color:var(--osm-orange-ink)!important;border-radius:6px!important;min-height:0!important;min-width:0!important;line-height:1!important;padding:6px 9px!important;font-size:12px;font-weight:700;top:14px!important;left:auto!important;right:14px!important;margin:0!important}
@media (max-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.woocommerce ul.products{grid-template-columns:1fr}}

/* ---------- Buttons ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.wc-block-components-button:not(.is-link){
  background:var(--osm-blue)!important;color:#fff!important;border-radius:10px!important;padding:12px 18px!important;font-weight:700!important;border:0!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover,.wc-block-components-button:not(.is-link):hover{background:var(--osm-blue-dark)!important}
.woocommerce a.added_to_cart{display:block;text-align:center;margin-top:8px;font-weight:600}

/* ---------- Single product ---------- */
.woocommerce div.product{background:var(--osm-white);border:1px solid var(--osm-line);border-radius:18px;padding:28px}
.woocommerce div.product .product_title{font-size:34px;font-weight:800}
.woocommerce div.product p.price{color:var(--osm-ink)!important;font-size:28px!important;font-weight:800}
.woocommerce div.product p.price del{color:var(--osm-muted);font-size:18px}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--osm-muted);font-size:17px}
.woocommerce div.product .stock{color:var(--osm-good)!important;font-weight:700}
.woocommerce div.product div.images img.woocommerce-placeholder{display:none}
.woocommerce div.product div.images img{max-width:240px;margin:0 auto;object-fit:contain}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:10px 10px 0 0;background:var(--osm-paper)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--osm-white)}
.woocommerce table.shop_attributes th{font-weight:700;color:var(--osm-ink)}
.woocommerce table.shop_attributes td{font-style:normal;color:var(--osm-muted)}
.woocommerce .quantity .qty{border-radius:10px;border:1px solid var(--osm-line);padding:10px}

/* ---------- Cart, checkout, account ---------- */
.woocommerce-message,.woocommerce-info{border-top-color:var(--osm-orange)!important;background:var(--osm-white);border-radius:12px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--osm-orange-dark)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--osm-line);border-radius:10px;padding:12px;background:#fff}
.woocommerce form .form-row input.input-text:focus{border-color:var(--osm-blue);outline:none;box-shadow:0 0 0 3px var(--osm-blue-soft)}
.woocommerce-cart table.cart,.woocommerce-checkout-review-order-table{background:var(--osm-white);border-radius:14px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:8px;background:var(--osm-white);border:1px solid var(--osm-line);border-radius:14px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:10px 14px;border-radius:10px;color:var(--osm-ink);text-decoration:none;font-weight:600}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--osm-blue-soft);color:var(--osm-blue)}

/* ---------- Login page ---------- */
.osm-auth{min-height:70vh;display:grid;place-items:center;padding:48px 16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.osm-auth-card{width:100%;max-width:420px;background:var(--osm-white);border:1px solid var(--osm-line);border-radius:20px;padding:32px 28px;box-shadow:0 20px 50px rgba(14,26,51,.08);display:grid;gap:18px}
.osm-auth-brand{display:flex;align-items:center;gap:10px;font-family:var(--osm-display);font-weight:800;font-size:18px;color:var(--osm-ink)}
.osm-auth-mark{width:40px;height:40px;border-radius:11px;background:var(--osm-navy);display:grid;place-items:center}
.osm-auth-mark svg{width:32px;height:auto}
.osm-auth h1{font-size:26px;margin:0;line-height:1.2}
.osm-auth-sub{margin:-8px 0 0;color:var(--osm-muted);font-size:15px}
.osm-auth form{display:grid;gap:12px;margin:0}
.osm-auth label{font-weight:600;font-size:14px;display:grid;gap:6px;color:var(--osm-ink)}
.osm-auth input[type=email],.osm-auth input[type=text]{width:100%;box-sizing:border-box;border:1px solid var(--osm-line);border-radius:12px;padding:13px 14px;font:inherit;font-size:16px;color:var(--osm-ink);background:#fff}
.osm-auth input:focus{border-color:var(--osm-blue);outline:none;box-shadow:0 0 0 4px var(--osm-blue-soft)}
.osm-auth .osm-code{font-size:26px;letter-spacing:.5em;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;padding-left:.5em}
.osm-auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:12px;padding:14px;font:inherit;font-weight:700;font-size:16px;cursor:pointer;background:var(--osm-blue);color:#fff;text-decoration:none}
.osm-auth-btn:hover{background:var(--osm-blue-dark);color:#fff}
.osm-auth-divider{display:flex;align-items:center;gap:12px;color:var(--osm-muted);font-size:13px}
.osm-auth-divider::before,.osm-auth-divider::after{content:"";flex:1;height:1px;background:var(--osm-line)}
.osm-auth-google{display:flex;justify-content:center;min-height:44px}
.osm-auth-alert{border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.45}
.osm-auth-alert.is-error{background:#FDECEE;color:var(--osm-bad)}
.osm-auth-alert.is-ok{background:var(--osm-orange-soft);color:#6B4300}
.osm-auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.osm-auth-row form{display:inline}
.osm-auth-link{background:none;border:0;padding:0;font:inherit;color:var(--osm-link);font-weight:600;cursor:pointer;text-decoration:none}
.osm-auth-link:disabled{color:var(--osm-muted);cursor:default}
.osm-auth-fine{color:var(--osm-muted);font-size:12px;margin:0;text-align:center}
.osm-auth-who{display:flex;align-items:center;gap:12px;background:var(--osm-paper);border-radius:12px;padding:12px 14px}
.osm-auth-who b{display:block}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- Log in / Create account tabs ---------- */
.osm-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--osm-paper);border:1px solid var(--osm-line);border-radius:12px;padding:4px}
.osm-auth-tabs a{text-align:center;padding:10px 8px;border-radius:9px;font-weight:700;font-size:15px;color:var(--osm-muted);text-decoration:none}
.osm-auth-tabs a:hover{color:var(--osm-ink)}
.osm-auth-tabs a.is-active{background:var(--osm-white);color:var(--osm-ink);box-shadow:0 1px 3px rgba(14,26,51,.12)}
.osm-auth input[type=tel]{width:100%;box-sizing:border-box;border:1px solid var(--osm-line);border-radius:12px;padding:13px 14px;font:inherit;font-size:16px;color:var(--osm-ink);background:#fff}
.osm-auth-hint{font-weight:400;color:var(--osm-muted);font-size:12px}
.osm-auth-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.osm-auth-btn:disabled{opacity:.7;cursor:progress}

/* ---------- Add to cart + Buy now ---------- */
.woocommerce ul.products li.product .osm-buy-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.woocommerce ul.products li.product .osm-buy-row .button{flex:1 1 112px;margin:0!important;width:auto;padding:11px 8px!important;font-size:14px!important;text-align:center;line-height:1.2;white-space:nowrap}
.woocommerce ul.products li.product .osm-buy-row a.button:not(.osm-buy-now),
.woocommerce div.product form.cart .single_add_to_cart_button{background:var(--osm-white)!important;color:var(--osm-blue)!important;box-shadow:inset 0 0 0 1.5px var(--osm-blue)!important}
.woocommerce ul.products li.product .osm-buy-row a.button:not(.osm-buy-now):hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:var(--osm-blue-soft)!important}
.woocommerce ul.products li.product .osm-buy-row .added_to_cart{flex:1 1 100%;margin-top:2px}
.woocommerce a.button.osm-buy-now{background:var(--osm-blue)!important;color:#fff!important}
.woocommerce a.button.osm-buy-now:hover{background:var(--osm-blue-dark)!important}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.woocommerce div.product form.cart .button{float:none!important;margin:0!important;min-width:160px;padding:14px 22px!important;font-size:16px!important}
.osm-login-hint{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--osm-orange-soft);color:#6B4300;font-size:14px}

/* ---------- Short checkout ---------- */
.osm-checkout-who{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:start;background:var(--osm-white);border:1px solid var(--osm-line);border-radius:14px;padding:16px 18px;margin:0 0 20px}
.osm-checkout-who b{display:block;font-size:16px;color:var(--osm-ink)}
.osm-checkout-who span{color:var(--osm-muted);font-size:14px}
.osm-checkout-who p{grid-column:1/-1;margin:0;color:var(--osm-muted);font-size:14px}
.osm-checkout-switch{font-size:14px;font-weight:600;grid-row:1;grid-column:2}
.woocommerce-checkout .woocommerce-billing-fields h3{font-size:20px}
.woocommerce-checkout #customer_details .col-2{display:none}
.woocommerce-checkout #customer_details .col-1{width:100%;float:none}
.woocommerce form .form-row input[type=tel]{border:1px solid var(--osm-line);border-radius:10px;padding:12px;background:#fff;width:100%}

/* =====================================================================
   Navy & gold look (v1.4)
   ===================================================================== */
body{background:var(--osm-paper)}
.osm-gold-text{background:var(--osm-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Header (Hello theme) ---------- */
.site-header{background:var(--osm-navy)!important;border-bottom:1px solid var(--osm-navy-line);padding-block:14px!important;position:relative;z-index:20}
.site-header .header-inner,.site-header>.site-branding{align-items:center}
.site-header .site-branding{display:flex;align-items:center}
.site-header .osm-logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.site-header .osm-logo svg{height:66px;width:auto;max-width:72vw}
.site-header .site-title a,.site-header .site-branding a{color:#fff;text-decoration:none}
.site-header .site-description{display:none}
.site-header .site-navigation ul.menu{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.site-header .site-navigation ul.menu>li>a{display:block;color:#E6EAF4!important;font-family:var(--osm-body);font-weight:600;font-size:15px;text-decoration:none;padding:9px 16px!important;border-radius:999px;transition:background .15s,color .15s}
.site-header .site-navigation ul.menu>li>a:hover{color:#fff!important;background:rgba(255,255,255,.08)}
.site-header .site-navigation ul.menu>li.current-menu-item>a,.site-header .site-navigation ul.menu>li.current_page_item>a{background:var(--osm-gold-grad);color:var(--osm-ink)!important}
.site-header .site-navigation ul.menu>li.osm-nav-login{margin-left:10px}
.site-header .site-navigation ul.menu>li.osm-nav-login>a{border:1.5px solid rgba(255,255,255,.35);color:#fff!important}
.site-header .site-navigation ul.menu>li.osm-nav-login>a:hover{border-color:#fff;background:transparent}
.site-header .site-navigation ul.menu>li.osm-nav-account>a{background:var(--osm-gold-grad)!important;color:var(--osm-ink)!important;font-weight:800;box-shadow:0 6px 18px rgba(242,181,68,.28)}
.site-header .site-navigation ul.menu>li.osm-nav-account>a::after{content:" \2192"}
.site-header .site-navigation ul.menu>li.osm-nav-account>a:hover{filter:brightness(1.05)}
.site-header .site-navigation-toggle,.site-header .site-navigation-toggle-holder .site-navigation-toggle{color:#fff;background:transparent;border-color:rgba(255,255,255,.3)}
.site-header .site-navigation-dropdown ul.menu{background:var(--osm-navy-2)}
.site-header .site-navigation-dropdown ul.menu li a{color:#fff;background:var(--osm-navy-2);border-color:var(--osm-navy-line)}
.site-footer{background:var(--osm-navy)!important;color:var(--osm-on-dark-muted)!important;border-top:0;padding-block:28px}
.site-footer a{color:#fff}

/* ---------- Hero ---------- */
.osm-hero{position:relative;background:var(--osm-navy);background-image:radial-gradient(900px 520px at 78% 32%,rgba(46,91,255,.32),transparent 62%),radial-gradient(700px 360px at 0% 0%,rgba(242,181,68,.10),transparent 60%);color:var(--osm-on-dark);overflow:hidden;padding-bottom:150px}
.osm-hero::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-1px;height:150px;background:var(--osm-paper);border-radius:50% 50% 0 0/100% 100% 0 0}
.osm-hero-in{position:relative;z-index:1;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:8px;align-items:center;padding:56px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}
.osm-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(242,181,68,.55);background:rgba(242,181,68,.08);color:#FFE7B0;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600}
.osm-badge svg{width:16px;height:16px}
.osm-hero h1{font-family:var(--osm-display);font-weight:800;color:#fff!important;font-size:clamp(36px,4.6vw,60px);line-height:1.06;letter-spacing:-.03em;margin:22px 0 18px;text-wrap:balance}
.osm-hero p.osm-hero-lead{font-size:clamp(16px,1.6vw,19px);line-height:1.6;max-width:54ch;margin:0 0 28px;color:var(--osm-on-dark)}
.osm-btn-gold{box-sizing:border-box;max-width:100%;display:inline-flex;align-items:center;gap:10px;background:var(--osm-gold-grad);color:var(--osm-ink)!important;font-family:var(--osm-body);font-weight:800;font-size:17px;text-decoration:none;border-radius:14px;padding:15px 26px;box-shadow:0 10px 28px rgba(242,181,68,.30);transition:transform .15s,box-shadow .15s}
.osm-btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(242,181,68,.40)}
.osm-btn-gold svg{width:20px;height:20px}
.osm-hero-price{display:flex;align-items:center;gap:14px;margin-top:26px}
.osm-hero-price .osm-rs{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(242,181,68,.12);border:1.5px solid rgba(242,181,68,.6);color:#FFD27A;font-weight:800;font-size:15px;flex:none}
.osm-hero-price b{display:block;color:#fff;font-size:16px}
.osm-hero-price span{font-size:14px;color:var(--osm-on-dark-muted)}
.osm-hero-price strong{color:#FFD27A}
.osm-hero-art{position:relative;margin-right:-40px}
.osm-hero-art img{display:block;width:100%;height:auto;max-width:680px;margin-left:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.35))}

/* ---------- Trust strip ---------- */
.osm-features{position:relative;z-index:2;max-width:1200px;margin:-118px auto 0;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}
.osm-features ul{list-style:none;margin:0;padding:22px 10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--osm-navy-2);background-image:linear-gradient(180deg,#14275A,#0E1C42);border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:0 24px 50px rgba(10,21,48,.28)}
.osm-features li{display:flex;align-items:center;gap:14px;padding:6px 18px;min-width:0}
.osm-features li+li{border-left:1px solid rgba(255,255,255,.14)}
.osm-features svg{width:38px;height:38px;flex:none}
.osm-features b{display:block;color:#fff;font-size:15px;line-height:1.3}
.osm-features span{display:block;color:var(--osm-on-dark-muted);font-size:13px;line-height:1.35}

/* ---------- Section heading ---------- */
.osm-shead{text-align:center;max-width:760px;margin:0 auto 28px}
.osm-shead-chip{display:inline-flex;align-items:center;gap:14px;font-weight:700;font-size:15px;color:var(--osm-ink)}
.osm-shead-chip span{background:#FCE7B6;border-radius:999px;padding:6px 16px}
.osm-shead-chip::before,.osm-shead-chip::after{content:"";width:min(160px,18vw);height:1px;background:linear-gradient(90deg,transparent,#E3C27B)}
.osm-shead-chip::after{transform:scaleX(-1)}
.osm-shead h2{font-family:var(--osm-display);font-weight:800;font-size:clamp(28px,3.6vw,42px);letter-spacing:-.025em;margin:14px 0 8px;color:var(--osm-ink);text-wrap:balance}
.osm-shead p{margin:0;color:var(--osm-muted);font-size:17px}
.elementor .osm-sec-plans,.elementor .osm-sec-paper{background:var(--osm-paper)}
.elementor .osm-sec-plans{background-image:radial-gradient(circle,#E9DCC0 1.2px,transparent 1.4px);background-size:22px 22px;background-position:0 0}
.elementor .osm-sec-plans>.elementor-container{background:transparent}

/* ---------- Plan-style product cards ---------- */
.woocommerce ul.products li.product{border-radius:20px!important;border:1px solid var(--osm-line)!important;box-shadow:0 10px 30px rgba(14,26,51,.06);padding:22px!important;position:relative}
.woocommerce ul.products li.product:hover{box-shadow:0 16px 36px rgba(14,26,51,.10)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:14px;align-items:start;text-decoration:none}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link>img{grid-row:1/span 2;width:56px!important;height:56px!important;margin:0!important;border-radius:14px}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link>.woocommerce-loop-product__title{grid-column:2;padding:2px 0 2px!important;font-size:19px!important}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link>.osm-meta{grid-column:2;margin:0!important}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link>.osm-low{grid-column:2}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link>.price{grid-column:1/-1;margin:16px 0 0!important;font-size:30px!important;font-weight:800;letter-spacing:-.02em;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.woocommerce ul.products li.product .price ins{order:0}
.woocommerce ul.products li.product .price .osm-per{order:1}
.woocommerce ul.products li.product .price .osm-break{order:2;flex-basis:100%;height:0}
.woocommerce ul.products li.product .price del{order:3;font-size:13px!important;font-weight:500}
.woocommerce ul.products li.product .price .osm-save{order:4;font-size:12px;font-weight:800;letter-spacing:0;color:#8A5300;background:#FCE7B6;border-radius:999px;padding:2px 8px;align-self:center}
.woocommerce div.product p.price .osm-break,.woocommerce div.product p.price .osm-save{display:none}
.woocommerce ul.products li.product .price .osm-per{font-size:14px;font-weight:600;color:var(--osm-muted);letter-spacing:0}
.woocommerce ul.products li.product .osm-feats{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;font-size:14px;color:#3B4252}
.woocommerce ul.products li.product .osm-feats li{display:flex;gap:8px;align-items:baseline;margin:0;padding:0;border:0;background:none;box-shadow:none;width:auto!important;float:none!important}
.woocommerce ul.products li.product .osm-feats li::before{content:"";flex:none;width:12px;height:7px;border-left:2.5px solid var(--osm-orange-dark);border-bottom:2.5px solid var(--osm-orange-dark);transform:rotate(-45deg) translateY(-3px)}
.woocommerce ul.products li.product .osm-buy-row{margin-top:18px}
.woocommerce ul.products li.product .osm-buy-row a.button.osm-buy-now{background:var(--osm-navy)!important}
.woocommerce ul.products li.product .osm-buy-row a.button.osm-buy-now::after{content:" \2192"}
.woocommerce ul.products li.product .osm-buy-row a.button:not(.osm-buy-now){color:var(--osm-ink)!important;box-shadow:inset 0 0 0 1.5px #D8CDB5!important}
.woocommerce ul.products li.product .osm-buy-row a.button:not(.osm-buy-now):hover{background:var(--osm-orange-soft)!important}
/* Most popular */
.woocommerce ul.products li.product.osm-popular{background:linear-gradient(180deg,#FFF8E8,#FFFDF7)!important;border:1.5px solid #F2C46B!important;box-shadow:0 18px 40px rgba(227,161,47,.18)}
.woocommerce ul.products li.product.osm-popular .osm-buy-row a.button.osm-buy-now{background:var(--osm-gold-grad)!important;color:var(--osm-ink)!important}
.osm-popular-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--osm-gold-grad);color:var(--osm-ink);font-weight:800;font-size:12px;border-radius:999px;padding:5px 12px;white-space:nowrap;box-shadow:0 6px 14px rgba(227,161,47,.3)}
.woocommerce span.onsale{background:var(--osm-navy)!important;color:#FFD27A!important;top:16px!important;right:16px!important}

/* ---------- Other homepage sections in the new colours ---------- */
.elementor .osm-sec-steps{background:var(--osm-navy)}
.osm-steps span{color:var(--osm-orange)!important}
.elementor .osm-sec-cta{background:var(--osm-navy);background-image:radial-gradient(700px 300px at 50% 0,rgba(242,181,68,.18),transparent 70%)}
.elementor .osm-sec-cta .elementor-heading-title{color:#fff!important}
.elementor .osm-sec-cta .elementor-widget-text-editor{color:var(--osm-on-dark)!important}
.elementor .osm-sec-cta .elementor-button{background:var(--osm-gold-grad)!important;color:var(--osm-ink)!important;font-weight:800}
.osm-chip-all{background:var(--osm-navy)}
.osm-chip-all:hover{background:var(--osm-orange)!important;border-color:var(--osm-orange)!important;color:var(--osm-ink)!important}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .osm-features ul{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px}
  .osm-features li:nth-child(4){border-left:0}
}
@media (max-width:860px){
  .osm-hero-in{grid-template-columns:1fr;padding-top:36px}
  .osm-hero-art{margin:0 -8px;order:2}
  .osm-hero-art img{max-width:520px;margin:0 auto}
  .osm-hero{padding-bottom:120px}
  .osm-features{margin-top:-96px}
  .osm-features ul{grid-template-columns:1fr 1fr}
  .osm-features li{border-left:0!important;padding:8px 12px}
  .osm-features li:last-child{grid-column:1/-1}
  .site-header .osm-logo svg{height:44px}
}
@media (max-width:480px){
  .osm-features ul{grid-template-columns:1fr}
  .osm-btn-gold{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.osm-btn-gold{transition:none}}

/* ---------- Logo when the theme header shows the site title as text ----------
   Hello's header can be set to "Title" instead of "Logo". Swap the text for the OSM logo
   (the name stays in the page for screen readers). Skipped if you upload your own logo. */
.site-header .site-branding:not(:has(.custom-logo-link)) .site-title,
.site-header .site-branding:not(:has(.custom-logo-link)) .site-title a{margin:0;line-height:0}
.site-header .site-branding:not(:has(.custom-logo-link)) .site-title a{display:block;width:374px;height:66px;font-size:0!important;color:transparent!important;background:var(--osm-logo-url) left center/contain no-repeat}
.site-header .site-branding:not(:has(.custom-logo-link)) .site-description{display:none}
@media (max-width:860px){.site-header .site-branding:not(:has(.custom-logo-link)) .site-title a{width:250px;height:44px}}
