/* Crafvello 3D-Prints: Blueprint theme. Presentation only. */
:root {
  color-scheme: dark;
  --ink: #f2f6ff;
  --muted: #acbed2;
  --line: #1c3854;
  --line-strong: #285980;
  --paper: #0b1725;
  --soft: #0c1c2d;
  --accent: #168aff;
  --accent2: #50baff;
  --accent-deep: #55b5ff;
  --accent-soft: #102b47;
  --dark: #040a12;
  --dark2: #0b1725;
  --green: #76dfb5;
  --danger: #ff9c9c;
  --surface-raised: #0b1725;
  --surface-subtle: #081320;
  --radius: 20px;
  --shadow: 0 20px 60px #0005;
  --focus-ring: 0 0 0 3px #07131f, 0 0 0 5px #66c2ff;
}
html { scroll-padding-top: 108px; background: #050b13; }
body.cfv-theme {
  background-color: #050b13;
  background-image: linear-gradient(#1472ac08 1px, transparent 1px), linear-gradient(90deg, #1472ac08 1px, transparent 1px);
  background-size: 56px 56px;
  color: var(--ink);
  accent-color: var(--accent);
  -webkit-font-smoothing: antialiased;
}
.cfv-theme ::selection { background: #126dc4; color: #fff; }
.cfv-theme .container { width: min(1240px, calc(100% - 48px)); }
.cfv-theme .announcement { background: #050c15; color: #b8c8da; border-bottom: 1px solid #12314b; }
.cfv-theme .site-header {
  background: #050c15f2;
  border-bottom: 1px solid #17629a;
  box-shadow: 0 6px 32px #0004;
}
.cfv-theme .nav-wrap { height: 82px; gap: 24px; }
.cfv-theme .brand { gap: 12px; }
.cfv-theme .brand-mark {
  color: #fff;
  background: linear-gradient(145deg, #1999ff, #0361ed);
  border: 1px solid #53b5ff66;
  border-radius: 13px;
  box-shadow: 0 0 26px #087dff35;
}
.cfv-theme .brand strong { color: #f6f9ff; font-weight: 850; letter-spacing: -.02em; }
.cfv-theme .brand small { color: #93b4d2; letter-spacing: .14em; }
.cfv-theme .main-nav { gap: 22px; font-size: .88rem; }
.cfv-theme .main-nav > a { padding: 10px 0; color: #dce7f4; }
.cfv-theme .main-nav > a:hover { color: #63bcff; }
.cfv-theme .admin-nav-button,
.cfv-theme .cart-link,
.cfv-theme .mobile-menu { border: 1px solid #205984; color: #e8f4ff; background: #081726; }
.cfv-theme .admin-nav-button { border-radius: 12px; }
.cfv-theme .cart-link { min-height: 44px; }
.cfv-theme .cart-link span { background: #096ed8; color: #fff; }
.cfv-theme .mobile-nav { background: #091725fc; border-color: #256590; box-shadow: 0 16px 40px #0008; }
.cfv-theme .mobile-nav a,
.cfv-theme .mobile-nav button { color: #eef6ff; }
.cfv-theme .mobile-nav a:hover,
.cfv-theme .mobile-nav button:hover { color: #fff; background: #13385a; }
.cfv-theme .hero {
  isolation: isolate;
  padding: 82px 0 76px;
  min-height: 610px;
  border-bottom: 1px solid #12639a;
  background: linear-gradient(90deg, #040b14f5 0%, #040b14d9 38%, #040b1445 67%, #040b1415 100%), url('../images/blueprint-printer.webp') 66% center / cover no-repeat;
}
.cfv-theme .hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(#1484d817 1px, transparent 1px), linear-gradient(90deg, #1484d817 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, #000, transparent 68%);
}
.cfv-theme .hero::after { display: none; }
.cfv-theme .hero-grid { grid-template-columns: 1.08fr .92fr; gap: 56px; }
.cfv-theme .hero h1 {
  margin: 20px 0 24px;
  max-width: 680px;
  font-size: clamp(3rem, 5.5vw, 5.2rem);
  line-height: 1.035;
  letter-spacing: -.055em;
  font-weight: 900;
  text-wrap: balance;
}
.cfv-theme .hero h1 span { color: #168aff; }
.cfv-theme .hero-copy > p { color: #bacbdd; font-size: 1.12rem; }
.cfv-theme .eyebrow { color: #40abff; }
.cfv-theme .hero-actions { margin: 30px 0; gap: 14px; }
.cfv-theme .trust-row { color: #c0d4e7; gap: 12px 20px; font-size: .78rem; }
.cfv-theme .hero-visual { min-height: 400px; }
.cfv-theme .hero-visual > .empty-state {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 330px;
  margin: 34px 0 0;
  padding: 30px 22px;
  background: linear-gradient(180deg, #07142100 35%, #061321c2 100%);
  border: 1px solid #248ee7;
  box-shadow: inset 0 0 36px #087dff0c, 0 0 30px #087dff10;
}
.cfv-theme .hero-visual > .empty-state h3 { font-size: 1.08rem; color: #f2f7ff; }
.cfv-theme .hero-tile { background: #0c1c2b; border: 5px solid #183d61; border-radius: 18px; box-shadow: 0 20px 40px #0008; }
.cfv-theme .hero-floating { background: #061322f2; border: 1px solid #2c7db5; color: #f4f8ff; }
.cfv-theme .hero-floating span { color: #afc9df; }
.cfv-theme .stats-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 30px; margin-bottom: 70px; border: 1px solid #235f8c; border-radius: 16px; background: #205074; }
.cfv-theme .stats-strip > div { background: linear-gradient(140deg, #0c1b2b, #08131f); padding: 23px 26px; }
.cfv-theme .stats-strip > div:hover { background: #102439; }
.cfv-theme .stats-strip strong { color: #eff6ff; font-size: 1rem; }
.cfv-theme .stats-strip span { color: #a9bfd4; }
.cfv-theme .shop-section { padding-bottom: 84px; }
.cfv-theme .section-head h2,
.cfv-theme .about-section h2 { font-size: clamp(2rem, 3.55vw, 3.1rem); color: #f0f6ff; }
.cfv-theme .section-head > p,
.cfv-theme .about-grid p { color: #afc1d5; }
.cfv-theme .search-box,
.cfv-theme .catalog-controls select { border-color: #24628e; background: #081a2a; color: #e8f3ff; min-height: 52px; }
.cfv-theme .search-box:focus-within { border-color: #58baff; box-shadow: var(--focus-ring); }
.cfv-theme .search-box input { color: #eef5ff; box-shadow: none; }
.cfv-theme ::placeholder { color: #9ab0c7; opacity: 1; }
.cfv-theme select option { background: #0a1c2e; color: #f0f6ff; }
.cfv-theme .results-line { color: #9fb9d1; }
.cfv-theme .text-button { color: #4eb5ff; min-height: 44px; }
.cfv-theme .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.cfv-theme .product-card { background: linear-gradient(145deg, #0c1b2b, #081320); border: 1px solid #22557e; border-radius: 16px; box-shadow: 0 10px 26px #0003; }
.cfv-theme .product-card:hover { transform: translateY(-4px); border-color: #249dff; box-shadow: 0 0 0 1px #168aff55, 0 18px 40px #0007; }
.cfv-theme .product-image { background: #091828; border-bottom: 1px solid #194568; }
.cfv-theme .product-image img { object-fit: contain; }
.cfv-theme .product-image-action { border-color: #248acf; background: #071828ed; color: #f2f7ff; }
.cfv-theme .product-image-action:hover { background: #0e5aa0; color: #fff; }
.cfv-theme .product-image-action:focus-visible { outline-color: #78c7ff; }
.cfv-theme .badge { background: #081c2ded; color: #eaf5ff; border-color: #3476a2; }
.cfv-theme .badge.sold { background: #301b28; color: #ffc1c1; border-color: #834152; }
.cfv-theme .photo-count { background: #06111fe8; border-color: #3775a0; }
.cfv-theme .product-body { padding: 22px; }
.cfv-theme .product-title { color: #f2f7ff; }
.cfv-theme .product-title:hover { color: #5abbff; }
.cfv-theme .product-body p { color: #adbed2; }
.cfv-theme .product-kicker,
.cfv-theme .product-meta,
.cfv-theme .photo-meta,
.cfv-theme .price-label,
.cfv-theme .price small { color: #a1b9d1; }
.cfv-theme .product-footer { border-color: #234663; gap: 14px; }
.cfv-theme .price { color: #f0f6ff; font-size: 1.4rem; }
.cfv-theme .stock-pill { color: #76dfb5; }
.cfv-theme .stock-pill.is-sold { color: #ffaaaa; }
.cfv-theme .featured-mini { background: #0b2c48; border-color: #296b9d; color: #7ecbff; }
.cfv-theme .featured-section { background: #07131f; }
.cfv-theme .empty-state { background: linear-gradient(135deg, #0c1e30, #07131f); color: #d6e6f7; border: 1px dashed #2b7eb7; border-radius: 18px; }
.cfv-theme #productGrid > .empty-state { padding: 68px 22px; min-height: 230px; }
.cfv-theme .empty-state h3 { color: #f0f6ff; }
.cfv-theme .empty-state p { color: #b5c8dd; }
.cfv-theme .feature-band { padding: 76px 0; border-top: 1px solid #1b527c; border-bottom: 1px solid #1b527c; background: linear-gradient(110deg, #050e19f7, #07192ddb), url('../images/blueprint-printer.webp') right center / cover no-repeat; }
.cfv-theme .process-grid { gap: 18px; }
.cfv-theme .process-grid article { background: linear-gradient(145deg, #0d2034e8, #071522f2); border-color: #276692; border-radius: 16px; padding: 26px; }
.cfv-theme .process-grid article > span { display: inline-block; color: #4bb5ff; font-size: .86rem; letter-spacing: .08em; }
.cfv-theme .process-grid h3 { margin: 26px 0 10px; font-size: 1.15rem; color: #f4f8ff; }
.cfv-theme .process-grid p { color: #afc5db; font-size: .94rem; }
.cfv-theme .about-section { padding: 84px 0; }
.cfv-theme .about-grid { grid-template-columns: 1.25fr .75fr; gap: 80px; }
.cfv-theme .about-card { grid-template-columns: 1fr; gap: 12px; }
.cfv-theme .about-card > div { border-color: #276792; border-radius: 13px; background: linear-gradient(125deg, #0c2035, #081522); padding: 18px 24px; box-shadow: none; }
.cfv-theme .about-card span { color: #9cbedc; }
.cfv-theme .about-card strong { color: #ecf5ff; }
.cfv-theme .site-footer { background: #030a12; color: #afc3d7; border-top: 1px solid #1e6ca5; padding-top: 52px; }
.cfv-theme .footer-brand { display: flex; align-items: center; }
.cfv-theme .footer-brand > span { margin: 0; }
.cfv-theme .site-footer a:hover,
.cfv-theme .footer-button:hover { color: #65c0ff; }
.cfv-theme .footer-bottom { color: #90a9c2; border-top-color: #21415d; }
.cfv-theme .footer-bottom > span { display: inline; margin: 0; }
.cfv-theme .site-footer #emailLink { overflow-wrap: anywhere; }
.cfv-theme .admin-link { opacity: 1; color: #94abc2; }
.cfv-theme .btn { background: #0d2237; color: #ecf5ff; border-color: #296695; min-height: 46px; border-radius: 10px; }
.cfv-theme .btn.primary { background: linear-gradient(135deg, #0674da, #075bcc); border-color: #249dff; color: #fff; box-shadow: 0 7px 24px #087dff24; }
.cfv-theme .btn.primary:hover { background: linear-gradient(135deg, #1477d4, #0865cd); box-shadow: 0 9px 28px #087dff40; }
.cfv-theme .btn.ghost,
.cfv-theme .btn.dark { border-color: #267ab4; background: #071725; color: #eef7ff; }
.cfv-theme .btn.ghost:hover,
.cfv-theme .btn.dark:hover { background: #103254; border-color: #5bbbff; }
.cfv-theme .btn.filled-soft { background: #0b2c48; border-color: #2e84c2; color: #83cdff; }
.cfv-theme .btn.filled-soft:hover { background: #12406a; color: #fff; }
.cfv-theme .btn:disabled,
.cfv-theme button[disabled] { color: #9bb3cc; background: #172c42; border-color: #304d69; box-shadow: none; opacity: .78; cursor: not-allowed; transform: none; }
.cfv-theme .modal-backdrop,
.cfv-theme .drawer-backdrop { background: #020913c2; backdrop-filter: blur(8px); }
.cfv-theme .modal-card { background: linear-gradient(135deg, #0b1d2e, #06111d); color: #eaf3ff; border: 1px solid #298fe1; box-shadow: 0 0 0 1px #0b55a122, 0 34px 100px #000b; border-radius: 22px; }
.cfv-theme .small-modal { padding: 36px; }
.cfv-theme .modal-card h2 { color: #f5f9ff; padding-right: 28px; }
.cfv-theme .modal-close { background: #081826; color: #edf7ff; border-color: #3b759e; }
.cfv-theme .modal-close:hover { background: #173b5a; border-color: #71c9ff; }
.cfv-theme label { color: #d3e3f5; }
.cfv-theme input:not([type='checkbox']):not([type='radio']),
.cfv-theme select,
.cfv-theme textarea { color: #eef5ff; background-color: #081a2b; border: 1px solid #326c94; border-radius: 10px; }
.cfv-theme input:not([type='checkbox']):not([type='radio']):focus,
.cfv-theme select:focus,
.cfv-theme textarea:focus { border-color: #54baff; box-shadow: 0 0 0 3px #168aff20; }
.cfv-theme .search-box input { border: 0; background: transparent; border-radius: 0; }
.cfv-theme .search-box input:focus { box-shadow: none; }
.cfv-theme label select { display: block; width: 100%; min-height: 46px; padding: 10px 12px; margin-top: 6px; }
.cfv-theme input[type='checkbox'],
.cfv-theme input[type='radio'] { accent-color: #168aff; }
.cfv-theme input:-webkit-autofill { -webkit-text-fill-color: #eef5ff; -webkit-box-shadow: 0 0 0 1000px #102a41 inset; caret-color: #fff; }
.cfv-theme .micro-note { color: #a9bed4; }
.cfv-theme .login-error { background: #331b2b; border: 1px solid #924558; color: #ffc0c0; }
.cfv-theme .product-modal-card { background: #071522; }
.cfv-theme .gallery-main,
.cfv-theme .gallery-image-button,
.cfv-theme .thumb { background: #0c1d2d; border-color: #2c6088; }
.cfv-theme .gallery-image-button::after { border-color: #265a80; }
.cfv-theme .gallery-count { background: #07192beb; color: #e6f3ff; border: 1px solid #356d94; }
.cfv-theme .gallery-caption,
.cfv-theme .gallery-caption strong { color: #b1c7dd; }
.cfv-theme .thumb.active { border-color: #3fafff; box-shadow: 0 0 0 3px #168aff33; }
.cfv-theme .detail-price { color: #f3f8ff; }
.cfv-theme .spec-grid > div { background: #0d2235; border-color: #285778; }
.cfv-theme .product-info #modalProductLink { color: #75c7ff; text-decoration: underline; text-underline-offset: 3px; }
.cfv-theme .lightbox-card { border-color: #2e74a5; background: #07121e; }
.cfv-theme .lightbox-image-wrap { background: #040c15; }
.cfv-theme .drawer-panel { background: linear-gradient(160deg, #091b2d, #040d17 80%); color: #eef5ff; border-left: 2px solid #168aff; box-shadow: -25px 0 90px #0009; padding: 30px; }
.cfv-theme .drawer-head h2 { color: #f4f8ff; }
.cfv-theme .cart-item { background: #0b1f32; border-color: #245b83; }
.cfv-theme .cart-qty button { background: #112c44; border-color: #3a719a; color: #fff; min-width: 32px; min-height: 32px; }
.cfv-theme .cart-summary,
.cfv-theme .cart-summary .total { border-color: #295b7f; }
.cfv-theme .remove-item { color: #ffb0b0; min-width: 32px; min-height: 32px; }
.cfv-theme .checkout-summary { background: #0c2033; border-color: #2b668f; }
.cfv-theme .checkout-line { border-color: #284c6b; }
.cfv-theme .toast { background: #102b45; border: 1px solid #4994c9; color: #eef7ff; }
.cfv-theme .m3d-coupon { background: #0b1e30; border-color: #2b648c; }
.cfv-theme .m3d-coupon p { color: #b7cade; }
.cfv-theme .m3d-discount { color: #82dfbf; }
.cfv-theme .m3d-badge { background: #103f64; border: 1px solid #286997; color: #d7eeff; }
.cfv-theme .m3d-badge.new { background: #103d35; border-color: #287b65; color: #a9f0d6; }
.cfv-theme .m3d-badge.sale { background: #4a2532; border-color: #a7576b; color: #ffd2dc; }
.cfv-theme .m3d-was { color: #a2b5ca; }
.cfv-theme .m3d-sale-price { color: #ffb5c4; }
.cfv-theme .m3d-newsletter { background: linear-gradient(125deg, #102b43, #081623); border-color: #316a93; }
.cfv-theme .m3d-marketing-footer { color: #b8d2e9; }
.cfv-theme .m3d-marketing-footer a:hover,
.cfv-theme .m3d-marketing-footer button:hover { color: #7ed1ff; }
.cfv-theme .m3d-consent { background: #081b2dfc; color: #d9e9f8; border: 1px solid #2c9af0; box-shadow: 0 18px 70px #000a; }
.cfv-theme .m3d-consent h2 { color: #f2f8ff; }
.cfv-theme .m3d-consent .btn { background: #0c467b; border-color: #3f9be0; color: #fff; box-shadow: none; }
.cfv-theme .m3d-consent .btn:hover { background: #1266a9; }
.cfv-theme .m3d-consent a { color: #a0d9ff; text-decoration: underline; }
.cfv-theme .m3d-product-page { max-width: 1240px; margin: 42px auto 72px; padding: 0 24px; }
.cfv-theme .m3d-product-page > p:first-child { color: #b5c9de; font-size: .85rem; margin-bottom: 26px; }
.cfv-theme .m3d-product-page a:not(.btn) { color: #83cbff; }
.cfv-theme .m3d-product-layout { gap: 36px; grid-template-columns: 1.08fr .92fr; align-items: start; }
.cfv-theme .m3d-product-layout > div:nth-child(2) { background: linear-gradient(145deg, #0d2034, #081420); padding: 30px; border: 1px solid #25597e; border-radius: 18px; }
.cfv-theme .m3d-product-page h1 { font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.08; letter-spacing: -.04em; margin: 16px 0; }
.cfv-theme .m3d-product-page .detail-price { font-size: 2rem; }
.cfv-theme .m3d-product-page .m3d-product-description { color: #b9ccdf; }
.cfv-theme .m3d-product-image { background: #0c1c2c; border: 1px solid #28618d; border-radius: 18px; }
.cfv-theme .m3d-product-thumbs button { background: #0c2033; border: 1px solid #32739e; border-radius: 10px; overflow: hidden; }
.cfv-theme .m3d-product-thumbs button:focus { border-color: #65c6ff; box-shadow: 0 0 0 2px #1b8ad1; }
.cfv-theme .m3d-product-page dl { padding: 20px 0; border-top: 1px solid #28516e; border-bottom: 1px solid #28516e; }
.cfv-theme .m3d-product-page dt { color: #9fbcd6; }
.cfv-theme .m3d-product-page dd { color: #e5f2ff; }
.cfv-theme .m3d-product-page input { min-height: 46px; }
.cfv-theme .pay-card,
.cfv-theme .m3d-policy { color: #d4e5f6; background: linear-gradient(145deg, #0d2238, #071521); border: 1px solid #2b709f; border-radius: 20px; padding: 32px; box-shadow: 0 24px 70px #0005; }
.cfv-theme .m3d-policy { width: min(860px, calc(100% - 40px)); margin: 42px auto; }
.cfv-theme .m3d-policy h1,
.cfv-theme .m3d-policy h2,
.cfv-theme .pay-card h1 { color: #f1f7ff; }
.cfv-theme .m3d-policy a { color: #91d4ff; text-underline-offset: 3px; }
.cfv-theme .m3d-policy a:hover { text-decoration: underline; }
.cfv-theme .pay-state { color: #bfd3e7; }
.cfv-theme :focus-visible { outline: 0; box-shadow: var(--focus-ring); }
@media (max-width: 1100px) {
  .cfv-theme .main-nav { gap: 14px; }
  .cfv-theme .hero-grid { gap: 30px; }
  .cfv-theme .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cfv-theme .product-footer { flex-wrap: wrap; align-items: center; }
}
@media (max-width: 920px) {
  .cfv-theme .hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .cfv-theme .hero { background-position: 68% center; padding-top: 52px; }
  .cfv-theme .hero h1 { max-width: 650px; font-size: clamp(3.2rem, 8vw, 4.7rem); }
  .cfv-theme .hero-copy { max-width: 720px; }
  .cfv-theme .hero-visual { min-height: 340px; width: min(600px, 100%); justify-self: end; }
  .cfv-theme .hero-visual > .empty-state { min-height: 300px; margin-top: 0; }
  .cfv-theme .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cfv-theme .about-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .cfv-theme .m3d-product-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 84px; }
  .cfv-theme .container { width: calc(100% - 28px); }
  .cfv-theme .nav-wrap { height: 70px; gap: 9px; }
  .cfv-theme .site-header .brand { gap: 8px; flex: 1; }
  .cfv-theme .site-header .brand strong { max-width: 9.4rem; font-size: .9rem; line-height: 1.22; }
  .cfv-theme .site-header .brand-mark { width: 34px; height: 37px; border-radius: 11px; }
  .cfv-theme .main-nav { gap: 0; }
  .cfv-theme .main-nav .admin-nav-button { display: none; }
  .cfv-theme .cart-link { padding: 9px 10px; font-size: .76rem; }
  .cfv-theme .cart-link span { margin-left: 3px; min-width: 19px; height: 19px; }
  .cfv-theme .mobile-menu { width: 40px; height: 42px; }
  .cfv-theme .hero { padding: 42px 0 34px; min-height: 0; background-image: linear-gradient(180deg, #040b14cf 0%, #040b14dd 53%, #040b1430 100%), url('../images/blueprint-printer.webp'); background-position: 69% bottom; }
  .cfv-theme .hero h1 { font-size: clamp(2.8rem, 11.3vw, 4rem); line-height: 1.04; letter-spacing: -.05em; }
  .cfv-theme .hero-copy > p { font-size: 1rem; }
  .cfv-theme .hero-actions { margin: 25px 0 22px; }
  .cfv-theme .trust-row { font-size: .72rem; gap: 8px 14px; }
  .cfv-theme .hero-visual { min-height: 245px; margin-top: 0; }
  .cfv-theme .hero-visual > .empty-state { min-height: 225px; padding: 20px; background: linear-gradient(180deg, #06101c00, #06101cbb); }
  .cfv-theme .hero-visual > .empty-state h3 { font-size: 1rem; }
  .cfv-theme .hero-floating { left: 27%; top: 47%; max-width: 70%; }
  .cfv-theme .hero-floating strong { font-size: .78rem; }
  .cfv-theme .stats-strip { grid-template-columns: 1fr; margin-top: 18px; margin-bottom: 44px; }
  .cfv-theme .stats-strip > div { padding: 15px 20px; }
  .cfv-theme .stats-strip strong { font-size: .92rem; }
  .cfv-theme .stats-strip span { font-size: .8rem; }
  .cfv-theme .section-head h2,
  .cfv-theme .about-section h2 { font-size: clamp(1.85rem, 8vw, 2.6rem); }
  .cfv-theme .shop-section { padding-bottom: 50px; }
  .cfv-theme .section-head { gap: 8px; margin-bottom: 16px; }
  .cfv-theme .section-head > p { font-size: .92rem; margin: 0; }
  .cfv-theme .product-grid { grid-template-columns: 1fr; gap: 18px; }
  .cfv-theme .product-footer { align-items: center; }
  .cfv-theme .product-footer .product-actions { width: auto; margin-left: auto; }
  .cfv-theme .process-grid,
  .cfv-theme .about-grid { grid-template-columns: 1fr; gap: 18px; }
  .cfv-theme .feature-band,
  .cfv-theme .about-section { padding: 48px 0; }
  .cfv-theme .process-grid article { padding: 22px; }
  .cfv-theme .process-grid h3 { margin-top: 16px; }
  .cfv-theme .about-card { margin-top: 8px; }
  .cfv-theme .modal { padding: 10px; }
  .cfv-theme .modal-card { padding: 23px 19px; max-height: 92vh; max-height: 92dvh; border-radius: 18px; }
  .cfv-theme .modal-card h2 { font-size: clamp(1.7rem, 7.5vw, 2.3rem); padding-right: 24px; overflow-wrap: anywhere; }
  .cfv-theme .modal-close { width: 36px; height: 36px; top: 12px; right: 12px; }
  .cfv-theme .drawer-panel { width: 100%; padding: 22px 18px; }
  .cfv-theme .drawer-head h2 { font-size: 1.7rem; }
  .cfv-theme .cart-item { grid-template-columns: 60px minmax(0, 1fr) auto; gap: 9px; }
  .cfv-theme .cart-item img { width: 60px; height: 60px; }
  .cfv-theme input:not([type='checkbox']):not([type='radio']),
  .cfv-theme select,
  .cfv-theme textarea { font-size: 16px; }
  .cfv-theme .m3d-consent { left: 10px; bottom: 10px; width: calc(100% - 20px); padding: 20px; max-height: 82vh; max-height: 82dvh; }
  .cfv-theme .m3d-consent .m3d-actions { display: grid; grid-template-columns: 1fr; }
  .cfv-theme .m3d-consent .btn { width: 100%; }
  .cfv-theme .m3d-product-page { padding: 0 14px; margin-top: 28px; }
  .cfv-theme .m3d-product-layout > div:nth-child(2) { padding: 24px 20px; }
  .cfv-theme .m3d-product-page h1 { font-size: 2rem; }
  .cfv-theme .pay-card,
  .cfv-theme .m3d-policy { padding: 25px 20px; border-radius: 16px; }
  .cfv-theme .m3d-policy { width: calc(100% - 28px); margin: 24px auto; }
}
@media (prefers-reduced-motion: reduce) {
  .cfv-theme *, .cfv-theme *::before, .cfv-theme *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media print {
  body.cfv-theme { color: #111; background: #fff; }
  .cfv-theme .site-header, .cfv-theme .site-footer, .cfv-theme .m3d-consent { display: none !important; }
  .cfv-theme .pay-card, .cfv-theme .m3d-policy { background: #fff; color: #111; border: 1px solid #bbb; box-shadow: none; }
}
