/*
Theme Name: Bombi VPN
Theme URI: https://example.com/bombi-vpn
Author: Bombi VPN
Description: قالب فروشگاهی مدرن سفید و آبی برای فروش VPN، راست‌چین و سازگار با WooCommerce.
Version: 1.4.0
Requires at least: 6.9
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: bombi-vpn
Tags: e-commerce, rtl-language-support, custom-logo, custom-menu, featured-images, woocommerce
*/

:root{
  --bombi-blue:#087CFA;
  --bombi-blue-2:#0066E6;
  --bombi-blue-3:#185ADB;
  --bombi-navy:#0B1F3A;
  --bombi-cyan:#08C7FF;
  --bombi-sky:#EAF6FF;
  --bombi-bg:#F7FAFF;
  --bombi-surface:#FFFFFF;
  --bombi-surface-2:#F1F6FC;
  --bombi-border:#DCE7F3;
  --bombi-text:#10233F;
  --bombi-muted:#63748A;
  --bombi-muted-2:#8B9AAF;
  --bombi-radius:24px;
  --bombi-shadow:0 18px 55px rgba(24,90,219,.10);
  --bombi-shadow-hover:0 24px 70px rgba(24,90,219,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fff 0,#f8fbff 55%,#f4f8fd 100%);color:var(--bombi-text);font-family:Vazirmatn,Tahoma,Arial,sans-serif;line-height:1.85;direction:rtl}
a{color:inherit;text-decoration:none;transition:.2s}a:hover{color:var(--bombi-blue)}
img{max-width:100%;height:auto}.container{width:min(1180px,calc(100% - 34px));margin-inline:auto}.screen-reader-text{position:absolute;left:-9999px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,231,243,.9);box-shadow:0 6px 28px rgba(29,77,132,.04)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.2px;color:var(--bombi-navy)}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#f1f8ff,#dfefff);border:1px solid #cce3fb;box-shadow:0 10px 24px rgba(8,124,250,.12);font-size:23px}.brand strong{font-size:20px}.brand span{color:var(--bombi-blue)}
.custom-logo{max-height:54px;width:auto}.custom-logo-link{display:flex;align-items:center}.main-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}.main-nav a{font-size:14px;font-weight:700;color:#41546d}.main-nav a:hover{color:var(--bombi-blue)}.header-actions{display:flex;align-items:center;gap:10px}
.btn,.button,button,input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border:0;border-radius:14px;padding:12px 20px;font-weight:800;cursor:pointer;background:linear-gradient(135deg,var(--bombi-blue),var(--bombi-blue-3));color:#fff!important;box-shadow:0 10px 26px rgba(8,124,250,.20);transition:.22s transform,.22s box-shadow,.22s background}.btn:hover,.button:hover,button:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(8,124,250,.26)}.btn.ghost{background:#fff;color:var(--bombi-blue)!important;border:1px solid #d8e7f7;box-shadow:0 5px 18px rgba(29,77,132,.05)}.btn.ghost:hover{background:#f5faff;border-color:#bedcff}.cart-pill .count{background:#eaf4ff;color:var(--bombi-blue);border-radius:999px;min-width:21px;height:21px;display:inline-grid;place-items:center;font-size:11px;margin-right:7px}.menu-toggle{display:none;background:#fff;color:var(--bombi-navy)!important;border:1px solid var(--bombi-border);padding:8px 12px;box-shadow:none}
.hero{padding:92px 0 72px;overflow:hidden;background:radial-gradient(circle at 79% 20%,rgba(8,199,255,.12),transparent 28%),radial-gradient(circle at 18% 10%,rgba(8,124,250,.09),transparent 30%)}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:58px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;border:1px solid #cbe5ff;background:#f3f9ff;color:var(--bombi-blue);font-size:13px;font-weight:800}.hero h1{font-size:clamp(42px,6vw,74px);line-height:1.18;margin:20px 0 20px;letter-spacing:-1.7px;color:var(--bombi-navy)}.hero h1 .gradient{background:linear-gradient(90deg,var(--bombi-blue),var(--bombi-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--bombi-muted);font-size:18px;max-width:650px;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#697b91;font-size:13px}.trust-row b{color:var(--bombi-navy)}
.hero-visual{position:relative;min-height:470px;display:grid;place-items:center}.orb{width:min(405px,92%);aspect-ratio:1;border-radius:50%;position:relative;background:radial-gradient(circle at 42% 37%,#fff 0,#eef8ff 37%,#dceeff 70%,#f9fcff 100%);border:1px solid #c9e4ff;box-shadow:inset 0 0 55px rgba(8,124,250,.08),0 30px 80px rgba(8,124,250,.15)}.orb:before,.orb:after{content:"";position:absolute;inset:13%;border-radius:50%;border:1.5px solid rgba(8,124,250,.28);transform:rotate(24deg) scaleY(.48)}.orb:after{transform:rotate(-24deg) scaleY(.48)}.shield{position:absolute;inset:25%;display:grid;place-items:center;clip-path:polygon(50% 0,90% 17%,84% 72%,50% 100%,16% 72%,10% 17%);background:linear-gradient(150deg,#53d8ff,#0b82ff 46%,#185adb);filter:drop-shadow(0 18px 26px rgba(8,124,250,.28));font-size:72px;font-weight:900;color:#fff}.shield:after{content:"✓";text-shadow:0 2px 10px rgba(0,67,150,.22)}.float-card{position:absolute;background:rgba(255,255,255,.94);border:1px solid #d8e8f8;backdrop-filter:blur(14px);border-radius:18px;padding:13px 16px;box-shadow:0 16px 40px rgba(29,77,132,.11);font-size:13px;color:#334b66;font-weight:700}.fc1{right:0;top:17%}.fc2{left:0;bottom:18%}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#16c784;box-shadow:0 0 0 5px rgba(22,199,132,.10);margin-left:7px}
.section{padding:78px 0}.section-head{text-align:center;max-width:720px;margin:0 auto 38px}.section-head h2{font-size:clamp(28px,4vw,44px);margin:0 0 10px;color:var(--bombi-navy);letter-spacing:-.6px}.section-head p{color:var(--bombi-muted);margin:0}.kicker{color:var(--bombi-blue);font-weight:900;font-size:13px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{padding:27px;background:#fff;border:1px solid var(--bombi-border);border-radius:var(--bombi-radius);box-shadow:0 10px 34px rgba(29,77,132,.05);transition:.25s}.feature:hover{border-color:#b9d9f8;transform:translateY(-5px);box-shadow:var(--bombi-shadow)}.feature .icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#f1f8ff,#e4f1ff);border:1px solid #d5e9fb;font-size:24px}.feature h3{margin:15px 0 7px;font-size:18px;color:var(--bombi-navy)}.feature p{margin:0;color:var(--bombi-muted);font-size:14px}
.products-wrap{position:relative;background:linear-gradient(180deg,#f8fbff,#fff)}.woocommerce ul.products,.products-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px;margin:0!important}.woocommerce ul.products li.product,.product-card{width:auto!important;margin:0!important;float:none!important;padding:24px;background:#fff;border:1px solid var(--bombi-border);border-radius:24px;position:relative;overflow:hidden;transition:.25s;box-shadow:0 10px 34px rgba(29,77,132,.05)}.woocommerce ul.products li.product:hover,.product-card:hover{transform:translateY(-5px);border-color:#b8d8f8;box-shadow:var(--bombi-shadow-hover)}.woocommerce ul.products li.product img{border-radius:17px;background:#f4f8fd}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:20px;color:var(--bombi-navy)}.woocommerce ul.products li.product .price{color:var(--bombi-blue)!important;font-size:18px!important;font-weight:900}.woocommerce span.onsale{background:linear-gradient(135deg,var(--bombi-cyan),var(--bombi-blue));min-width:auto;min-height:auto;padding:5px 11px;line-height:1.4;border-radius:999px;right:14px;left:auto;top:14px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:step}.step{counter-increment:step;padding:29px;border-radius:22px;border:1px solid var(--bombi-border);background:#fff;box-shadow:0 9px 30px rgba(29,77,132,.045)}.step:before{content:counter(step);width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf6ff,#dceeff);color:var(--bombi-blue);border:1px solid #cae4fc;font-weight:900}.step h3{margin:14px 0 6px;color:var(--bombi-navy)}.step p{margin:0;color:var(--bombi-muted)}
.cta{margin:30px auto 82px;padding:48px;border:1px solid #cae4fb;border-radius:30px;background:linear-gradient(135deg,#f7fbff,#eaf5ff 55%,#f8fcff);display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 18px 50px rgba(8,124,250,.08)}.cta h2{margin:0 0 8px;font-size:32px;color:var(--bombi-navy)}.cta p{margin:0;color:var(--bombi-muted)}
.site-main{min-height:60vh}.content-area{padding:54px 0}.entry-card{padding:32px;border:1px solid var(--bombi-border);background:#fff;border-radius:22px;margin-bottom:20px;box-shadow:0 10px 34px rgba(29,77,132,.045)}.entry-title{margin-top:0;color:var(--bombi-navy)}.entry-content{color:#40556e}.site-footer{border-top:1px solid #dce7f3;background:#f6f9fd;padding:56px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.site-footer h4{margin-top:0;color:var(--bombi-navy)}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin:8px 0}.footer-links a{color:#66798e}.footer-links a:hover{color:var(--bombi-blue)}.footer-bottom{border-top:1px solid #dce7f3;margin-top:36px;padding-top:20px;color:#8190a3;font-size:13px;display:flex;justify-content:space-between;gap:20px}
/* WooCommerce */
.woocommerce .woocommerce-breadcrumb{color:var(--bombi-muted)}.woocommerce div.product{padding:30px;border:1px solid var(--bombi-border);border-radius:24px;background:#fff;box-shadow:0 12px 38px rgba(29,77,132,.05)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--bombi-blue);font-weight:900}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#f3f7fb;border-color:var(--bombi-border)}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;color:var(--bombi-navy)}.woocommerce div.product .woocommerce-tabs ul.tabs:before{border-color:var(--bombi-border)}.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#f7fbff;color:var(--bombi-text);border-top-color:var(--bombi-blue);border-radius:14px}.woocommerce-message::before,.woocommerce-info::before{color:var(--bombi-blue)}.woocommerce table.shop_table{border-color:var(--bombi-border);border-radius:18px;overflow:hidden;background:#fff}.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:#e4edf6}.woocommerce-cart table.cart img{width:70px;border-radius:10px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select,.select2-container--default .select2-selection--single,input[type=text],input[type=email],input[type=tel],input[type=password],textarea,select{background:#fff!important;color:var(--bombi-text)!important;border:1px solid #d4e1ee!important;border-radius:12px!important;padding:12px!important;min-height:46px;box-shadow:0 3px 12px rgba(29,77,132,.025)}.woocommerce form .form-row input.input-text:focus,input:focus,textarea:focus,select:focus{outline:none;border-color:#8cc5fb!important;box-shadow:0 0 0 4px rgba(8,124,250,.08)}.select2-dropdown{background:#fff;color:var(--bombi-text);border-color:#d4e1ee}.woocommerce-checkout #payment{background:#f4f8fc;color:var(--bombi-text);border-radius:18px}.woocommerce-checkout #payment div.payment_box{background:#e9f4ff;color:#3e536d}.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:#e9f4ff}.woocommerce .quantity .qty{background:#fff;color:var(--bombi-text);border:1px solid #d4e1ee;border-radius:10px;padding:8px}.woocommerce nav.woocommerce-pagination ul{border:0}.woocommerce nav.woocommerce-pagination ul li{border:0;margin:3px}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:10px;background:#eef5fc;color:var(--bombi-navy)}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--bombi-blue);color:#fff}
@media (max-width:980px){.main-nav{display:none;position:absolute;top:82px;right:0;left:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--bombi-border);padding:20px;box-shadow:0 18px 36px rgba(29,77,132,.08)}.main-nav.open{display:block}.main-nav ul{flex-direction:column}.menu-toggle{display:block}.header-actions .btn.ghost{display:none}.hero-grid{grid-template-columns:1fr}.hero{text-align:center;padding-top:64px}.hero p{margin-inline:auto}.hero-actions,.trust-row{justify-content:center}.hero-visual{min-height:390px}.features{grid-template-columns:repeat(2,1fr)}.woocommerce ul.products,.products-grid{grid-template-columns:repeat(2,1fr)!important}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media (max-width:640px){.container{width:min(100% - 22px,1180px)}.header-inner{height:70px}.brand strong{font-size:16px}.brand-mark{width:40px;height:40px}.hero{padding-top:44px}.hero h1{font-size:39px}.hero p{font-size:16px}.hero-visual{min-height:310px}.float-card{font-size:11px;padding:9px 11px}.features,.steps,.woocommerce ul.products,.products-grid{grid-template-columns:1fr!important}.section{padding:56px 0}.cta{padding:30px;flex-direction:column;text-align:center}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.woocommerce div.product{padding:16px}.header-actions .cart-pill{padding:9px 12px;font-size:0}.header-actions .cart-pill:before{content:'🛒';font-size:16px}.header-actions .cart-pill .count{font-size:10px}}


/* ===== Responsive hardening — v1.2.0 ===== */
html,body{max-width:100%;overflow-x:hidden}
body{overflow-wrap:anywhere}
.container{max-width:1180px}
iframe,video,embed,object,svg{max-width:100%}
pre{max-width:100%;overflow:auto}
.entry-content table,.woocommerce table{max-width:100%}

/* Header: keep all controls inside viewport */
.header-inner{position:relative;min-width:0}
.brand-wrap,.brand,.main-nav,.header-actions{min-width:0}
.brand-wrap{flex:0 1 auto}
.main-nav{flex:1 1 auto}
.main-nav ul{align-items:center;justify-content:center;flex-wrap:wrap}
.header-actions{flex:0 0 auto}

/* WooCommerce layouts must never keep desktop floats on narrow screens */
.woocommerce .products ul,.woocommerce ul.products{padding:0}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{min-width:0}
.woocommerce div.product div.images,.woocommerce div.product div.summary{min-width:0}
.woocommerce form.checkout,.woocommerce .col2-set,.woocommerce-page .col2-set{min-width:0}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2{min-width:0}

@media (max-width:1100px){
  .container{width:calc(100% - 40px)}
  .header-inner{gap:16px}
  .main-nav ul{gap:16px}
  .header-actions .btn{padding:10px 14px}
  .hero-grid{gap:34px}
  .features{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:980px){
  .site-header{backdrop-filter:blur(14px)}
  .header-inner{height:72px;gap:10px}
  .brand-wrap{order:1;flex:1 1 auto}
  .header-actions{order:2;margin-inline-start:auto}
  .menu-toggle{order:3;display:grid;place-items:center;width:44px;height:44px;padding:0;flex:0 0 44px;font-size:22px;line-height:1}
  .main-nav{order:4;display:block;visibility:hidden;opacity:0;pointer-events:none;position:absolute;top:calc(100% + 1px);right:0;left:0;width:100%;max-height:calc(100vh - 72px);overflow:auto;background:rgba(255,255,255,.98);border:1px solid var(--bombi-border);border-top:0;border-radius:0 0 20px 20px;padding:10px 16px 18px;box-shadow:0 20px 40px rgba(29,77,132,.12);transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
  .main-nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
  .main-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%}
  .main-nav li{width:100%}
  .main-nav a{display:block;width:100%;padding:11px 12px;border-radius:10px}
  .main-nav a:hover{background:var(--bombi-sky)}
  .header-actions .btn.ghost{display:none}
  .header-actions .btn:not(.ghost){white-space:nowrap;padding:10px 14px;font-size:13px}

  .hero{padding:58px 0 52px}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .hero-copy,.hero-visual{min-width:0}
  .hero-visual{width:100%;min-height:360px}
  .orb{width:min(360px,80vw)}
  .fc1{right:max(0px,4vw)}
  .fc2{left:max(0px,4vw)}

  .woocommerce div.product{display:block}
  .woocommerce div.product div.images,.woocommerce div.product div.summary,
  .woocommerce-page div.product div.images,.woocommerce-page div.product div.summary{float:none!important;width:100%!important;margin:0 0 28px!important}
  .woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,
  .woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2{float:none!important;width:100%!important;margin:0 0 24px}
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading{width:100%;float:none}
}

@media (max-width:782px){
  body.admin-bar .site-header{top:46px}
  .container{width:calc(100% - 28px)}
  .section{padding:60px 0}
  .section-head{margin-bottom:28px}
  .section-head h2{font-size:clamp(27px,7vw,38px)}
  .features,.steps{grid-template-columns:1fr}
  .woocommerce ul.products,.woocommerce-page ul.products,.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px}
  .woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.product-card{padding:16px;border-radius:20px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px}
  .cta{margin-bottom:60px;padding:34px 26px;border-radius:24px}
  .footer-grid{gap:28px}

  /* Cart / account tables scroll instead of breaking the page */
  .woocommerce-cart-form,.woocommerce-orders-table,.woocommerce-account .woocommerce-MyAccount-content{max-width:100%}
  .woocommerce-cart-form{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .woocommerce-cart-form table.shop_table{min-width:680px}
  .woocommerce table.my_account_orders{font-size:13px}
}

@media (max-width:600px){
  body.admin-bar .site-header{top:0}
  .container{width:calc(100% - 22px)}
  .header-inner{height:66px}
  .brand{gap:8px}
  .brand-mark{width:38px;height:38px;border-radius:12px;font-size:19px}
  .brand strong{font-size:15px;white-space:nowrap}
  .custom-logo{max-height:42px;max-width:145px}
  .header-actions .btn:not(.ghost){padding:9px 11px;font-size:12px;border-radius:11px}
  .menu-toggle{width:40px;height:40px;flex-basis:40px}
  .main-nav{max-height:calc(100vh - 66px);padding-inline:11px}

  .hero{padding:42px 0 38px;text-align:center}
  .eyebrow{font-size:12px;padding:7px 11px}
  .hero h1{font-size:clamp(32px,10.5vw,43px);line-height:1.25;letter-spacing:-.7px;margin:16px 0}
  .hero p{font-size:15px;line-height:1.9;margin-bottom:22px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .hero-actions .btn{width:100%;text-align:center}
  .trust-row{display:grid;grid-template-columns:1fr;gap:8px;margin-top:22px;text-align:center}
  .hero-visual{min-height:285px;margin-top:4px}
  .orb{width:min(275px,78vw)}
  .shield{font-size:50px}
  .float-card{max-width:48%;font-size:10px;line-height:1.5;padding:8px 9px;border-radius:12px}
  .fc1{top:9%;right:0}.fc2{bottom:8%;left:0}

  .section{padding:48px 0}
  .feature,.step{padding:21px;border-radius:19px}
  .woocommerce ul.products,.woocommerce-page ul.products,.products-grid{grid-template-columns:1fr!important;gap:14px}
  .woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.product-card{width:100%!important;padding:18px}
  .woocommerce ul.products li.product img{width:100%;height:auto}

  .cta{padding:26px 18px;margin:20px auto 48px;gap:20px}
  .cta h2{font-size:26px;line-height:1.45}
  .cta .btn{width:100%;text-align:center}
  .footer-grid{grid-template-columns:1fr!important}
  .footer-bottom{align-items:flex-start}

  .content-area{padding:34px 0}
  .entry-card{padding:20px 16px;border-radius:18px}
  .woocommerce div.product{padding:14px;border-radius:18px}
  .woocommerce div.product .product_title{font-size:27px;line-height:1.45}
  .woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:8px}
  .woocommerce div.product form.cart .button{flex:1 1 180px}
  .woocommerce .quantity .qty{max-width:72px}
  .woocommerce-tabs ul.tabs{padding:0!important;display:flex;flex-direction:column;gap:5px}
  .woocommerce div.product .woocommerce-tabs ul.tabs li{display:block!important;margin:0!important;border-radius:10px!important}
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:10px 12px}
  .woocommerce div.product .woocommerce-tabs .panel{padding-top:10px}

  .woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{padding:16px;border-radius:16px}
  .woocommerce table.shop_table{font-size:13px}
  .woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-cart .cart-collaterals .cross-sells{float:none!important;width:100%!important}
  .woocommerce .cart-collaterals,.woocommerce-page .cart-collaterals{width:100%}
  .woocommerce-checkout #payment{padding:0}
  .woocommerce-checkout #payment ul.payment_methods{padding:16px}
  .woocommerce-checkout #payment div.form-row{padding:16px}

  /* My account navigation stacks cleanly */
  .woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:100%!important}
  .woocommerce-account .woocommerce-MyAccount-navigation{margin-bottom:22px}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;list-style:none}
  .woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:10px 9px;border:1px solid var(--bombi-border);border-radius:11px;background:#fff;text-align:center;font-size:12px}
}

@media (max-width:380px){
  .container{width:calc(100% - 16px)}
  .brand strong{font-size:13px}
  .brand-mark{width:34px;height:34px;font-size:17px}
  .header-actions .btn:not(.ghost){font-size:11px;padding:8px 9px}
  .menu-toggle{width:36px;height:36px;flex-basis:36px;font-size:19px}
  .hero h1{font-size:31px}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{grid-template-columns:1fr}
}


/* ===== Mobile no-overflow hardening — v1.4.0 ===== */
html{width:100%;max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;overflow-x:clip;position:relative}
.site-header,.site-main,.site-footer,.hero,.section,.products-wrap,.content-area{width:100%;max-width:100%;overflow-x:clip}
.container{box-sizing:border-box;max-width:1180px}

/* Let every grid/flex child shrink instead of widening the viewport. */
.header-inner>*,.hero-grid>*,.features>*,.steps>*,.footer-grid>*,.products-grid>*,
.woocommerce ul.products>*,.woocommerce .col2-set>*,.woocommerce div.product>*,
.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout,.woocommerce-account,
.entry-card,.entry-content,.widget{min-width:0;max-width:100%}

/* Long URLs/names and plugin controls must wrap inside cards. */
p,h1,h2,h3,h4,h5,h6,li,td,th,label,a,span,strong{overflow-wrap:anywhere;word-break:normal}
input,textarea,select,button,.select2-container,.select2-selection,.woocommerce form .form-row,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{max-width:100%!important;min-width:0}
.select2-container{width:100%!important}

/* Third-party embeds/content must never create a page-level horizontal scrollbar. */
iframe,video,embed,object,canvas,svg,img{max-width:100%!important}
.wp-block-table,.wp-block-embed,.wp-block-image,.wp-block-group,.wp-block-columns{max-width:100%}

@media (max-width:600px){
  .container{width:100%!important;max-width:100%!important;padding-inline:12px;margin-inline:auto}
  .header-inner{width:100%;max-width:100%;padding-inline:0;gap:7px}
  .brand-wrap{flex:1 1 0;overflow:hidden}
  .brand,.custom-logo-link{max-width:100%;overflow:hidden}
  .brand strong{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .custom-logo{width:auto!important;max-width:min(130px,36vw)!important;height:auto}
  .header-actions{flex:0 0 auto;max-width:32vw}
  .header-actions .btn:not(.ghost){max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-inline:9px}
  .menu-toggle{flex:0 0 38px;width:38px;max-width:38px}
  .main-nav{right:0!important;left:0!important;width:100%!important;max-width:100%!important}

  .hero-grid,.features,.steps,.footer-grid,.products-grid,
  .woocommerce ul.products,.woocommerce-page ul.products{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)!important}
  .hero-copy,.hero-visual,.orb,.feature,.step,.product-card,
  .woocommerce ul.products li.product,.woocommerce-page ul.products li.product{max-width:100%!important;min-width:0!important}
  .hero-visual{overflow:hidden}
  .orb{width:min(260px,76vw)!important}
  .float-card{box-sizing:border-box;max-width:46%;white-space:normal}

  .entry-card,.woocommerce div.product,.cta{width:100%;max-width:100%;margin-inline:0;overflow:hidden}
  .entry-content>*{max-width:100%}

  /* Cart: no 680px desktop table on phones. WooCommerce responsive rows stay inside the card. */
  .woocommerce-cart-form{width:100%;max-width:100%;overflow:visible!important}
  .woocommerce-cart-form table.shop_table{min-width:0!important;width:100%!important;max-width:100%!important;table-layout:fixed}
  .woocommerce-cart-form table.shop_table_responsive tr,
  .woocommerce-cart-form table.shop_table_responsive tbody,
  .woocommerce-cart-form table.shop_table_responsive td{max-width:100%!important}
  .woocommerce-cart-form table.shop_table_responsive td{white-space:normal!important;overflow-wrap:anywhere}
  .woocommerce-cart-form .product-thumbnail img{max-width:64px!important;height:auto}
  .woocommerce-cart-form .coupon{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr);gap:8px}
  .woocommerce-cart-form .coupon .input-text,.woocommerce-cart-form .coupon .button{width:100%!important;margin:0!important}
  .woocommerce-cart-form td.actions>.button{width:100%!important;margin-top:8px}

  /* Checkout / account / notices */
  .woocommerce form.checkout,.woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading,
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-message,.woocommerce-info,.woocommerce-error{width:100%!important;max-width:100%!important}
  .woocommerce-checkout-review-order-table{width:100%!important;table-layout:fixed}
  .woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{overflow-wrap:anywhere}
  .woocommerce #payment ul.payment_methods li{max-width:100%;overflow-wrap:anywhere}

  /* Product page variations often cause overflow through select elements. */
  .woocommerce div.product form.cart,.woocommerce div.product form.cart .variations,
  .woocommerce div.product form.cart .variations tbody,.woocommerce div.product form.cart .variations tr,
  .woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{width:100%;max-width:100%}
  .woocommerce div.product form.cart .variations tr{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;margin-bottom:12px}
  .woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{display:block;padding:0}
  .woocommerce div.product form.cart .variations select{width:100%!important;max-width:100%!important}
}

@media (max-width:380px){
  .container{padding-inline:8px}
  .header-inner{gap:5px}
  .custom-logo{max-width:min(112px,34vw)!important}
  .header-actions{max-width:31vw}
  .header-actions .btn:not(.ghost){font-size:10px;padding:8px 7px}
  .menu-toggle{width:36px;max-width:36px;flex-basis:36px}
  .hero h1{font-size:29px}
  .float-card{max-width:44%}
}
