/* Frame purchase presentation. Commerce data and actions keep their existing sources. */
.single-product-page--frame .frame-product-summary { display: flex; flex-direction: column; }
.single-product-page--frame .product-commerce__header { order: 1; }
.single-product-page--frame .product-commerce__intro-wrap { order: 2; }
.single-product-page--frame .product-commerce__price { order: 3; }
.single-product-page--frame .product-commerce__vouchers { order: 4; }
.single-product-page--frame .frame-option { order: 5; }
.single-product-page--frame .frame-option--size-choices { order: 6; }
.single-product-page--frame .product-assurance__compact { order: 11; }
.single-product-page--frame .frame-gift-section { order: 8; }
.single-product-page--frame .product-commerce__stock { order: 9; }
.single-product-page--frame .product-commerce__purchase { order: 10; }
.single-product-page--frame .product-commerce__header h1 { font-size: clamp(28px, 2.8vw, 39px); line-height: 1.12; }
.single-product-page--frame .product-commerce__intro { margin: 7px 0 0; }
.single-product-page--frame .product-commerce__intro-wrap [data-product-intro-more] { margin-top: 4px; padding: 0; border: 0; background: none; color: #075bf1; font-size: 12px; font-weight: 800; cursor: pointer; }
.single-product-page--frame .product-commerce__intro-wrap [hidden] { display: none; }
.single-product-page .product-commerce__voucher-disclosure { border: 0; border-radius: 0; background: transparent; }
.single-product-page .product-purchase-disclosure { min-width: 0; border-bottom: 1px solid #e1eaf4; }
.single-product-page .product-purchase-disclosure > .product-purchase-row { display: flex; min-height: 64px; align-items: center; gap: 11px; padding: 10px 2px; cursor: pointer; list-style: none; background: #fff; }
.single-product-page .product-purchase-row::-webkit-details-marker { display: none; }
.single-product-page .product-purchase-row__icon { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 9px; background: #eaf2ff; color: #075bf1; }
.single-product-page .product-purchase-row__icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.single-product-page .product-purchase-row__copy { display: grid; flex: 1; min-width: 0; gap: 3px; }
.single-product-page .product-purchase-row__copy strong { color: #152e56; font-size: 13px; line-height: 1.2; }
.single-product-page .product-purchase-row__copy small { overflow: hidden; color: #617694; font-size: 11px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.single-product-page .product-purchase-row__action { color: #075bf1; font-size: 11px; font-weight: 800; white-space: nowrap; }
.single-product-page .product-purchase-row:focus-visible { outline: 3px solid #96bcff; outline-offset: -3px; }
.single-product-page--frame .product-assurance__compact { margin-top: 14px; }
.single-product-page .product-commerce__vouchers { margin-top: 0; }
.single-product-page .product-commerce__voucher-panel,
.single-product-page .product-purchase-sheet__panel { padding: 15px; border: 1px solid #dce8f7; border-radius: 12px; background: #fff; }
.single-product-page .product-purchase-disclosure:not([open]) > .product-purchase-sheet__panel { display: none; }
.single-product-page .product-purchase-sheet__backdrop { display: none; }
.single-product-page .product-purchase-sheet__head { display: none; }
.single-product-page .product-purchase-sheet__note { margin: 0 0 10px; color: #5d7190; font-size: 12px; }
.single-product-page--frame .product-assurance__shipping-row { display: flex; gap: 10px; padding: 9px 0; }
.single-product-page .product-purchase-sheet__service { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; padding: 11px 0; border-bottom: 1px solid #e4ebf4; color: #142c54; }
.single-product-page .product-purchase-sheet__service strong { font-size: 13px; }
.single-product-page .product-purchase-sheet__service small { grid-row: 2; color: #667a96; font-size: 11px; }
.single-product-page .product-purchase-sheet__service > span { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #075bf1; font-size: 20px; }
.single-product-page .product-purchase-sheet__details { display: grid; gap: 5px; margin: 11px 0; padding-left: 17px; color: #546987; font-size: 11px; }
.single-product-page .product-purchase-sheet__link { display: inline-block; margin-top: 8px; color: #075bf1; font-size: 12px; font-weight: 800; }
.single-product-page--frame .frame-gift-section { margin-top: 12px; }
.single-product-page--frame .frame-gift-section h2 { margin: 0 0 7px; color: #20395d; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.single-product-page--frame .frame-gift { margin-top: 0; }
.single-product-page--lens .frame-gift-section { margin-top: 12px; }
.single-product-page--lens .frame-gift-section h2 { margin: 0 0 7px; color: #20395d; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.single-product-page--lens .frame-gift { grid-template-columns: 32px minmax(0, 1fr) auto; gap: 9px; margin-top: 0; padding: 8px 11px; }
.single-product-page--lens .frame-gift + .frame-gift { margin-top: 6px; }
.single-product-page--lens .frame-gift > span { width: 30px; height: 30px; font-size: 15px; }
.single-product-page--lens .frame-gift em { display: none; }
.single-product-page--lens .frame-gift__free { color: #8a630e; font-size: 10px; white-space: nowrap; }
.single-product-page--frame .product-buy-voucher [data-buy-voucher-label] { font-size: 9px; line-height: 1; font-weight: 600; text-transform: none; }
.single-product-page--frame .product-buy-voucher [data-buy-voucher-label][hidden] { display: none; }
.frame-mobile-purchase-bar { display: none; }

@media (max-width: 767px) {
  body.single-frame-product { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .frame-mobile-purchase-bar { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: auto minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 6px; min-height: 66px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid #d7e1ed; background: #fffffff2; box-shadow: 0 -10px 30px #0a23481f; backdrop-filter: blur(12px); }
  .frame-mobile-purchase-bar.is-near-main-actions { display: none; }
  .frame-mobile-purchase-bar > span { min-width: 0; color: #e5002b; font-size: clamp(13px,3.8vw,17px); font-weight: 900; white-space: nowrap; }
  .frame-mobile-purchase-bar .button { min-width: 0; min-height: 44px; padding: 5px; font-size: 10px; line-height: 1.15; text-align: center; }
  .frame-mobile-purchase-bar .product-buy-voucher { background: #df0029; border-color: #df0029; color: #fff; }
  .frame-mobile-purchase-bar .product-buy-voucher span, .frame-mobile-purchase-bar .product-buy-voucher strong { display: none !important; }
  .frame-mobile-purchase-bar .product-buy-voucher::after { content: 'Mua ngay'; font-size: 11px; font-weight: 850; }
  .single-frame-product .back-to-top { bottom: 84px; }
  .single-lens-product .floating-contact, .single-lens-product .back-to-top { display: none; }
  .single-product-page--lens .lens-summary h1 { font-size: clamp(26px, 7.1vw, 29px); line-height: 1.12; letter-spacing: -.035em; }
  .single-product-page--frame .frame-product-main { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .single-product-page--frame .frame-product-left,
  .single-product-page--frame .frame-product-summary { display: contents; }
  .single-product-page--frame .frame-gallery { order: 1; margin-bottom: 10px; }
  .single-product-page--frame .product-commerce__price { order: 4; margin: 0 0 10px; padding: 12px 14px; }
  .single-product-page--frame .product-commerce__price.is-flash { margin: 0 0 10px; padding: 11px 14px; }
  .single-product-page--frame .product-commerce__price-line { gap: 7px; align-items: baseline; }
  .single-product-page--frame .product-commerce__price-line strong { order: 1; }
  .single-product-page--frame .product-commerce__price-line del { order: 2; }
  .single-product-page--frame .product-commerce__price-line em { order: 3; }
  .single-product-page--frame .product-commerce__price-line strong,
  .single-product-page--frame .product-commerce__price:not(.is-flash) .product-commerce__price-line strong { font-size: clamp(30px, 8vw, 34px); line-height: 1.08; }
  .single-product-page--frame .product-commerce__flash { gap: 7px; }
  .single-product-page--frame .product-commerce__flash strong { font-size: 12px; }
  .single-product-page--frame .product-commerce__flash span { font-size: 10px; }
  .single-product-page--frame .product-commerce__header { order: 2; padding: 5px 14px 0; }
  .single-product-page--frame .product-commerce__header h1 { font-size: 24px; line-height: 1.15; }
  .single-product-page--frame .product-commerce__eyebrow { font-size: 10px; }
  .single-product-page--frame .product-commerce__identity { margin-top: 4px; font-size: 11px; }
  .single-product-page--frame .product-commerce__brand { min-width: 0; max-width: 74px; }
  .single-product-page--frame .product-commerce__intro-wrap { order: 3; padding: 0 14px 9px; }
  .single-product-page--frame .product-commerce__intro { display: -webkit-box; overflow: hidden; margin-top: 5px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 12px; line-height: 1.45; }
  .single-product-page--frame .product-commerce__intro.is-expanded { display: block; overflow: visible; }
  .single-product-page--frame .frame-option { order: 7; margin: 0; padding: 9px 14px; border-top: 1px solid #e1eaf4; background: #fff; }
  .single-product-page--frame .frame-option--size-choices { order: 8; }
  .single-product-page--frame .frame-option__heading { margin-bottom: 6px; }
  .single-product-page--frame .frame-variant-list { flex-wrap: nowrap; gap: 6px; overflow-x: auto; }
  .single-product-page--frame .frame-variant-card { width: 70px; min-width: 70px; min-height: 62px; padding: 4px; font-size: 9px; }
  .single-product-page--frame .frame-variant-card img { width: 58px; height: 37px; }
  .single-product-page--frame .product-commerce__vouchers { order: 5; padding: 0 14px; background: #fff; }
  .single-product-page--frame .product-assurance__compact { order: 6; padding: 0 14px; background: #fff; }
  .single-product-page--frame .frame-gift-section { order: 9; margin: 11px 0 0; padding: 0 14px; }
  .single-product-page--frame .product-commerce__stock { order: 10; margin: 10px 14px 0; }
  .single-product-page--frame .product-commerce__purchase { order: 11; display: grid; grid-template-columns: 1fr; gap: 9px; margin: 10px 14px 0; }
  .single-product-page--frame .product-commerce__quantity { width: max-content; height: 42px; grid-template-columns: 30px 34px 30px; }
  .single-product-page--frame .frame-product-actions { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 8px; }
  .single-product-page--frame .frame-product-actions [data-add-to-cart],
  .single-product-page--frame .frame-product-actions [data-buy-with-voucher] { min-width: 0; min-height: 48px; padding: 6px 5px; font-size: 11px; white-space: normal; }
  .single-product-page--frame .frame-product-actions [data-buy-with-voucher] strong { font-size: 15px; }
  .single-product-page--frame .frame-product-actions__booking,
  .single-product-page--frame .frame-product-actions [data-tryon-open] { grid-column: 1 / -1; }
  .single-product-page--frame .frame-info-card { order: 12; margin-top: 18px; }
  .single-product-page .product-purchase-disclosure > .product-purchase-row { min-height: 62px; padding: 8px 0; }
  .single-product-page .product-purchase-disclosure[open] { position: relative; z-index: 10020; }
  .single-product-page .product-purchase-disclosure[open] > .product-purchase-sheet__backdrop { display: block; position: fixed; z-index: 10021; inset: 0; width: 100%; border: 0; background: #071b3a85; cursor: pointer; }
  .single-product-page .product-purchase-disclosure[open] > .product-purchase-sheet__panel { position: fixed; z-index: 10022; right: 0; bottom: 0; left: 0; max-height: min(82dvh, 720px); overflow-y: auto; padding: 18px 16px calc(20px + env(safe-area-inset-bottom)); border: 0; border-radius: 20px 20px 0 0; background: #fff; box-shadow: 0 -18px 48px #0a244d36; }
  .single-product-page .product-purchase-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
  .single-product-page .product-purchase-sheet__head h2 { margin: 0; color: #102b5a; font-size: 17px; }
  .single-product-page .product-purchase-sheet__head button { width: 34px; height: 34px; border: 0; border-radius: 8px; background: #eef4ff; color: #174b9c; font-size: 23px; cursor: pointer; }
  .single-product-page .product-commerce__voucher-panel .product-commerce__voucher-list { grid-template-columns: 1fr; }
  .single-product-page .product-commerce__voucher-dialog { position: fixed; top: auto; right: 0; bottom: 0; left: 0; width: 100%; max-width: none; max-height: 82dvh; overflow-y: auto; margin: 0; padding: 18px 16px calc(20px + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; }
  body.product-purchase-sheet-open { overflow: hidden; }
  body.product-purchase-sheet-open .single-product-page--lens .lens-summary.reveal { transform: none; }
  body.product-purchase-sheet-open .lens-mobile-buy, body.product-purchase-sheet-open .frame-mobile-purchase-bar { display: none; }
  body.menu-open .lens-mobile-buy, body.menu-open .frame-mobile-purchase-bar,
  body:has([data-product-vouchers-dialog][open]) .lens-mobile-buy,
  body:has([data-product-vouchers-dialog][open]) .frame-mobile-purchase-bar { display: none !important; }
}

.single-product-page--lens .product-commerce__vouchers { margin-top: 12px; }
.single-product-page .product-commerce__voucher-disclosure{border:0;border-radius:0;background:transparent}
.single-product-page .product-commerce__voucher-disclosure>.product-voucher-highlight{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 14px;border:1px solid #bbefc9;border-radius:12px;background:linear-gradient(90deg,#ecfdf3 0%,#f4fdf7 55%,#fbfefc 100%);box-sizing:border-box}
.single-product-page .product-voucher-highlight::before{content:"";position:absolute;top:10px;bottom:10px;left:0;width:3px;border-radius:0 3px 3px 0;background:#22a05a}
.single-product-page .product-voucher-highlight.is-applied::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:1px;background:#168a46}
.single-product-page .product-voucher-highlight .product-purchase-row__icon{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:9px;background:#dcfce7;color:#15803d}
.single-product-page .product-voucher-highlight .product-purchase-row__copy{flex:1;min-width:0;gap:2px}
.single-product-page .product-voucher-highlight .product-purchase-row__copy strong{color:#0b2b59;font-size:14px;line-height:1.25;font-weight:700}
.single-product-page .product-voucher-highlight .product-purchase-row__copy small{overflow:visible;color:#64748b;font-size:12px;line-height:1.35;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.single-product-page .product-voucher-highlight.is-applied .product-purchase-row__copy small{color:#c8102e;font-weight:700}
.single-product-page .product-commerce__price:not(.is-discounted) .product-commerce__price-line strong{color:#075bf1}
.single-product-page .product-commerce__price.is-discounted .product-commerce__price-line strong{color:#d71931}
.single-product-page .product-voucher-highlight .product-purchase-row__action{flex:0 0 auto;color:#15803d;font-size:12px;font-weight:700;white-space:nowrap}
.single-product-page .product-voucher-highlight:hover .product-purchase-row__action{color:#166534;text-decoration:underline}
.single-product-page .product-voucher-highlight:focus-visible{outline:3px solid #15803d;outline-offset:2px}
@media(max-width:767px){
  .single-product-page .product-commerce__voucher-disclosure>.product-voucher-highlight{min-height:54px;padding:9px 10px;gap:9px;border-radius:10px}
  .single-product-page .product-voucher-highlight .product-purchase-row__icon{flex-basis:32px;width:32px;height:32px;border-radius:8px}
  .single-product-page .product-voucher-highlight .product-purchase-row__copy strong{font-size:13px}
  .single-product-page .product-voucher-highlight .product-purchase-row__copy small,.single-product-page .product-voucher-highlight .product-purchase-row__action{font-size:11px}
}
.single-product-page .product-commerce__voucher-panel .product-commerce__section-title:not(:first-child) { margin-top: 16px; }
.single-product-page .product-commerce__voucher[data-product-shipping-card].is-selected { border-color: #075bf1; background: #f2f7ff; }
.single-product-page--lens .product-gift-picker__desktop-summary { display: none; }
/* Shared desktop buy-area hierarchy; mobile keeps its compact product flow. */
@media (min-width: 768px) {
  .single-product-page .product-commerce__intro-wrap,
  .single-product-page .product-commerce__deep-discount,
  .single-product-page .product-commerce__price .product-commerce__flash { display: none; }
  .single-product-page .product-commerce__price.is-flash .product-commerce__flash { display: flex; }
  .single-product-page .product-commerce__social-row { display: flex; align-items: center; justify-content: space-between; gap: 8px 14px; flex-wrap: wrap; min-width: 0; margin: 11px 0 16px; }
  .single-product-page--frame .frame-product-summary > .product-commerce__social-row { order: 2; }
  .single-product-page .product-commerce__social-proof,
  .single-product-page .product-commerce__social-actions { display: flex; align-items: center; min-width: 0; gap: 10px; }
  .single-product-page .product-commerce__social-proof { color: #52647f; font-size: 13px; font-weight: 600; }
  .single-product-page .product-commerce__social-proof a { color: #17345a; text-decoration: none; white-space: nowrap; }
  .single-product-page .product-commerce__social-proof a:hover { text-decoration: underline; }
  .single-product-page .product-commerce__social-proof a span { color: #e9a517; }
  .single-product-page .product-commerce__social-sold { padding-left: 10px; border-left: 1px solid #d7e0ed; white-space: nowrap; }
  .single-product-page .product-commerce__social-actions { margin-left: auto; }
  .single-product-page .product-commerce__social-actions .ddm-product-social__favorite { gap: 4px; white-space: nowrap; }
  .single-product-page .product-commerce__social-actions .ddm-product-social__share { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; padding: 0; border-radius: 50%; color: #244c83; }
  .single-product-page .product-commerce__social-actions .ddm-product-social__share:hover { background: #ecf4ff; color: #075bf1; }
  .single-product-page .product-commerce__social-actions .ddm-product-social__share:focus-visible { outline: 2px solid #075bf1; outline-offset: 2px; }
  .single-product-page .product-commerce__price { margin-top: 0; }
  .single-product-page--frame .frame-product-summary > .product-commerce__price { order: 3; }
  .single-product-page--frame .frame-product-summary > .product-commerce__vouchers { order: 4; }
  .single-product-page.single-product-page--frame .frame-product-summary > .frame-gift-section { order: 5; margin: 10px 0 0; padding: 10px 12px; border: 1px solid #f0d69b; border-radius: 12px; background: #fffaf0; }
  .single-product-page--frame .frame-product-summary > .frame-gift-section h2 { margin: 0 0 4px; color: #754d12; font-size: 13px; font-weight: 800; letter-spacing: 0; text-transform: none; }
  .single-product-page--frame .frame-product-summary > .frame-gift-section .frame-gift { grid-template-columns: 28px minmax(0,1fr) auto; gap: 8px; margin: 0; padding: 0; border: 0; background: transparent; }
  .single-product-page--frame .frame-product-summary > .frame-gift-section .frame-gift + .frame-gift { margin-top: 8px; }
  .single-product-page--frame .frame-product-summary > .frame-gift-section .frame-gift > span { width: 27px; height: 27px; background: #fff0ca; }
  .single-product-page--frame .frame-product-summary > .frame-gift-section .frame-gift__free { color: #8a630e; font-size: 11px; white-space: nowrap; }
  .single-product-page--frame .frame-product-summary > .frame-option { order: 6; }
  .single-product-page--frame .frame-product-summary > .frame-option--size-choices { order: 7; }
  .single-product-page--frame .frame-product-summary > .product-assurance__compact { order: 11; }
  .single-product-page--frame .frame-product-summary > .product-commerce__stock { order: 9; }
  .single-product-page--frame .frame-product-summary > .product-commerce__purchase { order: 10; }
  .single-product-page--frame .frame-product-summary > .frame-tool-lens-link { order: 12; }
  .single-product-page--lens .lens-summary .product-commerce__price { margin-top: 0; }
  .single-product-page--lens .lens-summary .product-commerce__vouchers { margin-top: 0; }
  .single-product-page--lens .product-gift-picker { margin: 10px 0 0; }
  .single-product-page--lens .product-gift-picker__card { min-height: 73px; padding: 10px 12px; border-color: #f0d69b; background: #fffaf0; }
  .single-product-page--lens .product-gift-picker__card > svg { width: 27px; height: 27px; }
  .single-product-page--lens .product-gift-picker__card strong { color: #754d12; font-size: 13px; }
  .single-product-page--lens .product-gift-picker__card [data-gift-summary]:not([hidden]),
  .single-product-page--lens .product-gift-picker__card .product-gift-picker__desktop-summary { display: block; color: #172e53; font-size: 12px; font-weight: 700; }
  .single-product-page--lens .product-gift-picker__card [data-gift-summary]:not([hidden]) + .product-gift-picker__desktop-summary { display: none; }
}
/* Shared five-second purchase confirmation. */
.product-confirmation { width: min(100% - 24px, 520px); max-height: 86dvh; padding: 18px; border: 0; border-radius: 18px; box-shadow: 0 20px 60px #0b234e66; overflow: auto; color: #112b59; }
.product-confirmation::backdrop { background: #061a39a6; }
.product-confirmation__head { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 13px; }
.product-confirmation__head h2 { margin: 0; font-size: 20px; }
.product-confirmation__head button { width: 38px; height: 38px; border: 0; border-radius: 9px; background: #edf3fc; color: #12345c; font-size: 24px; cursor: pointer; }
.product-confirmation__product { display: flex; gap: 12px; align-items: center; padding-bottom: 14px; border-bottom: 1px solid #e0e8f3; }
.product-confirmation__product img { flex: none; width: 88px; height: 76px; border-radius: 9px; background: #f5f8fc; object-fit: contain; }
.product-confirmation__product div { display: grid; gap: 3px; min-width: 0; }
.product-confirmation__product strong { font-size: 16px; }
.product-confirmation__product small { color: #60718a; }
.product-confirmation__product b { font-size: 17px; }
.product-confirmation__product span { color: #db0636; font-size: 13px; font-weight: 750; }
.product-confirmation__product [data-confirm-price] { color: #7989a0; font-size: 13px; font-weight: 500; text-decoration: line-through; }
.product-confirmation__product [data-confirm-voucher-price] { color: #d71935; font-size: clamp(24px,6vw,30px); line-height: 1.08; font-weight: 900; }
.product-confirmation__product [data-confirm-voucher-note] { color: #bf2139; font-size: 11px; }
.product-confirmation fieldset { min-width: 0; margin: 14px 0; padding: 0; border: 0; }
.product-confirmation legend { margin-bottom: 9px; font-size: 13px; font-weight: 800; }
.product-confirmation__variants > div { display: flex; flex-wrap: wrap; gap: 7px; }
.product-confirmation__variants button { min-height: 40px; padding: 8px 11px; border: 1px solid #d3e0f2; border-radius: 9px; background: #fff; color: #15325d; font-weight: 700; cursor: pointer; }
.product-confirmation__variants button.is-selected { border-color: #095dea; background: #f1f6ff; color: #084cc9; }
.product-confirmation__prescription { display: grid; gap: 9px; }
.product-confirmation__prescription > label { display: flex; gap: 8px; align-items: center; min-height: 34px; font-size: 13px; }
.product-confirmation__prescription input[type=radio] { accent-color: #095dea; }
.product-confirmation__prescription [data-confirm-edit-rx] { justify-self: start; min-height: 38px; padding: 7px 11px; border: 1px solid #9dbcf4; border-radius: 8px; background: #f2f7ff; color: #075bda; font-weight: 750; cursor: pointer; }
.product-confirmation__prescription [data-confirm-rx-summary] { margin: 0; color: #4a607e; font-size: 12px; }
.product-confirmation__rx-dialog { width: min(100% - 24px, 480px); max-height: 85dvh; overflow: auto; padding: 18px; border: 0; border-radius: 18px; color: #112b59; }
.product-confirmation__rx-dialog::backdrop { background: #061a39a6; }
.product-confirmation__rx-dialog > p { color: #526580; font-size: 12px; }
.product-confirmation__rx-dialog [data-confirm-prescription] { display: grid; gap: 12px; margin: 15px 0; }
.product-confirmation__rx-dialog [data-confirm-prescription] > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; padding: 12px; border-radius: 10px; background: #f4f8ff; }
.product-confirmation__rx-dialog [data-confirm-prescription] strong { grid-column: 1/-1; font-size: 13px; }
.product-confirmation__rx-dialog [data-confirm-prescription] label { display: grid; gap: 4px; font-size: 11px; font-weight: 750; }
.product-confirmation__rx-dialog [data-confirm-prescription] input { width: 100%; min-width: 0; min-height: 39px; padding: 6px; border: 1px solid #cddbf0; border-radius: 7px; }
.product-confirmation__rx-dialog [data-confirm-rx-error] { color: #b42038; }
.product-confirmation__rx-dialog [data-confirm-rx-save] { width: 100%; }
.product-confirmation__benefits { display: grid; gap: 7px; padding: 12px 0; border-block: 1px solid #e0e8f3; }
.product-confirmation__benefits > div { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 9px; font-size: 12px; }
.product-confirmation__benefits strong { min-width: 115px; }
.product-confirmation__benefits span { flex: 1; color: #526580; }
.product-confirmation__benefits button { border: 0; background: transparent; color: #075bda; font-weight: 750; cursor: pointer; }
.product-confirmation__qty { display: flex; justify-content: space-between; align-items: center; margin: 12px 0; font-weight: 700; }
.product-confirmation__qty div { display: flex; align-items: center; gap: 5px; }
.product-confirmation__qty button { width: 38px; height: 38px; border: 1px solid #d3e0f2; border-radius: 9px; background: #fff; cursor: pointer; }
.product-confirmation__qty input { width: 48px; height: 38px; border: 1px solid #d3e0f2; border-radius: 9px; text-align: center; }
.product-confirmation__total { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; margin-bottom: 12px; }
.product-confirmation__total strong { color: #db0636; font-size: 20px; }
.product-confirmation [data-confirm-error] { color: #b42038; font-size: 12px; }
.product-confirmation__actions { display: grid; grid-template-columns: 1fr 1.35fr; gap: 8px; }
.product-confirmation__actions button { min-height: 44px; padding: 8px; font-size: 12px; }
.product-confirmation__variants button { min-height: 44px; }
.product-confirmation__variants button.is-selected::before { content: '✓ '; }
.product-confirmation__qty button, .product-confirmation__qty input { min-width: 44px; height: 44px; }
.product-confirmation__benefits > div { min-height: 48px; border-bottom: 1px solid #e8eef6; }
.product-confirmation__benefits > div:last-child { border: 0; }
.product-confirmation__benefits > .product-confirmation__benefit--voucher,
.product-confirmation__benefits > .product-confirmation__benefit--gift { min-width: 0; padding: 7px 10px; border: 1px solid; border-radius: 10px; }
.product-confirmation__benefits > .product-confirmation__benefit--voucher { border-color: #bbefc9; background: #f2fcf5; }
.product-confirmation__benefits > .product-confirmation__benefit--gift { border-color: #f3ddb0; background: #fffaf0; }
.product-confirmation__benefits .product-confirmation__benefit--voucher button { color: #15803d; }
.product-confirmation__benefit--gift strong { color: #5b3c15; }
.product-confirmation__benefit--gift span { color: #805f35; }
.product-confirmation__benefits .product-confirmation__benefit--gift button { color: #995c00; }
.product-confirmation__benefits > .product-confirmation__benefit--shipping { margin-top: 2px; padding: 0 10px; }
.product-confirmation__voucher-options{margin:10px 0;padding:12px;border:1px solid #ccebd7;border-radius:11px;background:#f6fdf8}
.product-confirmation__voucher-options[hidden]{display:none}
.product-confirmation__voucher-options>strong{display:block;margin-bottom:9px;color:#12365c;font-size:13px}
.product-confirmation__voucher-options [data-confirm-voucher-list]{display:grid;gap:7px;max-height:220px;overflow-y:auto}
.product-confirmation__voucher-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;align-items:center;width:100%;min-height:48px;padding:8px 10px;border:1px solid #cddfed;border-radius:8px;background:#fff;color:#17345d;text-align:left;cursor:pointer}
.product-confirmation__voucher-option strong{min-width:0;overflow-wrap:anywhere;font-size:12px}
.product-confirmation__voucher-option span{color:#16804a;font-size:12px;font-weight:750}
.product-confirmation__voucher-option small{grid-column:1/-1;color:#61738b;font-size:11px}
.product-confirmation__voucher-option[aria-pressed=true]{border-color:#22a05a;background:#eafaf0}
.product-confirmation__voucher-option:focus-visible,.product-confirmation__voucher-clear:focus-visible{outline:2px solid #16804a;outline-offset:2px}
.product-confirmation__voucher-clear{min-height:40px;padding:7px 10px;border:0;background:transparent;color:#166534;font-size:12px;font-weight:750;text-align:left;cursor:pointer}
.product-confirmation__total strong { font-size: 26px; }
.product-confirmation__actions [data-confirm-buy] { min-height: 54px; background: #075bea; border-color: #075bea; color: #fff; font-size: 15px; font-weight: 850; }
.product-confirmation__actions [data-confirm-add] { min-height: 54px; background: #fff; color: #075bea; font-size: 13px; }
@media(max-width:767px) {
  .product-confirmation { position: fixed; inset: auto 0 0; width: 100%; max-width: none; max-height: 88dvh; margin: 0; padding: 18px 15px 14px; border-radius: 20px 20px 0 0; }
  .product-confirmation__actions { position: sticky; bottom: 0; z-index: 2; margin: 0 -15px; padding: 12px 15px calc(12px + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -9px 24px #102b5917; }
  .product-confirmation__rx-dialog { position: fixed; inset: auto 0 0; width: 100%; max-width: none; max-height: 88dvh; margin: 0; padding: 18px 15px max(18px,env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; }
  body:has(.product-confirmation[open]) .lens-mobile-buy, body:has(.product-confirmation[open]) .frame-mobile-purchase-bar { display: none !important; }
}

@media(max-width:767px) {
  .single-product-page--frame .product-purchase-disclosure--service[open] { z-index: auto; }
  .single-product-page--frame .product-purchase-disclosure--service[open] > .product-purchase-sheet__backdrop { display: none; }
  .single-product-page--frame .product-purchase-disclosure--service[open] > .product-purchase-sheet__panel { position: static; max-height: none; overflow: visible; padding: 14px; border: 1px solid #dce8f7; border-radius: 12px; box-shadow: none; }
  .single-product-page--frame .product-purchase-disclosure--service .product-purchase-sheet__head { display: none; }
}

.single-product-page--lens .lens-product-left>.product-discovery-row{min-width:0;padding:0;background:transparent}
.single-product-page--lens .lens-product-left>.product-discovery-row>.lens-detail__shell{width:100%;margin:0}
.single-product-page--lens .lens-product-left>.product-discovery-row .product-discovery-row__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.single-product-page--lens .lens-product-left>.product-discovery-row .product-discovery-row__head{align-items:center}
.single-product-page--lens .lens-product-left>.product-discovery-row .product-discovery-row__head h2{flex:1;white-space:nowrap}
.single-product-page--lens .lens-product-left>.product-discovery-row .product-discovery-row__head .ddm-rec-reason{display:none}
.single-product-page--lens .lens-product-left>.product-discovery-row .product-card:nth-child(n+5){display:none}
.single-product-page--lens .lens-product-left>.product-discovery-row .product-card__image{aspect-ratio:4/3}
.single-product-page--lens .lens-product-left>.product-discovery-row .product-card__body{padding:8px}
.single-product-page--lens .lens-product-left>.product-discovery-row .product-card h3{font-size:14px;line-height:1.3}
.product-card--lens .product-card__lens-features{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 1px}
.product-card--lens .product-card__lens-features span{max-width:100%;padding:3px 6px;border-radius:5px;background:#edf4ff;color:#315b93;font-size:10px;line-height:1.2}
.single-product-page--lens .product-card--lens .product-card__brand{display:none}
.product-card--lens .product-card__voucher{align-self:flex-start;margin:2px 0 0;padding:4px 7px;border-radius:6px;background:#fff0f2;color:#b9132a;font-size:10px;font-weight:750}
@media(max-width:1000px){
  .single-product-page--lens .lens-product-left>.product-discovery-row{order:4}
}
@media(max-width:767px){
  .single-product-page .product-discovery-row{padding-block:14px}
  .single-product-page .product-discovery-row__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 10px;margin-bottom:12px}
  .single-product-page .product-discovery-row__head h2{flex:1 1 auto;min-width:0;font-size:18px;line-height:1.25}
  .single-product-page .product-discovery-row__head>a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;font-size:12px}
  .single-product-page .product-discovery-row__head p,.single-product-page .product-discovery-row__head .ddm-rec-reason{display:none}
  .single-product-page .product-discovery-row__track,.single-product-page--lens .lens-product-left>.product-discovery-row .product-discovery-row__track{display:flex;gap:11px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
  .single-product-page .product-discovery-row__track>.product-card,.single-product-page--lens .lens-product-left>.product-discovery-row .product-discovery-row__track>.product-card{flex:0 0 55%;scroll-snap-align:start}
  .single-product-page .product-discovery-row__track::-webkit-scrollbar{display:none}
  .single-product-page--lens .lens-product-left>.product-discovery-row{padding-block:8px 16px}
  .single-product-page--lens .lens-product-left>.product-discovery-row .product-card:nth-child(n+5){display:block}
  .single-product-page--lens .product-card--lens .product-card__group{margin-bottom:2px;font-size:10px}
  .single-product-page--lens .product-card--lens .product-card__lens-features{max-height:38px;overflow:hidden}
}
.single-product-page [data-product-gallery-main][hidden], .single-product-page [data-product-gallery-video][hidden] { display: none !important; }
.single-product-page [data-product-gallery-video] { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; border-radius: inherit; background: #0b1730; object-fit: contain; }
.product-gallery-video-thumb { position: relative; overflow: hidden; }
.product-gallery-video-thumb span { position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #0c5be8; color: #fff; font-size: 13px; transform: translate(-50%,-50%); }
.product-gallery-video-thumb small { position: absolute; inset: auto 5px 5px; padding: 2px 4px; border-radius: 4px; background: #0b214ccf; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .03em; line-height: 1.2; pointer-events: none; }
.single-product-page .product-detail-brief { margin: 18px auto; padding: 15px 18px; border-radius: 14px; background: #f4f8fd; }
.single-product-page .product-detail-brief h2 { margin: 0 0 5px; color: #112c59; font-size: 17px; }
.single-product-page .product-detail-brief p { display: -webkit-box; overflow: hidden; margin: 0 0 6px; color: #50627e; font-size: 13px; line-height: 1.5; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.single-product-page .product-detail-brief a { color: #0b5be0; font-size: 13px; font-weight: 800; }
.single-product-page .product-detail-more { display: block; margin-block: 18px 32px; }
.single-product-page .product-detail-more > summary { padding: 15px; border: 1px solid #dce7f5; border-radius: 12px; background: #fff; color: #12345f; font-weight: 800; cursor: pointer; }
.single-product-page .product-detail-more[open] > summary { margin-bottom: 12px; }
.single-product-page--lens .product-detail-more { max-width: 1280px; margin-inline: auto; }
.product-discovery-row { padding: 20px 0; }
.product-discovery-row:nth-of-type(even) { background: #f5f8fc; }
.product-discovery-row__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.product-discovery-row__head h2 { margin: 0; color: #102c5b; font-size: clamp(18px,2vw,23px); }
.product-discovery-row__head a { flex: none; color: #0b5bdf; font-size: 13px; font-weight: 800; }
.product-discovery-row__track { display: grid; grid-auto-columns: minmax(0,1fr); grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.product-discovery-row .product-card { min-width: 0; }
.product-discovery-row .product-card__summary { display: none; }
@media(max-width:767px) {
  .product-discovery-row { padding: 15px 0; }
  .product-discovery-row__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(42%,1fr); grid-template-columns: none; gap: 9px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .product-discovery-row__track > * { scroll-snap-align: start; }
  .product-discovery-row__track::-webkit-scrollbar { display: none; }
  .product-discovery-row .product-card__body { padding: 8px; }
  .product-discovery-row .product-card__actions { display: none; }
}
