.cookie-banner {
  position:fixed; left:18px; right:18px; bottom:18px; z-index:100;
  max-width:760px; margin:auto; padding:18px; border:1px solid var(--line);
  border-radius:12px; background:#fff; box-shadow:0 18px 55px rgba(16,45,73,.22);
  display:none; align-items:center; justify-content:space-between; gap:22px;
}

.product-hero .sales-hero-copy h1 { font-size:clamp(48px,6vw,82px); }
.product-detail { padding:110px 6vw; background:#f4f6f8; }
.product-detail .feature-heading { max-width:820px; margin-bottom:45px; }
.product-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:#dce3e9; }
.product-detail-grid article { min-height:190px; padding:34px; background:#fff; }
.product-detail-grid article b { color:#ff3a32; font-size:13px; letter-spacing:.16em; }
.product-detail-grid article h3 { margin:42px 0 0; color:#102d49; font-size:23px; line-height:1.15; }
.product-fit .photo-story-image img { height:100%; object-fit:cover; }

@media (max-width:900px) {
  .product-detail-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .product-detail { padding:72px 20px; }
  .product-detail-grid { grid-template-columns:1fr; }
  .product-detail-grid article { min-height:145px; }
  .product-detail-grid article h3 { margin-top:28px; }
}
.cookie-banner.show { display:flex; }
.cookie-banner p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.cookie-actions { display:flex; gap:8px; flex:none; }
.cookie-actions button { min-height:40px; padding:0 14px; border-radius:7px; cursor:pointer; font-weight:800; font-size:11px; }
.cookie-reject { border:1px solid var(--line); background:#fff; color:var(--ink); }
.cookie-accept { border:1px solid var(--green); background:var(--green); color:#fff; }
.install-page { min-height:100vh; padding:45px 20px; background:#eef3f6; }
.install-card { width:min(820px,100%); margin:auto; padding:42px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 20px 60px rgba(16,45,73,.12); }
.install-card .brand-logo { margin-bottom:30px; }
.install-card h1 { margin:0 0 10px; font-size:40px; letter-spacing:-.05em; }
.install-card > p { color:var(--muted); line-height:1.6; }
.install-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:30px; }
.install-grid h2 { grid-column:1/-1; margin:18px 0 0; padding-top:22px; border-top:1px solid var(--line); font-size:21px; }
.install-actions { margin-top:28px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.install-help { color:var(--muted); font-size:11px; line-height:1.5; }
.admin-brand { display:inline-flex; align-items:center; }
.admin-brand img { display:block; width:190px; height:auto; }
.admin-detail { max-width:280px; white-space:normal; line-height:1.45; }
.admin-detail details summary { color:var(--green); cursor:pointer; font-weight:800; }
.admin-detail p { margin:7px 0; }
.admin-files a { display:block; margin-top:5px; }
.admin-top-actions { display:flex; gap:8px; }
.admin-top-actions a { min-height:42px; display:inline-flex; align-items:center; padding:0 14px; border:1px solid var(--line); border-radius:7px; background:#fff; font-size:12px; font-weight:800; }
.admin-top-actions form { margin:0; }
.admin-top-actions button { min-height:42px; padding:0 14px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); cursor:pointer; font-size:12px; font-weight:800; }
.admin-nav > form { margin-top:auto; }
.admin-nav > form button { border:0; background:transparent; color:#b8c2bd; cursor:pointer; padding:0; font-weight:700; }
.status-message { margin:0 0 20px; padding:14px; border:1px solid #b9d7e9; border-radius:8px; background:#edf6fb; color:var(--ink); font-size:13px; }
.checkout-noscript { max-width:760px; margin:30px auto; padding:20px; border:1px solid #f0bbb5; background:#fff3f0; color:#85291f; }
.payment-logo-row { margin-top:16px; padding-top:16px; border-top:1px solid rgba(255,255,255,.18); color:#c9d9e4; font-size:11px; line-height:1.5; }
.required-note { margin-top:16px; color:var(--muted); font-size:11px; line-height:1.5; }
.checkout-footer { padding:18px 24px 90px; text-align:center; color:var(--muted); font-size:11px; background:#f3f6f8; }
.payment-error { max-width:820px; margin:20px auto; }
.order-contact { margin-top:22px; font-size:13px; color:var(--muted); }
.order-contact a { color:var(--green); font-weight:800; }

@media (max-width:800px) {
  .cookie-banner { align-items:stretch; flex-direction:column; bottom:12px; }
  .cookie-actions { width:100%; }
  .cookie-actions button { flex:1; }
  .install-card { padding:28px 20px; }
  .install-grid { grid-template-columns:1fr; }
  .install-grid h2 { grid-column:auto; }
  .install-actions { align-items:stretch; flex-direction:column; }
  .install-actions .button { width:100%; }
  .checkout-header { height:68px; padding:0 16px; }
  .brand-logo-compact img { width:158px; }
  .secure { font-size:10px; }
  .admin-content > header { align-items:flex-start; flex-direction:column; gap:16px; }
  .admin-top-actions { width:100%; overflow:auto; padding-bottom:4px; }
  .admin-top-actions a,.admin-top-actions button { white-space:nowrap; }
}

@media (max-width:520px) {
  .top-note { font-size:9px; padding-inline:12px; }
  .site-header { height:68px; padding:0 16px; }
  .brand-logo img { width:168px; }
  .site-header .button-small { min-height:40px; padding:0 13px; font-size:11px; }
  .sales-hero-copy { padding:48px 20px 42px; }
  .sales-hero h1 { font-size:clamp(46px,15vw,58px); line-height:.88; }
  .sales-hero-copy > p { font-size:16px; }
  .sales-price { align-items:flex-start; flex-direction:column; gap:3px; }
  .sales-hero-visual { min-height:320px; }
  .visual-label { left:16px; bottom:16px; }
  .party-strip { padding:26px 20px; }
  .party-strip > strong { font-size:15px; }
  .product-options,.feature-section,.models-showcase,.steps,.plans { padding:72px 20px; }
  .center-intro { margin-bottom:38px; }
  .center-intro h2,.feature-heading h2,.faq-intro h2 { font-size:39px; }
  .product-copy { padding:25px 20px; }
  .product-copy h3 { font-size:27px; }
  .feature-cards article { min-height:205px; }
  .photo-story-image { min-height:330px; }
  .photo-story-copy { padding:55px 20px; }
  .photo-story h2 { font-size:42px; }
  .story-steps { grid-template-columns:1fr; }
  .story-steps i { transform:rotate(90deg); width:max-content; }
  .real-model-info { align-items:flex-start; flex-direction:column; }
  .plan-card,.three-plan-grid .plan-card { padding:26px 21px; }
  .volume { padding:70px 20px; }
  .volume-table > div { align-items:flex-start; flex-direction:column; justify-content:center; gap:4px; }
  .faq-section { padding:72px 20px; }
  .final-cta { padding:78px 20px 120px; }
  .checkout-layout { padding:30px 14px 70px; }
  .order-summary { padding:24px 20px; }
  .choice { padding:18px 15px; align-items:flex-start; flex-direction:column; }
  .choice strong { text-align:left; }
  .form-actions { align-items:stretch; flex-direction:column-reverse; }
  .form-actions .button,.form-actions .back { min-height:50px; width:100%; }
  .review div { align-items:flex-start; flex-direction:column; gap:5px; }
  .review b { text-align:left; }
  .tracking-steps { grid-template-columns:repeat(2,1fr); row-gap:24px; }
  .tracking-steps div:nth-child(even):after { display:none; }
  .tracking-card h1,.success-card h1 { font-size:33px; }
  .success-card,.tracking-card { padding:34px 18px; }
}
