.quote-intro {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,80px);margin-bottom:64px;}
.quote-intro .section-heading {max-width:none;margin:0;min-width:0;}
.quote-intro h2 {font-size:clamp(2.6rem,4.2vw,4.5rem);line-height:1.07;margin-bottom:24px;}
.quote-intro h2 em {font-family:Georgia,"Times New Roman",serif;font-weight:400;}
.quote-intro .quote-intro-lead {font-size:1.0625rem;line-height:1.65;max-width:460px;color:var(--muted);}
.quote-inclusions {list-style:none;padding:0;margin:26px 0;display:flex;flex-wrap:wrap;gap:10px;}
.quote-inclusions li {display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #dec9b7;border-radius:10px;font-size:.875rem;line-height:1.5;background:#fff9f2;}
.quote-inclusions li > span:first-child {color:#9a400f;font-weight:700;}
.quote-graduation-note {max-width:440px;font-size:.9375rem;line-height:1.6;color:var(--muted);}
.quote-graduation-note strong {color:var(--ink);}
.quote-start {display:inline-flex;align-items:center;gap:20px;min-height:44px;margin-top:13px;}
#tipo-lente {scroll-margin-top:115px;}
#quote-result {scroll-margin-top:115px;}
.quote-look {min-width:0;max-width:590px;width:100%;justify-self:end;overflow:hidden;border:1px solid #39271b;border-radius:22px;background:#191714;color:#fff9f1;box-shadow:0 15px 40px #25130014;}
.quote-look-heading {display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 22px;font-size:.875rem;font-weight:700;background:var(--sun);color:var(--ink);}
.quote-look-counter {font-size:.875rem;font-weight:400;color:#462712;font-variant-numeric:tabular-nums;}
.quote-look-stage {position:relative;aspect-ratio:1.48;overflow:hidden;background:#e6ded2;touch-action:pan-y;}
.quote-look-photo {display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.04);transition:opacity .45s ease,transform .7s cubic-bezier(.2,.6,.3,1);pointer-events:none;}
.quote-look-photo.is-active {opacity:1;transform:scale(1);}
.quote-look-gesture {display:none;}
.quote-look-controls {display:flex;position:relative;justify-content:center;gap:6px;padding:6px;margin:-24px auto 0;width:max-content;max-width:calc(100% - 32px);background:#191714;border:1px solid #5d5147;border-radius:30px;box-shadow:0 6px 16px #0002;}
.quote-look-controls button {display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:0;border-radius:24px;color:#fff;background:transparent;font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s;}
.quote-look-controls button[aria-pressed="true"] {background:#ff9349;color:#17130f;}
.look-swatch {flex:none;width:14px;height:14px;border-radius:50%;border:1px solid currentColor;}
.look-swatch-clear {background:#fff9;}
.look-swatch-color {background:#b94708;}
.quote-look-footer {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px 12px;}
.quote-look-caption p {margin:0 0 4px;font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.025em;line-height:1.3;}
.quote-look-caption > span {display:block;font-size:.875rem;line-height:1.5;color:#dec8b6;}
.quote-look-choose {flex:none;display:flex;align-items:center;gap:9px;min-height:44px;max-width:100%;padding:10px 0;background:none;border:0;border-bottom:1px solid currentColor;font:inherit;font-size:.875rem;font-weight:700;color:#ffad71;text-align:left;cursor:pointer;}
.quote-look-note {margin:0;padding:0 22px 20px;font-size:.875rem;line-height:1.55;color:#dec8b6;}
.quote-look button:focus-visible {outline:3px solid #ffad71;outline-offset:4px;}
.quote-start:focus-visible {outline:3px solid #a6400c;outline-offset:4px;}
@media (hover:hover) and (pointer:fine) {.quote-look-stage:hover .quote-look-photo.is-active {transform:scale(1.045);}.quote-look-choose:hover {color:#ffd4b4;}}
@media (max-width:1100px) {.quote-look-footer {align-items:flex-start;flex-direction:column;gap:8px;}.quote-intro {gap:32px;}}
@media (max-width:760px) {.quote-intro {grid-template-columns:1fr;gap:30px;margin-bottom:44px;}.quote-look {max-width:none;}.quote-intro h2 {font-size:clamp(2.5rem,8vw,3.75rem);}.quote-look-stage {aspect-ratio:1.6;}.quote-look-footer {flex-direction:row;align-items:center;}.quote-inclusions {margin:20px 0;}}
@media (max-width:460px) {.quote-look-footer {flex-direction:column;align-items:flex-start;}.quote-look-heading,.quote-look-footer {padding-left:17px;padding-right:17px;}.quote-look-note {padding-left:17px;padding-right:17px;}.quote-look-controls button {padding-left:14px;padding-right:14px;}}
@media (prefers-reduced-motion:reduce) {.quote-look-photo,.quote-look-controls button {transition:none !important;transform:none !important;}}

/* Mobile controls stay comfortable with the keyboard and device safe areas. */
@media (max-width:820px) {
  html {scroll-padding-bottom:100px;}
  .quote-section {padding-top:56px;padding-bottom:64px;}
  .quote-look-gesture {display:block;position:absolute;top:12px;right:12px;padding:8px 12px;border-radius:20px;background:#fffcf2ec;font-size:.875rem;color:#34271d;pointer-events:none;}
  .quote-builder input:not([type=checkbox]):not([type=radio]),.quote-builder textarea,.quote-builder select,.booking-form input,.booking-form select,.booking-form textarea {font-size:1rem;min-height:48px;max-width:100%;}
  .text-link {min-height:44px;display:inline-flex;align-items:center;}
  .quote-look-controls button,.quote-look-choose {min-height:48px;}
  .quote-look-footer {flex-direction:column;align-items:flex-start;}
  .quote-look-choose {width:100%;justify-content:space-between;}
  .quote-card-top,.status-dot,.quote-total small,.quote-total>span,.segmented-control small,.upload-error,.photo-preview button,.quote-pill,.booking-form>label,.booking-form .field-pair>label {font-size:.875rem;line-height:1.45;}
  .quote-card-top {flex-wrap:wrap;gap:12px;}
  .photo-preview button,.selected-style button,.cancel-cart-edit {min-height:44px;}
  .cart-quantity button {min-width:48px;min-height:48px;}
  .cart-quantity input {min-height:48px;}
  .cart-dialog {padding-top:max(20px,env(safe-area-inset-top));padding-bottom:calc(28px + env(safe-area-inset-bottom));}
  .cart-dialog-header {position:sticky;top:calc(-1 * max(20px,env(safe-area-inset-top)));z-index:2;padding-top:16px;background:var(--paper);}
  .cart-dialog-header .eyebrow {font-size:.875rem;}
  .cart-dialog :is(button,input,select,textarea) {scroll-margin-bottom:90px;}
  .mobile-cta {min-height:56px;bottom:calc(12px + env(safe-area-inset-bottom));font-size:1rem;}
  body.cart-open .mobile-cta,body.gallery-open .mobile-cta,.mobile-cta.is-at-result {display:none;}
  body:has(input:not([type=checkbox]):not([type=radio]):focus) .mobile-cta,body:has(textarea:focus) .mobile-cta,body:has(select:focus) .mobile-cta {display:none;}
  footer {padding-bottom:calc(110px + env(safe-area-inset-bottom));}
}
@media (max-width:560px) {
  .quote-inclusions {gap:8px;}
  .quote-inclusions li {padding:8px 10px;}
  .quote-look-footer {flex-direction:column;align-items:flex-start;gap:8px;}
  .site-header {padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));}
}
