*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#08111F;color:#F4FAFF;font-family:"Segoe UI", Inter, Arial, sans-serif; -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input{font:inherit}
.site-shell{min-height:100vh;position:relative;overflow:hidden}
.ambient{position:fixed;inset:-20vh -20vw auto auto;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(circle,rgba(77,141,255,0.22),transparent 64%);pointer-events:none;filter:blur(14px);z-index:0}
.ambient.two{inset:auto auto -35vh -25vw;background:radial-gradient(circle,rgba(168,85,247,0.16),transparent 66%)}
.wrap{width:min(1160px,calc(100% - 40px));margin:0 auto;position:relative;z-index:1}
.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(244,250,255,0.08)}
.brand{font-weight:900;letter-spacing:-.03em;font-size:20px}.nav{display:flex;gap:24px;align-items:center;color:#9CB0C8;font-size:14px}.nav a:hover{color:#F4FAFF}
.nav-cta{padding:10px 14px;border:1px solid rgba(244,250,255,0.13);border-radius:18px;color:#F4FAFF!important;background:rgba(16,33,55,0.55)}
.hero{padding:88px 0 68px;text-align:left}.hero-inner{max-width:900px;margin:0}
.eyebrow,.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(244,250,255,0.11);background:rgba(16,33,55,0.62);border-radius:999px;padding:8px 12px;color:#9CB0C8;font-size:13px;backdrop-filter:blur(10px)}
.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#A855F7;box-shadow:0 0 18px #A855F7}
.hero h1{font-size:clamp(46px,7vw,82px);line-height:.98;letter-spacing:-.055em;margin:20px 0 22px;max-width:950px}.hero p{max-width:720px;margin:0 0 30px;color:#9CB0C8;font-size:clamp(17px,2vw,21px);line-height:1.65}
.hero-actions{display:flex;gap:12px;justify-content:flex-start;flex-wrap:wrap}.button{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:19px;background:linear-gradient(135deg,#4D8DFF,#A855F7);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 12px 30px rgba(77,141,255,0.24);transition:transform .18s ease,filter .18s ease}.button:hover{transform:translateY(-2px);filter:saturate(115%)}.button.secondary{background:rgba(16,33,55,0.68);border:1px solid rgba(244,250,255,0.11);box-shadow:none;color:#F4FAFF}
.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px;justify-content:flex-start;color:#9CB0C8;font-size:13px}.trust-row span{display:flex;align-items:center;gap:7px}.trust-row b{color:#A855F7}
.section{padding:62px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.section-head h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;margin:0}.section-head p{max-width:520px;color:#9CB0C8;line-height:1.55;margin:0}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card,.feature-card,.faq-card,.support-card,.product-panel,.status-panel{background:rgba(16,33,55,0.78);border:1px solid rgba(244,250,255,0.12);border-radius:28px;box-shadow:0 26px 80px rgba(0,0,0,.16);backdrop-filter:blur(18px) saturate(130%)}
.product-card{overflow:hidden;min-height:100%;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease}.product-card:hover{transform:translateY(-4px);border-color:rgba(77,141,255,0.5)}.cover{aspect-ratio:16/10;background:linear-gradient(135deg,rgba(77,141,255,0.26),rgba(168,85,247,0.2));position:relative;overflow:hidden;border-bottom:1px solid rgba(244,250,255,0.08)}.cover img{width:100%;height:100%;object-fit:cover;display:block}.cover-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:42px;font-weight:950;letter-spacing:-.06em;color:rgba(244,250,255,0.85)}
.card-body{padding:22px;display:flex;flex-direction:column;flex:1}.card-body h3{margin:0 0 9px;font-size:21px;letter-spacing:-.025em}.card-body p{color:#9CB0C8;line-height:1.55;margin:0 0 24px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.price{font-size:22px;font-weight:900}.card-link{font-weight:800;font-size:14px;color:#4D8DFF}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{padding:24px}.feature-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(77,141,255,0.16);color:#4D8DFF;font-weight:900;margin-bottom:20px}.feature-card h3{margin:0 0 8px;font-size:17px}.feature-card p{margin:0;color:#9CB0C8;line-height:1.55}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq-card{padding:22px}.faq-card h3{margin:0 0 8px;font-size:16px}.faq-card p{margin:0;color:#9CB0C8;line-height:1.55}.support-card{padding:34px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(135deg,rgba(77,141,255,0.14),rgba(168,85,247,0.08))}.support-card h2{margin:0 0 8px;font-size:28px;letter-spacing:-.03em}.support-card p{margin:0;color:#9CB0C8}
.content-section,.banner-card{background:rgba(16,33,55,0.78);border:1px solid rgba(244,250,255,0.12);border-radius:28px;box-shadow:0 26px 80px rgba(0,0,0,.16);backdrop-filter:blur(18px) saturate(130%)}.content-section{padding:38px}.content-section h2,.banner-card h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.035em;margin:14px 0}.content-section p,.banner-card p{color:#9CB0C8;line-height:1.75;max-width:820px;white-space:pre-line}.content-section .button{margin-top:10px}.banner-card{padding:36px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(135deg,rgba(77,141,255,0.14),rgba(168,85,247,0.08))}.admin-shell{padding:42px 0 80px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-top h1{margin:0;font-size:36px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.admin-stat{padding:22px;background:rgba(16,33,55,0.78);border:1px solid rgba(244,250,255,0.12);border-radius:28px}.admin-stat span{display:block;color:#9CB0C8;font-size:13px;margin-bottom:8px}.admin-stat strong{font-size:26px}.admin-table-wrap{overflow:auto;background:rgba(16,33,55,0.78);border:1px solid rgba(244,250,255,0.12);border-radius:28px}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{text-align:left;padding:14px 16px;border-bottom:1px solid rgba(244,250,255,0.08);font-size:13px}.admin-table th{color:#9CB0C8;font-weight:700}.admin-table tr:last-child td{border-bottom:0}.footer{padding:38px 0 54px;color:#9CB0C8;font-size:13px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(244,250,255,0.08)}.product-page{padding:54px 0 90px}.back{display:inline-flex;margin-bottom:22px;color:#9CB0C8}.product-panel{display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.product-visual{min-height:520px;background:linear-gradient(135deg,rgba(77,141,255,0.22),rgba(168,85,247,0.18));position:relative}.product-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.product-info{padding:48px;display:flex;flex-direction:column;justify-content:center}.product-info h1{font-size:clamp(36px,5vw,60px);line-height:1;letter-spacing:-.045em;margin:18px 0}.product-info p{color:#9CB0C8;font-size:18px;line-height:1.65}.buy-box{margin-top:18px;padding-top:22px;border-top:1px solid rgba(244,250,255,0.09)}.buy-line{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.buy-note{display:block;color:#9CB0C8;line-height:1.45;margin-top:14px}.status-panel{max-width:720px;margin:80px auto;padding:48px;text-align:center}.status-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:linear-gradient(135deg,#4D8DFF,#A855F7);font-size:30px;font-weight:900;color:#fff}.muted{color:#9CB0C8}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.admin-tab{display:inline-flex;padding:10px 14px;border-radius:999px;border:1px solid rgba(244,250,255,0.12);color:#9CB0C8;font-weight:800;font-size:13px}.admin-tab.active{background:#4D8DFF;border-color:#4D8DFF;color:#fff}.admin-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-product-card{padding:22px;background:rgba(16,33,55,0.78);border:1px solid rgba(244,250,255,0.12);border-radius:28px}.admin-product-card h3{margin:0 0 6px}.admin-product-card .product-id{font-size:12px;color:#9CB0C8;margin-bottom:14px}.admin-form{display:grid;gap:10px}.admin-form label{display:grid;gap:5px;color:#9CB0C8;font-size:12px;font-weight:800}.admin-form input[type=text],.admin-form input[type=number],.admin-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(244,250,255,0.12);background:#08111F;color:#F4FAFF;border-radius:12px;padding:10px 12px;font:inherit}.admin-form textarea{min-height:96px;resize:vertical}.admin-form-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.admin-check{display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center;gap:8px!important;padding:7px 0}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-note{padding:12px 14px;border:1px solid rgba(244,250,255,0.12);border-radius:12px;color:#9CB0C8;font-size:12px;line-height:1.5}.flash{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:rgba(77,141,255,0.14);border:1px solid rgba(77,141,255,0.35);font-weight:800}
.admin-login-shell{min-height:72vh;display:grid;place-items:center;padding:50px 0}.admin-login-card{width:min(480px,100%);padding:34px;background:rgba(16,33,55,0.78);border:1px solid rgba(244,250,255,0.12);border-radius:28px;box-shadow:0 26px 80px rgba(0,0,0,.16)}.admin-login-card h1{font-size:40px;margin:16px 0 8px}.admin-login-back{margin-top:18px}.admin-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-toolbar form{margin:0}.admin-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 28px}.admin-kv{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(244,250,255,0.08)}.admin-kv span{color:#9CB0C8}.admin-subtitle{margin:30px 0 14px}.admin-add-card{max-width:780px}.admin-product-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.admin-cover{width:76px;height:58px;object-fit:cover;border-radius:10px;border:1px solid rgba(244,250,255,0.12)}.admin-file{width:100%;border:1px dashed rgba(244,250,255,0.13);border-radius:12px;padding:10px;background:#08111F;color:#F4FAFF}.admin-inline-form{margin-top:8px}.danger-button{border-color:rgba(255,80,80,.35)!important;color:#ff8585!important}.danger-flash{background:rgba(255,80,80,.10);border-color:rgba(255,80,80,.32)}.admin-form input[type=password]{width:100%;box-sizing:border-box;border:1px solid rgba(244,250,255,0.12);background:#08111F;color:#F4FAFF;border-radius:12px;padding:10px 12px;font:inherit}
@media(max-width:900px){.product-grid{grid-template-columns:1fr 1fr}.admin-dashboard-grid{grid-template-columns:1fr}.product-panel{grid-template-columns:1fr}.product-visual{min-height:360px}.nav a:not(.nav-cta){display:none}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1160px)}.hero{padding:64px 0 44px}.product-grid,.feature-grid,.faq-grid,.admin-stats,.admin-product-grid{grid-template-columns:1fr}.section-head,.support-card,.banner-card,.footer,.admin-top{align-items:flex-start;flex-direction:column}.product-info{padding:30px}.content-section,.banner-card{padding:26px}}

.gallery-grid,.quote-grid,.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-wide{grid-template-columns:1fr}.cols-auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.gallery-card,.quote-card,.step-card{margin:0;background:rgba(16,33,55,0.78);border:1px solid rgba(244,250,255,0.12);border-radius:28px;overflow:hidden;box-shadow:0 26px 80px rgba(0,0,0,.16);backdrop-filter:blur(18px) saturate(130%)}
.gallery-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-card figcaption{padding:14px 16px;color:#9CB0C8;font-size:14px}
.quote-card,.step-card{padding:24px}.quote-card p,.step-card p{color:#9CB0C8;line-height:1.7}.quote-card strong{display:block;margin-top:18px}.quote-card span{display:block;color:#9CB0C8;font-size:13px;margin-top:4px}.quote-mark{font-size:42px;line-height:1;color:#A855F7}.step-num{font-weight:900;color:#A855F7;letter-spacing:.08em}
.section[style],.hero[style]{background-repeat:no-repeat;background-size:cover;background-position:center;padding-left:32px;padding-right:32px;border-radius:28px}
@media(max-width:760px){.gallery-grid,.quote-grid,.steps-grid,.cols-2{grid-template-columns:1fr}.section[style],.hero[style]{padding-left:20px;padding-right:20px}}

.admin-form select{width:100%;box-sizing:border-box;border:1px solid rgba(244,250,255,.12);background:#08111F;color:#F4FAFF;border-radius:12px;padding:10px 12px;font:inherit}.gateway-buttons{display:grid;gap:2px}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em;overflow-wrap:anywhere}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.media-card{overflow:hidden;background:rgba(16,33,55,.78);border:1px solid rgba(244,250,255,.12);border-radius:22px}.media-card>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#08111F}.media-meta{padding:14px;display:grid;gap:8px}.media-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-meta code{color:#9CB0C8;font-size:11px}.media-meta span{color:#9CB0C8;font-size:12px}.admin-inline-compact{display:flex;gap:6px;align-items:center}.admin-inline-compact input{min-width:170px;border:1px solid rgba(244,250,255,.12);background:#08111F;color:#F4FAFF;border-radius:10px;padding:9px 10px}.role-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(77,141,255,.14);font-size:11px;font-weight:800}@media(max-width:640px){.media-grid{grid-template-columns:1fr}.admin-inline-compact{align-items:stretch;flex-direction:column}}

.coupon-label{display:grid;gap:6px;margin:8px 0 2px;color:#9CB0C8;font-size:12px;font-weight:800}.coupon-input{width:100%;box-sizing:border-box;border:1px solid rgba(244,250,255,.14);background:#08111F;color:#F4FAFF;border-radius:12px;padding:11px 12px}.gateway-buy-form+.gateway-buy-form{margin-top:12px;padding-top:12px;border-top:1px solid rgba(244,250,255,.08)}

/* v12 catalog + cart */
.cart-badge{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;background:var(--cms-primary,#4d8dff);color:#fff;font-size:12px;font-weight:800}.catalog-tools,.catalog-filter{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 22px}.category-chips{display:flex;gap:8px;flex-wrap:wrap}.chip,.mini-category{display:inline-flex;border:1px solid color-mix(in srgb,var(--cms-text,#fff) 14%,transparent);border-radius:999px;padding:7px 11px;font-size:12px;text-decoration:none;color:var(--cms-muted,#9cb0c8);background:color-mix(in srgb,var(--cms-surface,#102137) 78%,transparent)}.chip:hover,.chip.active{color:var(--cms-text,#fff);border-color:var(--cms-primary,#4d8dff)}.mini-category{padding:4px 8px;margin-bottom:8px}.cart-add-form,.cart-product-add{margin-top:14px}.cart-add-form .button,.cart-product-add .button{width:100%}.catalog-filter input,.catalog-filter select{min-height:46px;padding:10px 13px;border-radius:14px;border:1px solid color-mix(in srgb,var(--cms-text,#fff) 14%,transparent);background:var(--cms-surface,#102137);color:var(--cms-text,#fff)}.catalog-filter input{flex:1 1 260px}.cart-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:24px;align-items:start}.cart-items{display:grid;gap:12px}.cart-item{display:grid;grid-template-columns:82px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px;border-radius:var(--cms-radius,22px);background:var(--cms-surface,#102137);border:1px solid color-mix(in srgb,var(--cms-text,#fff) 12%,transparent)}.cart-item img,.cart-thumb-placeholder{width:82px;height:62px;object-fit:cover;border-radius:12px}.cart-thumb-placeholder{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;background:color-mix(in srgb,var(--cms-primary,#4d8dff) 18%,var(--cms-surface,#102137))}.cart-item-main{display:grid;gap:5px}.cart-item-main a{color:var(--cms-text,#fff);text-decoration:none}.cart-item-main .muted{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cart-summary{position:sticky;top:20px;padding:20px;border-radius:var(--cms-radius,22px);background:var(--cms-surface,#102137);border:1px solid color-mix(in srgb,var(--cms-text,#fff) 12%,transparent);display:grid;gap:14px}.cart-summary form{display:grid;gap:8px}.receipt-items{display:grid;gap:10px;margin:22px 0;text-align:left}.receipt-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border-radius:16px;background:var(--cms-surface,#102137);border:1px solid color-mix(in srgb,var(--cms-text,#fff) 12%,transparent)}.receipt-item>div{display:grid;gap:4px}.empty-state{padding:34px;text-align:center;border-radius:var(--cms-radius,22px);background:var(--cms-surface,#102137);grid-column:1/-1}.analytics-bars{display:grid;gap:8px}.analytics-row{display:grid;grid-template-columns:100px 1fr 40px;gap:10px;align-items:center;font-size:13px}.analytics-track{height:10px;background:color-mix(in srgb,var(--cms-text,#fff) 8%,transparent);border-radius:999px;overflow:hidden}.analytics-fill{height:100%;background:linear-gradient(90deg,var(--cms-primary,#4d8dff),var(--cms-accent,#a855f7));border-radius:999px}.notification-card.unread{border-color:var(--cms-primary,#4d8dff)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--cms-primary,#4d8dff) 30%,transparent)}
@media(max-width:820px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}.cart-item{grid-template-columns:64px 1fr}.cart-item img,.cart-thumb-placeholder{width:64px;height:54px}.cart-item>.price,.cart-item>form{grid-column:2}.analytics-row{grid-template-columns:84px 1fr 34px}}

/* v13 license delivery */
.license-box,.license-inline{display:grid;gap:8px;padding:14px 16px;margin:16px 0;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,var(--primary) 12%)}
.license-box span,.license-inline span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.license-box code,.license-inline code{font-size:1rem;word-break:break-all;user-select:all}.license-inline{margin:10px 0 0;padding:10px 12px}

/* v14 visual design system */
.cms-body{min-height:100vh}.cms-body .site-shell{overflow:clip}.cms-body .wrap{z-index:2}.topbar{transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.topbar.is-sticky{position:sticky;top:0;z-index:20}.header-glass{background:color-mix(in srgb,var(--cms-bg) 68%,transparent);backdrop-filter:blur(20px) saturate(140%);border:1px solid color-mix(in srgb,var(--cms-text) 10%,transparent);border-top:0;border-radius:0 0 calc(var(--cms-radius)*.7) calc(var(--cms-radius)*.7);padding-inline:18px}.header-solid{background:var(--cms-surface);padding-inline:18px;border-radius:0 0 calc(var(--cms-radius)*.55) calc(var(--cms-radius)*.55);box-shadow:var(--cms-shadow)}.header-minimal{background:transparent;border-bottom-color:color-mix(in srgb,var(--cms-text) 11%,transparent)}.header-layout-centered{flex-direction:column;height:auto;min-height:92px;justify-content:center;gap:10px;padding-block:14px}.header-layout-centered .nav{justify-content:center;flex-wrap:wrap}.nav{color:var(--cms-muted)!important}.nav a:hover{color:var(--cms-text)!important}.nav-cta{border-color:color-mix(in srgb,var(--cms-text) 14%,transparent)!important;background:color-mix(in srgb,var(--cms-surface) 70%,transparent)!important;color:var(--cms-text)!important}
.button,.nav-cta{border-radius:calc(var(--cms-radius)*.68)!important;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important}.button{background:linear-gradient(135deg,var(--cms-primary),var(--cms-accent))!important;box-shadow:0 12px 30px color-mix(in srgb,var(--cms-primary) 25%,transparent)!important}.button.secondary{background:color-mix(in srgb,var(--cms-surface) 72%,transparent)!important;border:1px solid color-mix(in srgb,var(--cms-text) 13%,transparent)!important;color:var(--cms-text)!important;box-shadow:none!important}.button-style-pill .button,.button-style-pill .nav-cta{border-radius:999px!important}.button-style-square .button,.button-style-square .nav-cta{border-radius:2px!important}.button-style-outline .button{background:transparent!important;border:1px solid var(--cms-primary)!important;color:var(--cms-text)!important;box-shadow:none!important}.button-style-outline .button:hover{background:color-mix(in srgb,var(--cms-primary) 12%,transparent)!important}
.product-card,.feature-card,.faq-card,.gallery-card,.quote-card,.step-card,.content-section,.banner-card,.support-card,.product-panel,.cart-item,.cart-summary,.stat-card,.image-text-grid{border-radius:var(--cms-radius)!important}.card-style-glass .product-card,.card-style-glass .feature-card,.card-style-glass .faq-card,.card-style-glass .gallery-card,.card-style-glass .quote-card,.card-style-glass .step-card,.card-style-glass .content-section,.card-style-glass .banner-card,.card-style-glass .support-card,.card-style-glass .stat-card,.card-style-glass .image-text-grid{background:color-mix(in srgb,var(--cms-surface) 74%,transparent)!important;backdrop-filter:blur(18px) saturate(130%);border-color:color-mix(in srgb,var(--cms-text) 12%,transparent)!important;box-shadow:var(--cms-shadow)!important}.card-style-solid .product-card,.card-style-solid .feature-card,.card-style-solid .faq-card,.card-style-solid .gallery-card,.card-style-solid .quote-card,.card-style-solid .step-card,.card-style-solid .content-section,.card-style-solid .banner-card,.card-style-solid .support-card,.card-style-solid .stat-card,.card-style-solid .image-text-grid{background:var(--cms-surface)!important;backdrop-filter:none;box-shadow:var(--cms-shadow)!important}.card-style-outline .product-card,.card-style-outline .feature-card,.card-style-outline .faq-card,.card-style-outline .gallery-card,.card-style-outline .quote-card,.card-style-outline .step-card,.card-style-outline .content-section,.card-style-outline .banner-card,.card-style-outline .support-card,.card-style-outline .stat-card,.card-style-outline .image-text-grid{background:transparent!important;border:1px solid color-mix(in srgb,var(--cms-text) 18%,transparent)!important;box-shadow:none!important;backdrop-filter:none}.card-style-flat .product-card,.card-style-flat .feature-card,.card-style-flat .faq-card,.card-style-flat .gallery-card,.card-style-flat .quote-card,.card-style-flat .step-card,.card-style-flat .content-section,.card-style-flat .banner-card,.card-style-flat .support-card,.card-style-flat .stat-card,.card-style-flat .image-text-grid{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none}
.cms-section[style]{position:relative;padding:var(--section-py,72px) 0!important;min-height:var(--section-min-h,0);border-radius:0;isolation:isolate;margin:0;overflow:hidden}.cms-section+.cms-section{margin-top:var(--cms-section-gap)}.cms-section .section-layer{position:absolute;inset:0;z-index:0;background:var(--section-bg,transparent);pointer-events:none}.cms-section.has-bg-image .section-layer{background-image:linear-gradient(color-mix(in srgb,var(--section-overlay,#000) var(--section-overlay-opacity,48%),transparent),color-mix(in srgb,var(--section-overlay,#000) var(--section-overlay-opacity,48%),transparent)),var(--section-image);background-size:cover;background-position:center}.cms-section-content{position:relative;z-index:1}.cms-section.visual-card,.cms-section.visual-glass,.cms-section.visual-contrast{padding-left:clamp(20px,3vw,42px)!important;padding-right:clamp(20px,3vw,42px)!important;border-radius:var(--cms-radius)!important}.cms-section.visual-card{background:var(--section-bg,var(--cms-surface));border:1px solid color-mix(in srgb,var(--cms-text) 10%,transparent);box-shadow:var(--cms-shadow)}.cms-section.visual-glass{background:color-mix(in srgb,var(--cms-surface) 68%,transparent);border:1px solid color-mix(in srgb,var(--cms-text) 13%,transparent);box-shadow:var(--cms-shadow);backdrop-filter:blur(24px) saturate(130%)}.cms-section.visual-contrast{background:linear-gradient(135deg,var(--cms-primary),var(--cms-accent));color:#fff;box-shadow:var(--cms-shadow)}.cms-section.visual-contrast .section-head p,.cms-section.visual-contrast .content-section p,.cms-section.visual-contrast .muted{color:rgba(255,255,255,.78)!important}.cms-section.align-center{text-align:center}.cms-section.align-center .hero-inner,.cms-section.align-center .content-section p,.cms-section.align-center .section-head p{margin-left:auto;margin-right:auto}.cms-section.align-center .hero-actions,.cms-section.align-center .trust-row{justify-content:center}.cms-section.align-center .section-head{align-items:center;flex-direction:column}.cms-section.align-center .banner-card,.cms-section.align-center .support-card{justify-content:center;text-align:center;flex-direction:column}.cms-section .section-head h2,.cms-section h1,.cms-section h2{color:inherit}.cms-section .section-head p{color:var(--cms-muted)}
.hero.cms-section{padding-top:var(--section-py,92px)!important;padding-bottom:var(--section-py,72px)!important}.hero h1{font-size:clamp(3rem,7vw,6.2rem);text-wrap:balance}.hero p{font-size:clamp(1.05rem,2vw,1.35rem)}.eyebrow,.pill{background:color-mix(in srgb,var(--cms-surface) 68%,transparent)!important;border-color:color-mix(in srgb,var(--cms-text) 12%,transparent)!important;color:var(--cms-muted)!important}.eyebrow-dot{background:var(--cms-accent)!important;box-shadow:0 0 18px var(--cms-accent)!important}.price,.card-link,.feature-icon,.step-num,.quote-mark{color:var(--cms-primary)!important}.feature-icon{background:color-mix(in srgb,var(--cms-primary) 15%,transparent)!important}.product-card:hover{border-color:color-mix(in srgb,var(--cms-primary) 52%,transparent)!important}.product-card,.feature-card,.faq-card,.gallery-card,.quote-card,.step-card,.content-section,.banner-card,.support-card,.stat-card,.image-text-grid{border-color:color-mix(in srgb,var(--cms-text) 11%,transparent)}
.image-text-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:clamp(28px,6vw,74px);align-items:center;padding:clamp(24px,4vw,46px);border:1px solid color-mix(in srgb,var(--cms-text) 11%,transparent);background:color-mix(in srgb,var(--cms-surface) 78%,transparent)}.image-text-copy h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.04em;margin:14px 0}.image-text-copy p{color:var(--cms-muted);line-height:1.75;white-space:pre-line}.image-text-media img,.design-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--cms-radius)*.75);display:block}.design-placeholder{display:grid;place-items:center;padding:28px;text-align:center;color:var(--cms-muted);background:linear-gradient(135deg,color-mix(in srgb,var(--cms-primary) 16%,transparent),color-mix(in srgb,var(--cms-accent) 10%,transparent));border:1px dashed color-mix(in srgb,var(--cms-text) 15%,transparent)}.image-text-media span{display:block;color:var(--cms-muted);font-size:.8rem;margin-top:9px}.image-text-wide{grid-template-columns:1fr}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat-card{padding:clamp(24px,4vw,40px);background:color-mix(in srgb,var(--cms-surface) 78%,transparent);border:1px solid color-mix(in srgb,var(--cms-text) 11%,transparent);display:grid;gap:8px}.stat-card strong{font-size:clamp(2.1rem,5vw,4.6rem);line-height:.95;letter-spacing:-.055em;color:var(--cms-primary)}.stat-card span{color:var(--cms-muted);line-height:1.5}.cms-spacer{min-height:0!important;padding:var(--section-py,48px) 0!important}.footer-designed{margin-top:var(--cms-section-gap);padding-top:34px;align-items:flex-start}.footer-designed strong{color:var(--cms-text);font-size:1rem}.footer-designed p{margin:8px 0 0;max-width:520px}.footer-meta{display:grid;text-align:right;gap:6px}
.motion-on .anim-fade{animation:cmsFade .55s ease both}.motion-on .anim-fade-up{animation:cmsFadeUp .65s cubic-bezier(.2,.7,.2,1) both}.motion-on .anim-zoom{animation:cmsZoom .6s cubic-bezier(.2,.7,.2,1) both}.motion-off .cms-section{animation:none!important}@keyframes cmsFade{from{opacity:0}to{opacity:1}}@keyframes cmsFadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes cmsZoom{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:none}}.cms-preview-selected{outline:3px solid #7c6cff!important;outline-offset:5px;box-shadow:0 0 0 7px rgba(124,108,255,.16)!important;cursor:pointer}.cms-preview-selected::after{content:"Редактируется";position:absolute;right:12px;top:12px;z-index:5;padding:6px 9px;border-radius:999px;background:#6657f4;color:#fff;font:700 11px/1 "Segoe UI",Arial,sans-serif;letter-spacing:0}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.product-grid.cols-2,.feature-grid.cols-2,.stats-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid.cols-wide,.feature-grid.cols-wide,.stats-grid.cols-wide{grid-template-columns:1fr}.product-grid.cols-auto,.feature-grid.cols-auto,.stats-grid.cols-auto{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media(max-width:900px){.header-layout-split .nav a:not(.nav-cta){display:none}.cms-section+.cms-section{margin-top:calc(var(--cms-section-gap)*.75)}.image-text-grid{grid-template-columns:1fr}.stats-grid,.stats-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.wrap{width:min(100% - 28px,var(--cms-width))!important}.cms-section[style]{padding-top:var(--section-mobile-py,44px)!important;padding-bottom:var(--section-mobile-py,44px)!important}.cms-section.visual-card,.cms-section.visual-glass,.cms-section.visual-contrast{padding-left:20px!important;padding-right:20px!important}.mobile-hide{display:none!important}.stats-grid,.stats-grid.cols-2,.stats-grid.cols-3,.product-grid.cols-2,.feature-grid.cols-2{grid-template-columns:1fr}.header-layout-centered .nav{display:none}.footer-meta{text-align:left}.cms-section+.cms-section{margin-top:calc(var(--cms-section-gap)*.55)}}
@media(prefers-reduced-motion:reduce){.motion-on .cms-section{animation:none!important}.button{transition:none!important}}

/* Visual Store CMS v18 design system */
.header-density-compact{height:62px}.header-density-comfortable{height:78px}.header-density-airy{height:96px}.header-borderless{border-bottom-color:transparent!important}
.footer-style-panel{margin:28px 0 30px!important;padding:30px!important;background:color-mix(in srgb,var(--cms-surface) 82%,transparent);border:1px solid color-mix(in srgb,var(--cms-text) 11%,transparent)!important;border-radius:var(--cms-radius);box-shadow:var(--cms-shadow)}
.footer-style-contrast{margin:28px 0 30px!important;padding:30px!important;background:linear-gradient(135deg,var(--cms-primary),var(--cms-accent));border:0!important;border-radius:var(--cms-radius);color:#fff!important}.footer-style-contrast strong,.footer-style-contrast p,.footer-style-contrast span{color:#fff!important}.footer-layout-centered{align-items:center!important;justify-content:center!important;text-align:center!important;flex-direction:column}.footer-layout-centered .footer-meta{text-align:center!important}
.ambient-none .ambient,.ambient-none .ambient-grid{display:none}.ambient-mesh .ambient{filter:blur(30px);opacity:.72}.ambient-mesh .ambient-grid{display:block;position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--cms-primary) 12%,transparent),transparent 32%),radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--cms-accent) 10%,transparent),transparent 28%),radial-gradient(circle at 50% 82%,color-mix(in srgb,var(--cms-primary) 7%,transparent),transparent 35%)}.ambient-grid .ambient{display:none}.ambient-grid .ambient-grid{display:block;position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;background-image:linear-gradient(color-mix(in srgb,var(--cms-text) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--cms-text) 7%,transparent) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 90%)}
.card-hover-none .product-card,.card-hover-none .feature-card,.card-hover-none .faq-card,.card-hover-none .gallery-card,.card-hover-none .quote-card,.card-hover-none .step-card,.card-hover-none .stat-card,.card-hover-none .column-card{transition:none!important}.card-hover-none .product-card:hover,.card-hover-none .feature-card:hover,.card-hover-none .faq-card:hover,.card-hover-none .gallery-card:hover,.card-hover-none .quote-card:hover,.card-hover-none .step-card:hover,.card-hover-none .stat-card:hover,.card-hover-none .column-card:hover{transform:none!important;box-shadow:inherit!important}.card-hover-lift :is(.product-card,.feature-card,.faq-card,.gallery-card,.quote-card,.step-card,.stat-card,.column-card){transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card-hover-lift :is(.product-card,.feature-card,.faq-card,.gallery-card,.quote-card,.step-card,.stat-card,.column-card):hover{transform:translateY(-7px)}.card-hover-glow :is(.product-card,.feature-card,.faq-card,.gallery-card,.quote-card,.step-card,.stat-card,.column-card){transition:box-shadow .25s ease,border-color .25s ease}.card-hover-glow :is(.product-card,.feature-card,.faq-card,.gallery-card,.quote-card,.step-card,.stat-card,.column-card):hover{border-color:color-mix(in srgb,var(--cms-primary) 58%,transparent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--cms-primary) 25%,transparent),0 20px 70px color-mix(in srgb,var(--cms-primary) 22%,transparent)!important}.card-hover-zoom :is(.product-card,.feature-card,.faq-card,.gallery-card,.quote-card,.step-card,.stat-card,.column-card){transition:transform .22s ease}.card-hover-zoom :is(.product-card,.feature-card,.faq-card,.gallery-card,.quote-card,.step-card,.stat-card,.column-card):hover{transform:scale(1.022)}
.cover-ratio-landscape .cover{aspect-ratio:16/10}.cover-ratio-wide .cover{aspect-ratio:16/7}.cover-ratio-square .cover{aspect-ratio:1}.cover-ratio-portrait .cover{aspect-ratio:4/5}.image-fit-contain .cover img{object-fit:contain;background:color-mix(in srgb,var(--cms-surface) 90%,var(--cms-bg))}.image-fit-cover .cover img{object-fit:cover}.product-density-compact .card-body{padding:16px}.product-density-compact .card-body p{margin-bottom:14px;-webkit-line-clamp:2}.product-density-airy .card-body{padding:30px}.product-density-airy .card-body h3{font-size:24px}.product-density-airy .card-body p{line-height:1.72;margin-bottom:30px}
.cms-section-content{width:min(var(--section-content-width,100%),100%);margin-left:auto;margin-right:auto}.cms-section.visual-card,.cms-section.visual-glass,.cms-section.visual-contrast{border-radius:var(--section-radius,var(--cms-radius))!important}.decor-glow::before{content:"";position:absolute;width:42%;aspect-ratio:1;right:-12%;top:-28%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--cms-primary) 25%,transparent),transparent 65%);filter:blur(20px);pointer-events:none;z-index:0}.decor-grid::before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--cms-text) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--cms-text) 7%,transparent) 1px,transparent 1px);background-size:34px 34px;opacity:.32;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent);pointer-events:none;z-index:0}.decor-dots::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--cms-text) 14%,transparent) 1.2px,transparent 1.4px);background-size:22px 22px;opacity:.35;mask-image:linear-gradient(135deg,rgba(0,0,0,.85),transparent 72%);pointer-events:none;z-index:0}
.custom-columns{display:grid;gap:18px}.custom-columns.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-columns.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-columns.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.custom-columns.cols-auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.custom-columns.cols-wide{grid-template-columns:1fr}.column-card{overflow:hidden;display:flex;flex-direction:column;min-width:0;border-radius:var(--cms-radius);border:1px solid color-mix(in srgb,var(--cms-text) 11%,transparent);background:color-mix(in srgb,var(--cms-surface) 76%,transparent);box-shadow:var(--cms-shadow)}.column-image{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.column-copy{padding:clamp(20px,3vw,30px);display:flex;flex-direction:column;align-items:flex-start;gap:12px;height:100%}.column-copy h3{font-size:clamp(1.3rem,2.2vw,1.85rem);margin:0;letter-spacing:-.03em}.column-copy p{color:var(--cms-muted);line-height:1.65;margin:0 0 6px;white-space:pre-line}.column-copy .button{margin-top:auto}.column-card.align-center{text-align:center}.column-card.align-center .column-copy{align-items:center}.column-card.align-center p{margin-left:auto;margin-right:auto}
.desktop-hide{display:none!important}
@media(max-width:1024px) and (min-width:641px){.desktop-hide{display:block!important}.tablet-hide{display:none!important}.custom-columns.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.desktop-hide{display:block!important}.tablet-hide{display:block!important}.mobile-hide{display:none!important}.mobile-align-left{text-align:left!important}.mobile-align-left .hero-actions,.mobile-align-left .trust-row{justify-content:flex-start!important}.mobile-align-center{text-align:center!important}.mobile-align-center .hero-actions,.mobile-align-center .trust-row{justify-content:center!important}.mobile-align-center .section-head{align-items:center!important;flex-direction:column!important}.custom-columns,.custom-columns.cols-2,.custom-columns.cols-3,.custom-columns.cols-4{grid-template-columns:1fr}.column-image{aspect-ratio:16/9}}
.product-grid.cols-4,.feature-grid.cols-4,.stats-grid.cols-4,.gallery-grid.cols-4,.quote-grid.cols-4,.steps-grid.cols-4,.faq-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-grid.cols-2,.quote-grid.cols-2,.steps-grid.cols-2,.faq-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid.cols-wide,.quote-grid.cols-wide,.steps-grid.cols-wide,.faq-grid.cols-wide{grid-template-columns:1fr}.gallery-grid.cols-auto,.quote-grid.cols-auto,.steps-grid.cols-auto,.faq-grid.cols-auto{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media(max-width:1024px){.product-grid.cols-4,.feature-grid.cols-4,.stats-grid.cols-4,.gallery-grid.cols-4,.quote-grid.cols-4,.steps-grid.cols-4,.faq-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.product-grid.cols-4,.feature-grid.cols-4,.stats-grid.cols-4,.gallery-grid.cols-4,.quote-grid.cols-4,.steps-grid.cols-4,.faq-grid.cols-4{grid-template-columns:1fr}}
.header-layout-centered.header-density-compact{min-height:72px;padding-block:8px}.header-layout-centered.header-density-comfortable{min-height:92px;padding-block:14px}.header-layout-centered.header-density-airy{min-height:114px;padding-block:20px}
.card-style-glass .column-card{background:color-mix(in srgb,var(--cms-surface) 74%,transparent)!important;backdrop-filter:blur(18px) saturate(130%);border-color:color-mix(in srgb,var(--cms-text) 12%,transparent)!important;box-shadow:var(--cms-shadow)!important}.card-style-solid .column-card{background:var(--cms-surface)!important;backdrop-filter:none;box-shadow:var(--cms-shadow)!important}.card-style-outline .column-card{background:transparent!important;border:1px solid color-mix(in srgb,var(--cms-text) 18%,transparent)!important;box-shadow:none!important;backdrop-filter:none}.card-style-flat .column-card{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none}

/* v18 visual builder */
.mobile-menu-toggle{display:none;width:44px;height:40px;border:1px solid color-mix(in srgb,var(--cms-text) 14%,transparent);background:color-mix(in srgb,var(--cms-surface) 75%,transparent);border-radius:calc(var(--cms-radius)*.45);align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--cms-text);cursor:pointer}.mobile-menu-toggle span{display:block;width:18px;height:2px;background:currentColor;border-radius:999px;transition:.18s}.mobile-nav-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-nav-open .mobile-menu-toggle span:nth-child(2){opacity:0}.mobile-nav-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero-composer{display:grid;align-items:center;gap:clamp(28px,5vw,72px)}.hero-layout-centered{grid-template-columns:1fr}.hero-layout-centered .hero-inner{max-width:920px}.hero-layout-media-right,.hero-layout-media-left{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr)}.hero-layout-media-left .hero-media{order:-1}.hero-media{position:relative;overflow:hidden;border-radius:calc(var(--cms-radius)*1.15);border:1px solid color-mix(in srgb,var(--cms-text) 14%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--cms-primary) 14%,transparent),color-mix(in srgb,var(--cms-accent) 10%,transparent));box-shadow:var(--cms-shadow)}.hero-media.media-ratio-landscape{aspect-ratio:16/11}.hero-media.media-ratio-square{aspect-ratio:1}.hero-media.media-ratio-portrait{aspect-ratio:4/5}.hero-media img{width:100%;height:100%;display:block}.hero-media.media-fit-cover img{object-fit:cover}.hero-media.media-fit-contain img{object-fit:contain;padding:clamp(18px,4vw,42px)}.hero-media-placeholder{height:100%;min-height:320px;display:grid;place-content:center;text-align:center;gap:8px;color:var(--cms-muted);background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--cms-primary) 22%,transparent),transparent 45%)}.hero-media-placeholder span{font-size:1.25rem;font-weight:850;color:var(--cms-text)}
.custom-columns.ratio-2-1.cols-2{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.custom-columns.ratio-1-2.cols-2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.custom-columns.ratio-3-2.cols-2{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.custom-columns.ratio-2-3.cols-2{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.product-page-layout-centered .product-page{max-width:920px;margin-inline:auto}.product-page-layout-centered .product-panel{grid-template-columns:1fr}.product-page-layout-centered .product-visual{min-height:420px;aspect-ratio:16/9}.product-page-layout-centered .product-info{text-align:center;align-items:center}.product-page-layout-centered .buy-box{width:min(100%,620px)}.product-page-layout-compact .product-page{max-width:980px;margin-inline:auto}.product-page-layout-compact .product-panel{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)}.product-page-layout-compact .product-visual{min-height:420px}.product-page-panel-flat .product-panel{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}.product-page-panel-outline .product-panel{background:transparent!important;border:1px solid color-mix(in srgb,var(--cms-text) 18%,transparent)!important;box-shadow:none!important;backdrop-filter:none!important}
@media(max-width:900px){.mobile-menu-toggle{display:flex;margin-left:auto;z-index:42}.header-layout-centered .mobile-menu-toggle{margin-inline:auto}.topbar{position:relative}.topbar .nav{display:flex!important;position:fixed;z-index:40;gap:6px;flex-direction:column;align-items:stretch;padding:20px;background:color-mix(in srgb,var(--cms-surface) 94%,transparent);backdrop-filter:blur(22px);border:1px solid color-mix(in srgb,var(--cms-text) 14%,transparent);box-shadow:0 28px 80px rgba(0,0,0,.35);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}.topbar .nav a{display:flex!important;padding:12px 14px;border-radius:12px;color:var(--cms-text)!important}.mobile-nav-open .topbar .nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}.mobile-menu-drawer .topbar .nav{top:0;right:0;height:100dvh;width:min(360px,88vw);padding-top:86px;transform:translateX(105%);border-radius:0}.mobile-menu-sheet .topbar .nav{left:14px;right:14px;bottom:14px;max-height:75dvh;transform:translateY(110%);border-radius:calc(var(--cms-radius)*.8)}.mobile-menu-dropdown .topbar .nav{position:absolute;top:calc(100% + 10px);left:0;right:0;transform:translateY(-10px);border-radius:calc(var(--cms-radius)*.7)}.mobile-header-floating .topbar{margin-top:12px;border-radius:calc(var(--cms-radius)*.75)!important}.mobile-header-minimal .topbar{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.mobile-cta-hidden{display:none!important}.hero-layout-media-right,.hero-layout-media-left{grid-template-columns:1fr}.hero-layout-media-left .hero-media{order:initial}.product-page-layout-compact .product-panel{grid-template-columns:1fr}.custom-columns.ratio-2-1.cols-2,.custom-columns.ratio-1-2.cols-2,.custom-columns.ratio-3-2.cols-2,.custom-columns.ratio-2-3.cols-2{grid-template-columns:1fr}}

.detail-cover-landscape .product-visual{aspect-ratio:16/10}.detail-cover-wide .product-visual{aspect-ratio:16/7}.detail-cover-square .product-visual{aspect-ratio:1}.detail-cover-portrait .product-visual{aspect-ratio:4/5}.detail-fit-cover .product-visual img{object-fit:cover}.detail-fit-contain .product-visual img{object-fit:contain;padding:clamp(18px,4vw,48px)}

/* v18 Motion Engine: scroll/load entrance, custom motion builder, stagger and section hover */
.motion-on .cms-section.anim-fade,.motion-on .cms-section.anim-fade-up,.motion-on .cms-section.anim-fade-down,.motion-on .cms-section.anim-slide-left,.motion-on .cms-section.anim-slide-right,.motion-on .cms-section.anim-zoom,.motion-on .cms-section.anim-pop,.motion-on .cms-section.anim-blur,.motion-on .cms-section.anim-custom{animation:none!important}.motion-on.motion-runtime .cms-section.anim-fade,.motion-on.motion-runtime .cms-section.anim-fade-up,.motion-on.motion-runtime .cms-section.anim-fade-down,.motion-on.motion-runtime .cms-section.anim-slide-left,.motion-on.motion-runtime .cms-section.anim-slide-right,.motion-on.motion-runtime .cms-section.anim-zoom,.motion-on.motion-runtime .cms-section.anim-pop,.motion-on.motion-runtime .cms-section.anim-blur,.motion-on.motion-runtime .cms-section.anim-custom{transition-property:opacity,transform,filter;transition-duration:var(--motion-duration,650ms);transition-delay:var(--motion-delay,0ms);transition-timing-function:var(--motion-ease,cubic-bezier(.2,.7,.2,1));will-change:opacity,transform,filter}
.ease-smooth{--motion-ease:cubic-bezier(.2,.7,.2,1)}.ease-spring{--motion-ease:cubic-bezier(.18,1.35,.42,1)}.ease-snappy{--motion-ease:cubic-bezier(.3,.9,.35,1)}.ease-linear{--motion-ease:linear}
.motion-on.motion-runtime .cms-section.anim-fade:not(.is-inview){opacity:0}.motion-on.motion-runtime .cms-section.anim-fade-up:not(.is-inview){opacity:0;transform:translate3d(0,var(--motion-distance,28px),0)}.motion-on.motion-runtime .cms-section.anim-fade-down:not(.is-inview){opacity:0;transform:translate3d(0,calc(var(--motion-distance,28px)*-1),0)}.motion-on.motion-runtime .cms-section.anim-slide-left:not(.is-inview){opacity:0;transform:translate3d(calc(var(--motion-distance,28px)*-1),0,0)}.motion-on.motion-runtime .cms-section.anim-slide-right:not(.is-inview){opacity:0;transform:translate3d(var(--motion-distance,28px),0,0)}.motion-on.motion-runtime .cms-section.anim-zoom:not(.is-inview){opacity:0;transform:scale(.94)}.motion-on.motion-runtime .cms-section.anim-pop:not(.is-inview){opacity:0;transform:scale(.82) rotate(var(--motion-rotate,0deg))}.motion-on.motion-runtime .cms-section.anim-blur:not(.is-inview){opacity:0;filter:blur(calc(var(--motion-blur,0px) + 8px));transform:scale(.985)}.motion-on.motion-runtime .cms-section.anim-custom:not(.is-inview){opacity:var(--motion-opacity,0);transform:translate3d(var(--motion-x,0),var(--motion-y,28px),0) scale(var(--motion-scale,.96)) rotate(var(--motion-rotate,0deg));filter:blur(var(--motion-blur,0))}.motion-on.motion-runtime .cms-section.is-inview{opacity:1;transform:none;filter:none}
.motion-on.motion-runtime .cms-section.has-stagger .motion-child{opacity:0;transform:translate3d(0,var(--motion-child-distance,18px),0);transition:opacity var(--motion-duration,650ms) var(--motion-ease,cubic-bezier(.2,.7,.2,1)) var(--motion-child-delay,0ms),transform var(--motion-duration,650ms) var(--motion-ease,cubic-bezier(.2,.7,.2,1)) var(--motion-child-delay,0ms);will-change:opacity,transform}.motion-on.motion-runtime .cms-section.has-stagger.is-inview .motion-child{opacity:1;transform:none}
.cms-section .cms-section-content{transition:transform .28s ease,filter .28s ease,box-shadow .28s ease}.section-hover-lift:hover .cms-section-content{transform:translateY(-8px)}.section-hover-scale:hover .cms-section-content{transform:scale(1.012)}.section-hover-glow:hover .cms-section-content{filter:drop-shadow(0 16px 34px color-mix(in srgb,var(--cms-primary) 25%,transparent))}.section-hover-tilt:hover .cms-section-content{transform:perspective(900px) rotateX(1.2deg) rotateY(-1.6deg) scale(1.006)}
@media(prefers-reduced-motion:reduce){.motion-on .cms-section,.motion-on .cms-section .motion-child{transition:none!important;animation:none!important;transform:none!important;filter:none!important;opacity:1!important}.section-hover-lift:hover .cms-section-content,.section-hover-scale:hover .cms-section-content,.section-hover-tilt:hover .cms-section-content{transform:none!important}.section-hover-glow:hover .cms-section-content{filter:none!important}}


/* v18 Sales Builder: multi-button CTAs, offer cards, trust, guarantee, announcement and mobile sticky CTA */
.section-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.align-center .section-buttons{justify-content:center}.button-icon{font-size:1.05em;line-height:1}.button.btn-primary{background:linear-gradient(135deg,var(--cms-primary),var(--cms-accent));color:#fff}.button.btn-secondary{background:color-mix(in srgb,var(--cms-surface) 78%,transparent);border:1px solid color-mix(in srgb,var(--cms-text) 14%,transparent);box-shadow:none;color:var(--cms-text)}.button.btn-ghost{background:transparent!important;border:1px solid color-mix(in srgb,var(--cms-text) 22%,transparent)!important;box-shadow:none!important;color:var(--cms-text)!important}.button.btn-link{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--cms-primary)!important;padding-inline:6px;min-height:40px}.button.btn-link:hover{transform:none;text-decoration:underline}.buttons-section{max-width:900px}.align-center .buttons-section{margin-inline:auto}.buttons-section>p{color:var(--cms-muted);line-height:1.7}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.pricing-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pricing-grid.cols-wide{grid-template-columns:1fr}.pricing-grid.cols-auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pricing-card{position:relative;padding:clamp(24px,3vw,34px);border-radius:var(--cms-radius);background:color-mix(in srgb,var(--cms-surface) 82%,transparent);border:1px solid color-mix(in srgb,var(--cms-text) 12%,transparent);box-shadow:var(--cms-shadow);display:flex;flex-direction:column;gap:14px}.pricing-card.featured{border-color:color-mix(in srgb,var(--cms-primary) 70%,transparent);box-shadow:0 26px 90px color-mix(in srgb,var(--cms-primary) 20%,transparent);transform:translateY(-8px)}.pricing-badge{align-self:flex-start;padding:6px 10px;border-radius:999px;background:var(--cms-primary);color:#fff;font-size:12px;font-weight:900}.pricing-card h3{font-size:1.55rem;margin:0}.pricing-price{display:flex;align-items:baseline;gap:10px}.pricing-price strong{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.05em}.pricing-price del{color:var(--cms-muted)}.pricing-card>p{color:var(--cms-muted);line-height:1.6;margin:0}.pricing-card ul{list-style:none;padding:0;margin:4px 0 10px;display:grid;gap:10px}.pricing-card li{display:flex;gap:9px;line-height:1.45}.pricing-card li span{color:var(--cms-accent);font-weight:900}.pricing-card .button{margin-top:auto;width:100%}
.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.trust-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.trust-grid.cols-wide{grid-template-columns:1fr}.trust-grid.cols-auto{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.trust-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--cms-text) 11%,transparent);border-radius:calc(var(--cms-radius)*.7);background:color-mix(in srgb,var(--cms-surface) 62%,transparent)}.trust-card img{width:54px;height:36px;object-fit:contain}.trust-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--cms-primary) 16%,transparent);color:var(--cms-primary);font-weight:900}.trust-card>div{display:grid;gap:3px}.trust-card strong{font-size:.98rem}.trust-card span:not(.trust-symbol){color:var(--cms-muted);font-size:.8rem}
.guarantee-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;padding:clamp(26px,4vw,46px);border-radius:var(--cms-radius);background:linear-gradient(135deg,color-mix(in srgb,var(--cms-primary) 14%,var(--cms-surface)),color-mix(in srgb,var(--cms-accent) 9%,var(--cms-surface)));border:1px solid color-mix(in srgb,var(--cms-primary) 30%,transparent);box-shadow:var(--cms-shadow)}.guarantee-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,var(--cms-primary),var(--cms-accent));color:#fff;font-size:34px;font-weight:900}.guarantee-card h2{margin:10px 0 8px;font-size:clamp(1.8rem,4vw,3rem)}.guarantee-card p{margin:0;color:var(--cms-muted);line-height:1.7;max-width:820px}
.announcement{position:relative;z-index:80;font-size:13px;font-weight:800}.announcement-inner{width:min(calc(100% - 28px),var(--cms-width,1160px));margin:auto;min-height:38px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center}.announcement a{color:inherit;text-decoration:underline;text-underline-offset:3px}.announcement-accent{background:linear-gradient(90deg,var(--cms-primary,#4d8dff),var(--cms-accent,#a855f7));color:#fff}.announcement-subtle{background:color-mix(in srgb,var(--cms-surface,#102137) 92%,transparent);color:var(--cms-text,#fff);border-bottom:1px solid color-mix(in srgb,var(--cms-text,#fff) 10%,transparent)}.announcement-contrast{background:var(--cms-text,#fff);color:var(--cms-bg,#08111f)}
.sticky-sales-cta{display:none;position:fixed;z-index:75;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:8px;border-radius:calc(var(--cms-radius,.8rem)*.75);background:color-mix(in srgb,var(--cms-surface,#102137) 88%,transparent);backdrop-filter:blur(18px);border:1px solid color-mix(in srgb,var(--cms-text,#fff) 14%,transparent);box-shadow:0 20px 60px rgba(0,0,0,.35)}.sticky-sales-cta .button{width:100%}
@media(max-width:1024px){.pricing-grid.cols-4,.trust-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pricing-grid,.pricing-grid.cols-2,.pricing-grid.cols-3,.pricing-grid.cols-4,.trust-grid,.trust-grid.cols-2,.trust-grid.cols-3,.trust-grid.cols-4{grid-template-columns:1fr}.pricing-card.featured{transform:none}.guarantee-card{grid-template-columns:1fr}.guarantee-icon{width:58px;height:58px;border-radius:18px}.sticky-sales-cta{display:block}.cms-body:has(.sticky-sales-cta) .footer{padding-bottom:110px}.section-buttons .button{flex:1 1 100%;width:100%}}

@media(max-width:640px){.sticky-sales-cta.target-visible{opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}}

/* v19 Conversion Suite */
.comparison-wrap{overflow:auto;border-radius:calc(var(--cms-radius,22px)*.8);border:1px solid color-mix(in srgb,var(--cms-text,#fff) 12%,transparent);background:color-mix(in srgb,var(--cms-surface,#102137) 78%,transparent)}.comparison-table{width:100%;min-width:680px;border-collapse:collapse}.comparison-table th,.comparison-table td{padding:15px 18px;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--cms-text,#fff) 9%,transparent)}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left;font-weight:750}.comparison-table thead th{position:sticky;top:0;background:color-mix(in srgb,var(--cms-surface,#102137) 96%,transparent);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.comparison-highlight{background:color-mix(in srgb,var(--cms-primary,#4d8dff) 10%,transparent);font-weight:800}.comparison-table tr:last-child td{border-bottom:0}
.countdown-card{display:grid;justify-items:center;text-align:center;gap:16px}.countdown-card>p{max-width:720px}.countdown{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:12px;width:min(100%,620px)}.countdown>div{padding:18px 12px;border-radius:calc(var(--cms-radius,22px)*.7);background:color-mix(in srgb,var(--cms-surface,#102137) 82%,transparent);border:1px solid color-mix(in srgb,var(--cms-text,#fff) 13%,transparent);display:grid;gap:3px}.countdown strong{font-size:clamp(30px,5vw,52px);line-height:1;font-variant-numeric:tabular-nums}.countdown span{font-size:12px;color:var(--cms-muted,#9cb0c8);text-transform:uppercase;letter-spacing:.08em}.countdown-inactive{opacity:.55}.countdown-expired{font-weight:800;padding:15px 20px;border-radius:999px;background:color-mix(in srgb,var(--cms-accent,#a855f7) 14%,transparent)}
.lead-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:32px;align-items:center}.lead-copy{display:grid;gap:12px}.lead-form{display:grid;gap:12px;padding:22px;border-radius:var(--cms-radius,22px);background:color-mix(in srgb,var(--cms-surface,#102137) 84%,transparent);border:1px solid color-mix(in srgb,var(--cms-text,#fff) 13%,transparent)}.lead-form label{display:grid;gap:6px;font-size:13px;font-weight:750}.lead-form input,.lead-form textarea{width:100%;padding:12px 13px;border-radius:12px;border:1px solid color-mix(in srgb,var(--cms-text,#fff) 14%,transparent);background:color-mix(in srgb,var(--cms-bg,#08111f) 72%,transparent);color:var(--cms-text,#fff);font:inherit}.lead-form textarea{resize:vertical}.lead-form small{color:var(--cms-muted,#9cb0c8);font-size:11px}.lead-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.lead-success,.lead-error{padding:12px 14px;border-radius:12px;font-weight:750}.lead-success{background:color-mix(in srgb,#22c55e 15%,transparent);color:color-mix(in srgb,#22c55e 80%,var(--cms-text,#fff))}.lead-error{background:color-mix(in srgb,#ef4444 14%,transparent)}
.conversion-popup{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .18s ease}.conversion-popup.is-open{opacity:1}.conversion-popup-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.58);backdrop-filter:blur(6px);cursor:pointer}.conversion-popup-card{position:relative;z-index:1;width:min(92vw,520px);padding:34px;border-radius:var(--cms-radius,24px);background:var(--cms-surface,#102137);color:var(--cms-text,#fff);border:1px solid color-mix(in srgb,var(--cms-text,#fff) 15%,transparent);box-shadow:0 30px 110px rgba(0,0,0,.45);display:grid;gap:14px}.conversion-popup-card h2{margin:0}.conversion-popup-card p{margin:0 0 6px;color:var(--cms-muted,#9cb0c8)}.conversion-popup-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border-radius:999px;border:1px solid color-mix(in srgb,var(--cms-text,#fff) 12%,transparent);background:transparent;color:var(--cms-text,#fff);font-size:24px;cursor:pointer}
@media(max-width:700px){.lead-card{grid-template-columns:1fr}.countdown{grid-template-columns:repeat(2,1fr)}.comparison-wrap{margin-inline:-4px}.conversion-popup-card{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){.conversion-popup{transition:none!important}}

/* v19.0.8 — keep the original v19 design; only prevent content overflow. */
.cms-section-content,.section-head,.feature-grid,.feature-card,.product-grid,.product-card,.card-body,
.product-info,.buy-box,.catalog-tools,.nav,.footer,.footer-meta{min-width:0;max-width:100%}
.feature-card h3,.feature-card p,.product-card h3,.product-card p,.section-head h1,.section-head h2,.section-head p,
.product-info h1,.product-info p,.hero h1,.hero p,.text-card,.banner,.support-card,.faq-card,.step-card,
.stat-card,.column-card,.pricing-card,.comparison-wrap,.lead-card,.trust-card,.guarantee-card{
  overflow-wrap:anywhere;word-break:normal;
}
img,video,svg,iframe{max-width:100%}
.button,.nav a,.chip,.pill,.eyebrow,.mini-category,.card-link,.trust-row span{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal;white-space:normal;text-align:center}
input,textarea,select{max-width:100%}
pre,code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}

/* SEO stories are new content, but do not alter the existing store layout. */
.seo-story{width:min(860px,100%);margin:0 auto;padding:clamp(48px,7vw,88px) 0 clamp(70px,9vw,120px)}
.seo-story-hero{display:grid;gap:18px}.seo-story-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--cms-muted);font-size:13px}.seo-story h1{font-size:clamp(2.4rem,7vw,5.2rem);line-height:1;letter-spacing:-.055em;margin:4px 0 0;overflow-wrap:anywhere}.seo-story-lead{font-size:clamp(1.08rem,2vw,1.32rem);line-height:1.7;color:var(--cms-muted);max-width:760px;margin:0}.seo-story-cover{margin:16px 0 0;border-radius:var(--cms-radius);overflow:hidden;border:1px solid color-mix(in srgb,var(--cms-text) 12%,transparent);background:var(--cms-surface);box-shadow:var(--cms-shadow)}.seo-story-cover img{display:block;width:100%;max-height:560px;object-fit:cover}.seo-story-body{margin-top:clamp(34px,6vw,64px);font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.82}.seo-story-body h2{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.035em;margin:2.2em 0 .65em}.seo-story-body h3{font-size:clamp(1.3rem,3vw,1.75rem);line-height:1.25;margin:1.8em 0 .55em}.seo-story-body p{color:color-mix(in srgb,var(--cms-text) 88%,var(--cms-muted));margin:0 0 1.35em;overflow-wrap:anywhere}.seo-story-body ul{display:grid;gap:10px;margin:0 0 1.5em;padding-left:1.3em}.seo-story-body li{padding-left:.25em;overflow-wrap:anywhere}
.story-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.story-admin-head h3{margin:3px 0 0}.story-url{margin-bottom:12px;overflow:auto}.story-url code{white-space:nowrap}.story-admin-card textarea[name=body]{min-height:260px}
@media(max-width:700px){.seo-story{padding:42px 0 74px}.seo-story h1{font-size:clamp(2.15rem,12vw,3.45rem)}.seo-story-body{font-size:1rem;line-height:1.72}.seo-story-cover{border-radius:calc(var(--cms-radius)*.75)}.story-admin-head{flex-direction:column}.story-admin-head .button{width:100%}}

/* v19.0.9 — editor-driven catalog/product pages + safe responsive catalog copy. */
.detail-fit-full .product-visual img{object-fit:contain;padding:0}
.section-head>div,.section-head>p,.category-chips,.card-bottom{min-width:0;max-width:100%}
.card-bottom{flex-wrap:wrap}
.card-link,.chip,.catalog-tools .button{max-width:100%;overflow-wrap:anywhere;word-break:normal}
@media(max-width:640px){
  .section-head{align-items:flex-start;flex-direction:column;gap:14px}
  .section-head>div,.section-head>p{width:100%}
  .catalog-tools{align-items:stretch}
  .catalog-tools>.button{width:100%}
  .catalog-filter{align-items:stretch}
  .catalog-filter input,.catalog-filter select,.catalog-filter>.button,.catalog-filter>a.button{width:100%;flex:1 1 100%;min-width:0}
}

/* v19.0.9 combined — complete mobile text/layout hardening.
   Keep desktop rendering unchanged; only normalize narrow-screen layout. */
@media(max-width:640px){
  html,body,.site-shell,.wrap{max-width:100%}
  body{overflow-x:hidden}
  .cms-body .site-shell{overflow-x:clip}

  /* v18 grid modifiers are declared after some older mobile rules. Force every
     builder grid to one safe column on phones, regardless of the chosen desktop layout. */
  .product-grid[class*="cols-"],.feature-grid[class*="cols-"],.gallery-grid[class*="cols-"],
  .quote-grid[class*="cols-"],.steps-grid[class*="cols-"],.faq-grid[class*="cols-"],
  .stats-grid[class*="cols-"],.custom-columns[class*="cols-"],.pricing-grid[class*="cols-"],
  .trust-grid[class*="cols-"]{grid-template-columns:minmax(0,1fr)!important}

  /* Flex/grid children must be allowed to shrink instead of pushing cards outside the viewport. */
  .cms-section-content,.hero-composer,.hero-inner,.hero-media,.section-head,.section-head>div,
  .product-grid,.product-card,.card-body,.card-bottom,.feature-grid,.feature-card,.faq-grid,.faq-card,
  .gallery-grid,.gallery-card,.quote-grid,.quote-card,.steps-grid,.step-card,.stats-grid,.stat-card,
  .custom-columns,.column-card,.column-copy,.pricing-grid,.pricing-card,.pricing-price,.trust-grid,.trust-card,.trust-card>div,
  .guarantee-card,.image-text-grid,.image-text-copy,.buttons-section,.section-buttons,.banner-card,.support-card,.content-section,
  .catalog-tools,.category-chips,.catalog-filter,.product-panel,.product-info,.buy-box,.buy-line,.gateway-buttons,
  .cart-layout,.cart-items,.cart-item,.cart-item-main,.cart-summary,.receipt-item,.receipt-item>div,.empty-state,
  .lead-card,.lead-copy,.lead-form,.countdown-card,.countdown,.conversion-popup-card,.footer,.footer>div,.footer-meta,
  .announcement-inner,.topbar,.brand,.nav{min-width:0;max-width:100%}

  /* Normal language wrapping. Do not split ordinary words in the middle as the old `anywhere` fallback did. */
  .cms-body :where(h1,h2,h3,h4,p,li,figcaption,label,small,strong,span,a,button,.admin-note,.muted){
    overflow-wrap:break-word;
    word-break:normal;
    hyphens:auto;
  }
  .cms-body :where(pre,code,.license-box code,.license-inline code){overflow-wrap:anywhere;word-break:break-word}

  /* Typography scales down smoothly on phone widths instead of retaining desktop minimums. */
  .hero h1{font-size:clamp(2.05rem,10.5vw,3.15rem);line-height:1.04;letter-spacing:-.04em;text-wrap:pretty}
  .section-head h1,.section-head h2,.content-section h2,.banner-card h2,.support-card h2,
  .image-text-copy h2,.guarantee-card h2,.buttons-section h2,.countdown-card h2,.lead-copy h2{
    font-size:clamp(1.7rem,8vw,2.35rem);line-height:1.12;letter-spacing:-.03em;text-wrap:pretty
  }
  .product-info h1{font-size:clamp(26px,8vw,36px);line-height:1.08;letter-spacing:-.03em;text-wrap:pretty}
  .card-body h3,.feature-card h3,.faq-card h3,.quote-card h3,.step-card h3,.column-card h3,.pricing-card h3{
    text-wrap:pretty
  }

  /* Give wrapped buttons/chips real vertical room and keep them inside their card. */
  .button,.nav-cta{height:auto;min-height:46px;max-width:100%;padding:11px 16px;line-height:1.25;white-space:normal;text-align:center}
  .pill,.eyebrow,.chip,.mini-category,.pricing-badge{height:auto;max-width:100%;white-space:normal;line-height:1.3}
  .category-chips{width:100%;align-items:flex-start}
  .chip{justify-content:center}

  /* Product cards: price and Details no longer fight for the same horizontal line. */
  .card-body{padding:20px}
  .product-density-airy .card-body{padding:20px}
  .card-body p{margin-bottom:18px}
  .card-bottom{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-items:start;gap:8px;width:100%}
  .price{display:block;max-width:100%;font-size:clamp(1.15rem,6vw,1.45rem);line-height:1.2;overflow-wrap:break-word;word-break:normal}
  .card-link{display:inline-flex;max-width:100%;line-height:1.35;overflow-wrap:break-word;word-break:normal}

  /* Catalog/search controls are full-width and can never create horizontal scrolling. */
  .catalog-tools,.catalog-filter{width:100%}
  .catalog-tools{align-items:stretch}
  .catalog-tools>.button{width:100%}
  .catalog-filter{align-items:stretch}
  .catalog-filter input,.catalog-filter select,.catalog-filter>.button,.catalog-filter>a.button{width:100%;max-width:100%;flex:1 1 100%;min-width:0}
  .empty-state{padding:22px 18px}

  /* Product details / checkout. Stack label and price when space is tight. */
  .product-page{padding:34px 0 62px}
  .product-info{padding:22px 20px}
  .product-info p{font-size:1rem;line-height:1.6}
  .buy-line{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:6px}
  .buy-line .price{text-align:left}
  .cart-product-add .button,.gateway-buy-form .button{width:100%}
  .coupon-label,.coupon-input{min-width:0;max-width:100%}
  .status-panel{margin:42px auto;padding:26px 20px}

  /* User-entered offer prices can be arbitrary strings; keep them readable and contained. */
  .pricing-price{flex-wrap:wrap;align-items:baseline;gap:6px 10px}
  .pricing-price strong{max-width:100%;font-size:clamp(1.85rem,10vw,2.7rem);line-height:1.05;overflow-wrap:break-word;word-break:normal}
  .pricing-price del{max-width:100%;overflow-wrap:break-word;word-break:normal}
  .pricing-card li{min-width:0}

  /* Sales/conversion blocks. */
  .trust-card{align-items:flex-start}
  .trust-card>div{flex:1 1 auto}
  .guarantee-card{padding:22px 20px}
  .lead-form{padding:18px}
  .countdown{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}
  .countdown>div{min-width:0;padding:15px 8px}
  .countdown strong{font-size:clamp(1.8rem,11vw,2.6rem)}
  .countdown span{overflow-wrap:break-word;word-break:normal}
  .conversion-popup{padding:12px}
  .conversion-popup-card{width:min(100%,520px);padding:25px 18px}
  .conversion-popup-card .pill{padding-right:40px}

  /* Header, announcement and footer stay inside the phone viewport even with long labels/site names. */
  .topbar{gap:10px}
  .brand{display:flex;align-items:center;flex:1 1 auto;line-height:1.2}
  .brand-logo{flex:0 0 auto;max-width:min(120px,38vw);margin-right:8px}
  .brand span{min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal}
  .mobile-menu-toggle{flex:0 0 44px}
  .topbar .nav a{max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:normal}
  .announcement-inner{flex-wrap:wrap;gap:5px 10px;padding:8px 0;line-height:1.35}
  .footer{width:100%}
  .footer-meta{width:100%;text-align:left}
  .footer-style-panel,.footer-style-contrast{padding:22px 18px!important}

  /* Cart/receipt rows: preserve the image but let all textual columns wrap. */
  .cart-item-main a,.cart-item-main .muted,.receipt-item{overflow-wrap:break-word;word-break:normal}
  .receipt-item{flex-wrap:wrap;align-items:flex-start}
  .receipt-item>div{flex:1 1 180px}

  /* Horizontal data tables remain scrollable inside their own rectangle, never the page. */
  .comparison-wrap,.admin-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
}

@media(max-width:420px){
  .wrap{width:min(calc(100% - 20px),var(--cms-width))!important}
  .cms-section.visual-card,.cms-section.visual-glass,.cms-section.visual-contrast{padding-left:14px!important;padding-right:14px!important}
  .content-section,.banner-card,.support-card{padding:20px 17px}
  .card-body{padding:18px}
  .product-info{padding:20px 17px}
  .cart-item{grid-template-columns:52px minmax(0,1fr);gap:10px;padding:12px}
  .cart-item img,.cart-thumb-placeholder{width:52px;height:48px}
  .cart-item>.price,.cart-item>form{grid-column:1/-1;width:100%}
  .cart-item>form .button{width:100%}
  .countdown{gap:8px}
  .countdown>div{padding:13px 6px}
}

/* Product detail aspect-ratio must follow phone width. A desktop min-height of
   360/420px implies a 576/672px minimum width for landscape ratios. */
@media(max-width:640px){
  .product-visual,.product-page-layout-centered .product-visual,.product-page-layout-compact .product-visual{
    width:100%;max-width:100%;min-height:0!important
  }
}

@media(max-width:640px){
  .topbar{height:auto!important;min-height:64px;padding-top:9px;padding-bottom:9px}
}

/* v19.0.11 — mobile layout/typography hardening.
   The old v19.0.8 overflow guard used overflow-wrap:anywhere on many specific
   selectors. On narrow screens that rule won the cascade and could split
   ordinary words while also changing grid min-content sizing. The rules below
   deliberately use !important only inside the phone breakpoint so desktop
   rendering remains unchanged. */
@media(max-width:640px){
  /* Respect the editor font scale on desktop, but cap it on phones so a 125%
     desktop setting cannot turn every rem-based control into an oversized box. */
  html{font-size:clamp(85%,var(--cms-font-scale,100%),110%)!important}
  body.cms-body{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}

  /* Desktop section content width (45–100%) is not a useful phone width. A
     section configured to 45% used to become roughly 130px wide on a 320px
     device and made otherwise valid Russian copy look broken. */
  .cms-body .cms-section-content{width:100%!important;max-width:100%!important}

  /* Every builder grid is one readable column on a phone, independent of the
     desktop layout preset or selector order. */
  .cms-body .hero-composer,
  .cms-body .product-grid,
  .cms-body .feature-grid,
  .cms-body .gallery-grid,
  .cms-body .quote-grid,
  .cms-body .steps-grid,
  .cms-body .faq-grid,
  .cms-body .stats-grid,
  .cms-body .custom-columns,
  .cms-body .pricing-grid,
  .cms-body .trust-grid,
  .cms-body .image-text-grid,
  .cms-body .lead-card,
  .cms-body .guarantee-card,
  .cms-body .product-panel,
  .cms-body .cart-layout{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
  }

  /* Let all important flex/grid descendants shrink. */
  .cms-body :where(
    .cms-section-content,.hero-inner,.hero-media,.section-head,.section-head>div,
    .product-card,.card-body,.card-bottom,.feature-card,.faq-card,.gallery-card,
    .quote-card,.step-card,.stat-card,.column-card,.column-copy,.pricing-card,
    .pricing-price,.trust-card,.trust-card>div,.guarantee-card,.image-text-copy,
    .image-text-media,.buttons-section,.section-buttons,.banner-card,.support-card,
    .content-section,.catalog-tools,.category-chips,.catalog-filter,.product-info,
    .buy-box,.buy-line,.gateway-buttons,.gateway-buy-form,.cart-items,.cart-item,
    .cart-item-main,.cart-summary,.receipt-item,.receipt-item>div,.empty-state,
    .lead-copy,.lead-form,.countdown-card,.countdown,.conversion-popup-card,
    .footer,.footer>div,.footer-meta,.announcement-inner,.topbar,.brand,.nav,
    form,label
  ){min-width:0;max-width:100%}

  /* Override the old, more-specific `overflow-wrap:anywhere` declarations.
     Normal words wrap only at language boundaries; only a genuinely unbroken
     token is allowed to break to prevent horizontal overflow. */
  .cms-body :where(
    h1,h2,h3,h4,h5,h6,p,li,figcaption,label,small,strong,em,b,i,span,a,button,
    .admin-note,.muted,.price,.card-link,.chip,.pill,.eyebrow,.mini-category,
    .pricing-badge,.back,.lead-success,.lead-error
  ){
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:none!important;
    max-width:100%;
  }
  .cms-body :where(pre,code,.license-box code,.license-inline code){
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  /* Mobile typography uses px/viewport bounds so the global desktop font-scale
     cannot make headings/prices wider than their cards. */
  .cms-body .hero h1{font-size:clamp(32px,10vw,44px)!important;line-height:1.06!important;letter-spacing:-.035em!important;text-wrap:pretty}
  .cms-body :where(.section-head h1,.section-head h2,.content-section h2,.banner-card h2,.support-card h2,.image-text-copy h2,.guarantee-card h2,.buttons-section h2,.countdown-card h2,.lead-copy h2){
    font-size:clamp(25px,8vw,34px)!important;line-height:1.14!important;letter-spacing:-.025em!important;text-wrap:pretty
  }
  .cms-body .product-info h1{font-size:clamp(26px,8.5vw,36px)!important;line-height:1.1!important;letter-spacing:-.025em!important;text-wrap:pretty}
  .cms-body .seo-story h1{font-size:clamp(30px,10vw,42px)!important;line-height:1.08!important;letter-spacing:-.03em!important;text-wrap:pretty}
  .cms-body :where(.card-body h3,.feature-card h3,.faq-card h3,.quote-card h3,.step-card h3,.column-card h3,.pricing-card h3){
    font-size:clamp(18px,5.8vw,22px);line-height:1.24;text-wrap:pretty
  }
  .cms-body .product-info p{font-size:clamp(15px,4.7vw,17px)!important;line-height:1.6}
  .cms-body .price{font-size:clamp(18px,5.6vw,22px)!important;line-height:1.22;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
  .cms-body .pricing-price strong{font-size:clamp(28px,9vw,40px)!important;line-height:1.05;letter-spacing:-.035em}
  .cms-body .stat-card strong{font-size:clamp(30px,10vw,44px)!important;line-height:1}
  .cms-body .countdown strong{font-size:clamp(28px,10vw,40px)!important;line-height:1}

  /* Buttons and compact labels must grow vertically instead of spilling out. */
  .cms-body :where(.button,.nav-cta,.card-link,.chip,.pill,.eyebrow,.mini-category,.pricing-badge,.back){
    white-space:normal!important;
    height:auto;
    max-width:100%;
  }
  .cms-body .button,.cms-body .nav-cta{min-height:44px;padding:10px 14px;line-height:1.28;text-align:center}
  .cms-body .hero-actions,.cms-body .section-buttons{width:100%;align-items:stretch}
  .cms-body .hero-actions .button,.cms-body .section-buttons .button{flex:1 1 100%;width:100%}

  /* Product/catalog cards: give text the whole card width and keep price/CTA
     on separate rows. Show descriptions naturally instead of clipping a line
     through a wrapped word. */
  .cms-body .card-body{padding:18px!important}
  .cms-body .product-density-airy .card-body{padding:18px!important}
  .cms-body .card-body p{-webkit-line-clamp:unset;display:block;overflow:visible;margin-bottom:17px}
  .cms-body .card-bottom{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:start;align-items:start;gap:8px;width:100%}
  .cms-body .card-bottom .price,.cms-body .card-bottom .card-link{width:auto;min-width:0}
  .cms-body .cart-add-form{width:100%}

  /* Catalog/search/filter controls. */
  .cms-body .catalog-tools,.cms-body .catalog-filter{width:100%;align-items:stretch}
  .cms-body .catalog-tools>.button,
  .cms-body .catalog-filter input,
  .cms-body .catalog-filter select,
  .cms-body .catalog-filter>.button,
  .cms-body .catalog-filter>a.button{width:100%;max-width:100%;flex:1 1 100%;min-width:0}
  .cms-body .category-chips{width:100%;align-items:flex-start}

  /* Product detail and payment area. */
  .cms-body .product-page{padding:30px 0 56px}
  .cms-body .product-visual,.cms-body .product-page-layout-centered .product-visual,.cms-body .product-page-layout-compact .product-visual{width:100%;max-width:100%;min-height:0!important}
  .cms-body .product-info{padding:19px 17px!important}
  .cms-body .buy-line{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start;gap:5px;width:100%}
  .cms-body .gateway-buy-form,.cms-body .gateway-buttons,.cms-body .cart-product-add{width:100%}
  .cms-body .gateway-buy-form .button,.cms-body .cart-product-add .button{width:100%}
  .cms-body .coupon-label,.cms-body .coupon-input{width:100%;min-width:0;max-width:100%}
  .cms-body .admin-note{width:100%}

  /* Cart rows become a simple two-column image/text row, then price/actions
     take full rows. This also fixes the 421–640px gap left by the old 420px rule. */
  .cms-body .cart-item{grid-template-columns:56px minmax(0,1fr)!important;gap:10px;padding:12px!important}
  .cms-body .cart-item img,.cms-body .cart-thumb-placeholder{width:56px;height:50px}
  .cms-body .cart-item>.price,.cms-body .cart-item>form{grid-column:1/-1!important;width:100%}
  .cms-body .cart-item>form .button{width:100%}
  .cms-body .cart-summary{width:100%;padding:18px}
  .cms-body .receipt-item{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px}

  /* Builder cards with their own desktop paddings. */
  .cms-body :where(.content-section,.banner-card,.support-card,.image-text-grid,.stat-card,.quote-card,.step-card,.pricing-card){padding:19px 17px}
  .cms-body .guarantee-card{padding:20px 17px}
  .cms-body .lead-form{padding:17px}
  .cms-body .empty-state{padding:20px 16px}
  .cms-body .status-panel{margin:36px auto;padding:23px 17px}

  /* Conversion widgets. */
  .cms-body .countdown{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;gap:8px}
  .cms-body .countdown>div{min-width:0;padding:13px 6px}
  .cms-body .conversion-popup{padding:10px}
  .cms-body .conversion-popup-card{width:100%;max-width:520px;padding:24px 17px}
  .cms-body .conversion-popup-card .pill{padding-right:42px}

  /* Header/footer/announcement. */
  .cms-body .topbar{height:auto!important;min-height:62px;padding-top:8px;padding-bottom:8px;gap:8px}
  .cms-body .brand{display:flex;align-items:center;flex:1 1 0;line-height:1.2;min-width:0}
  .cms-body .brand-logo{flex:0 0 auto;max-width:min(104px,34vw);margin-right:7px}
  .cms-body .brand span{min-width:0;max-width:100%}
  .cms-body .mobile-menu-toggle{flex:0 0 42px;width:42px}
  .cms-body .topbar .nav a{width:100%;min-width:0}
  .cms-body .announcement-inner{flex-wrap:wrap;gap:5px 9px;padding:8px 0;line-height:1.35}
  .cms-body .footer{width:100%;gap:14px}
  .cms-body .footer-meta{width:100%;text-align:left}

  /* Tables stay inside their own horizontal scroller; never expand the page. */
  .cms-body .comparison-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .cms-body .comparison-table{max-width:none}

  /* SEO story copy had explicit `anywhere` rules in v19.0.8. */
  .cms-body .seo-story{width:100%;max-width:100%;padding:38px 0 66px}
  .cms-body .seo-story-body{font-size:clamp(15px,4.7vw,17px);line-height:1.7}
  .cms-body .seo-story-body h2{font-size:clamp(24px,8vw,32px);line-height:1.16}
  .cms-body .seo-story-body h3{font-size:clamp(20px,6.5vw,26px);line-height:1.22}
}

@media(max-width:380px){
  .cms-body .wrap{width:min(calc(100% - 16px),var(--cms-width))!important}
  .cms-body .cms-section.visual-card,.cms-body .cms-section.visual-glass,.cms-body .cms-section.visual-contrast{padding-left:12px!important;padding-right:12px!important}
  .cms-body .card-body,.cms-body .product-info{padding-left:15px!important;padding-right:15px!important}
  .cms-body .conversion-popup{padding:8px}
  .cms-body .conversion-popup-card{padding-left:15px;padding-right:15px}
}

/* v19.0.11 mobile intrinsic-size follow-up: internal one-column grids must use
   a zero minimum track, otherwise a long numeric/token value can make the grid
   track wider than the card even when the card itself is correctly sized. */
@media(max-width:640px){
  .cms-body :where(.stat-card,.cart-item-main,.receipt-item>div,.lead-copy,.lead-form,.gateway-buttons,.buy-box,.countdown>div){
    grid-template-columns:minmax(0,1fr)!important;
  }
  .cms-body :where(.stat-card,.cart-item-main,.receipt-item>div,.lead-copy,.lead-form,.gateway-buttons,.buy-box,.countdown>div)>*,
  .cms-body .pricing-price>*{
    min-width:0;
    max-width:100%;
  }
}

/* v19.0.14: content-controlled product detail composition */
.product-panel.no-visual{grid-template-columns:minmax(0,1fr)}
.product-panel.no-visual .product-info{width:100%;box-sizing:border-box}


/* v19.0.15 — mobile store visibility guard.
   A long one-column catalog can be taller than 8.3 viewports, making the old
   12% IntersectionObserver threshold mathematically unreachable.  Keep only
   the phone catalog out of that hidden animation state; desktop/tablet retain
   the existing motion system unchanged. */
@media(max-width:640px){
  .cms-body.motion-on.motion-runtime .cms-section#catalog:not(.mobile-hide){
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    visibility:visible!important;
  }
  .cms-body.motion-on.motion-runtime .cms-section#catalog:not(.mobile-hide) .motion-child{
    opacity:1!important;
    transform:none!important;
  }
}

/* v19.0.17 — product image presentation controls from Editor > Content */
.image-fit-scale-down .cover img{object-fit:scale-down;background:color-mix(in srgb,var(--cms-surface) 90%,var(--cms-bg))}
.image-fit-stretch .cover img{object-fit:fill}
.image-position-center .cover img{object-position:center center}
.image-position-top .cover img{object-position:center top}
.image-position-bottom .cover img{object-position:center bottom}
.image-position-left .cover img{object-position:left center}
.image-position-right .cover img{object-position:right center}
.detail-fit-scale-down .product-visual img{object-fit:scale-down;padding:0;background:color-mix(in srgb,var(--cms-surface) 90%,var(--cms-bg))}
.detail-fit-stretch .product-visual img{object-fit:fill;padding:0}
.detail-position-center .product-visual img{object-position:center center}
.detail-position-top .product-visual img{object-position:center top}
.detail-position-bottom .product-visual img{object-position:center bottom}
.detail-position-left .product-visual img{object-position:left center}
.detail-position-right .product-visual img{object-position:right center}

/* v19.0.18 — server-generated product tags and crawlable tag collections */
.seo-tags,.seo-tag-cloud{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.seo-tags{margin:10px 0 4px}.card-seo-tags{margin:10px 0 2px}.product-seo-tags{margin:12px 0 18px}.seo-tag-cloud{margin:18px 0 28px}
.seo-tag{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;padding:6px 10px;border:1px solid color-mix(in srgb,var(--cms-primary) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--cms-primary) 8%,transparent);color:var(--cms-text);font-size:.82rem;line-height:1.2;text-decoration:none;overflow-wrap:break-word;word-break:normal}
.seo-tag:hover{border-color:color-mix(in srgb,var(--cms-primary) 60%,transparent);background:color-mix(in srgb,var(--cms-primary) 14%,transparent)}
.seo-tag span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--cms-surface) 75%,transparent);font-size:.72rem;color:var(--cms-muted)}
@media(max-width:640px){.seo-tags,.seo-tag-cloud{gap:6px}.seo-tag{font-size:.78rem;padding:6px 9px}.product-seo-tags{margin-bottom:14px}}

/* v19.0.20 — editable header emphasis, working support anchor and cart content. */
.nav .nav-control{box-sizing:border-box;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.nav .nav-control.nav-emphasis-plain{padding:0;border:0;background:transparent!important;box-shadow:none!important;color:var(--cms-muted)!important}
.nav .nav-control.nav-emphasis-plain:hover,.nav .nav-control.nav-emphasis-plain[aria-current="page"]{color:var(--cms-text)!important}
.nav .nav-control.nav-emphasis-outline{padding:10px 14px;border:1px solid color-mix(in srgb,var(--cms-text) 14%,transparent)!important;border-radius:calc(var(--cms-radius)*.68);background:color-mix(in srgb,var(--cms-surface) 70%,transparent)!important;color:var(--cms-text)!important;box-shadow:none!important}
.nav .nav-control.nav-emphasis-soft{padding:10px 14px;border:1px solid color-mix(in srgb,var(--cms-primary) 18%,transparent)!important;border-radius:calc(var(--cms-radius)*.68);background:color-mix(in srgb,var(--cms-primary) 12%,var(--cms-surface))!important;color:var(--cms-text)!important;box-shadow:none!important}
.nav .nav-control.nav-emphasis-primary{padding:10px 14px;border:1px solid transparent!important;border-radius:calc(var(--cms-radius)*.68);background:linear-gradient(135deg,var(--cms-primary),var(--cms-accent))!important;color:#fff!important;box-shadow:0 10px 26px color-mix(in srgb,var(--cms-primary) 22%,transparent)!important}
.nav .nav-control.nav-emphasis-outline:hover,.nav .nav-control.nav-emphasis-soft:hover,.nav .nav-control.nav-emphasis-primary:hover{transform:translateY(-1px);filter:brightness(1.05)}
#support{scroll-margin-top:96px}.catalog-home-pill{display:inline-flex;text-decoration:none;cursor:pointer}.catalog-home-pill:hover{border-color:color-mix(in srgb,var(--cms-primary) 48%,transparent)!important;color:var(--cms-text)!important}
.cart-item.cart-no-image{grid-template-columns:minmax(0,1fr) auto auto}
@media(max-width:640px){.cms-body .cart-item.cart-no-image{grid-template-columns:minmax(0,1fr)!important}.cms-body .nav .nav-control{max-width:100%}}

/* v19.0.21 — product detail visibility is fully controlled from Editor > Content. */

/* v19.0.23 — all four primary header actions share the same editable emphasis system. */
.nav .nav-support{box-sizing:border-box;text-decoration:none}


/* v19.0.29 standalone support page */
.support-page-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:start}
.support-page-copy,.support-contact-panel{min-width:0}
.support-page-text,.support-contact-panel p{white-space:pre-line}
.support-contact-panel{padding:22px;border:1px solid color-mix(in srgb,var(--cms-text) 12%,transparent);border-radius:var(--cms-radius);background:color-mix(in srgb,var(--cms-surface) 88%,transparent)}
.support-contact-panel h2{margin-top:0}
.support-contact-line{display:flex;flex-direction:column;gap:6px;margin:16px 0;overflow-wrap:break-word}
.support-contact-line span{color:var(--cms-muted);font-size:.92em}
.support-back-row{margin-bottom:18px}
@media(max-width:700px){.support-page-card{grid-template-columns:minmax(0,1fr)}.support-contact-panel{padding:18px}}

/* v19.0.33 — product detail public renderer hardening.
   Keep the media box bounded by the selected aspect ratio instead of stretching
   it to the height of the grid row. This prevents an absolutely positioned
   cover image from becoming a giant cropped/zoomed layer that visually pushes
   the real product content below the first screen. */
.product-detail-panel{align-items:start;overflow:hidden}
.product-detail-media{display:grid;place-items:center;align-self:start;width:100%;min-width:0;min-height:0!important;margin:0;overflow:hidden;isolation:isolate}
.product-detail-media img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;padding:0;transform:none;z-index:1}
.product-detail-media .cover-placeholder{position:absolute;inset:0;z-index:1}
.product-detail-content{position:relative;z-index:2;min-width:0;width:100%;overflow:visible}
.product-detail-content .product-seo-tags{display:flex;visibility:visible;opacity:1}
.product-description{color:var(--cms-muted);font-size:18px;line-height:1.65;white-space:pre-line;overflow-wrap:break-word;word-break:normal;margin:0 0 18px;max-width:100%}
.product-availability-note{margin-bottom:14px}
.product-detail-panel.no-visual .product-detail-content{max-width:none}

/* Do not let legacy desktop min-height rules override the selected ratio. */
.product-page-layout-split .product-detail-media,
.product-page-layout-compact .product-detail-media,
.product-page-layout-centered .product-detail-media{min-height:0!important}

@media(max-width:900px){
  .product-detail-panel{grid-template-columns:minmax(0,1fr)!important}
  .product-detail-media{width:100%;max-height:min(62vh,520px)}
  .product-detail-content{padding-top:28px}
}
@media(max-width:640px){
  .product-detail-media{max-height:min(48vh,360px)}
  .product-detail-content{padding:20px 17px!important}
  .product-description{font-size:1rem;line-height:1.6;margin-bottom:16px}
  .product-detail-content .product-seo-tags{margin:10px 0 14px}
}
