.page-quote{--quote-soft:#e5e5e2;--quote-muted:#777}
.page-quote .site-header{background:transparent}
.page-quote.menu-open .site-header{background:transparent}
.quote-main{padding-top:87px}
.quote-opening{align-items:start}
.quote-opening .section-marker{grid-column:1/7;color:var(--quote-muted);white-space:nowrap}
.quote-opening p{grid-column:7/13;grid-row:1;max-width:none;margin:0;white-space:nowrap}
.quote-workspace{align-items:start;margin-top:40px;column-gap:0}
.quote-visual{grid-column:1/7;position:sticky;top:72px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));min-width:0;padding-right:7.5%;}
.quote-form{grid-column:8/13;min-width:0;padding-bottom:80px}
.quote-form-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;color:var(--quote-muted)}
.quote-map-frame,.quote-route-caption{grid-column:1/-1}
.quote-map-frame{position:relative;width:100%;height:260px;margin-top:12px}
.quote-map-frame svg{display:block;width:100%;height:100%;overflow:visible}
.quote-state{fill:#dededb;stroke:var(--paper);stroke-width:1.25;vector-effect:non-scaling-stroke;transition:fill .25s ease;cursor:pointer;outline:none}
.quote-state:hover,.quote-state:focus-visible{fill:#a7a7a5}
.quote-state.is-selected,.quote-state.is-selected:hover,.quote-state.is-selected:focus-visible{fill:var(--charcoal)}
.quote-state:focus-visible{stroke:var(--charcoal);stroke-width:2}
.quote-route{fill:none;stroke:var(--charcoal);stroke-width:2.5;stroke-dasharray:3 7;stroke-linecap:round;vector-effect:non-scaling-stroke}
.quote-route-arrow{fill:none;stroke:var(--charcoal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.quote-route.is-animating{animation:quote-line 1.1s ease-out both}
.quote-route-arrow.is-animating{animation:quote-arrow .8s .35s ease-out both}
@keyframes quote-line{from{opacity:0;stroke-dashoffset:95}to{opacity:1;stroke-dashoffset:0}}
@keyframes quote-arrow{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.quote-plant-ring{fill:none;stroke:var(--charcoal);stroke-width:1.7;vector-effect:non-scaling-stroke}
.quote-plant-ring.is-animating{animation:quote-plant-pulse .75s ease-out both}
@keyframes quote-plant-pulse{from{opacity:0;r:4}to{opacity:1;r:14}}
.quote-plant-callout{fill:var(--charcoal);font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:-.01em}
.quote-plant-callout path{fill:none;stroke:var(--charcoal);stroke-width:1.2;vector-effect:non-scaling-stroke}
.quote-plant-callout text{paint-order:stroke;stroke:var(--paper);stroke-width:2.5px;stroke-linejoin:round}
#quote-plant-callout-name{font-size:14px}
.quote-map-dot{stroke:var(--paper);stroke-width:2;vector-effect:non-scaling-stroke}
.quote-map-dot-plant{fill:var(--charcoal)}
.quote-map-dot-destination{fill:var(--charcoal)}
.quote-map-empty{position:absolute;right:0;bottom:2.5%;color:var(--quote-muted);text-align:right}
.quote-route-caption{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:3px}
.quote-route-caption>div{display:flex;flex-direction:column;gap:5px}
.quote-route-caption span{color:var(--quote-muted)}
.quote-route-caption strong{font-weight:400}
.quote-visual-product{grid-column:1/5;width:100%;margin-top:28px;padding-right:10px}
.quote-product-figure{width:100%;aspect-ratio:4/3;overflow:hidden;background:#ecece9}
.quote-product-figure img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.quote-product-caption{display:flex;justify-content:space-between;gap:12px;margin-top:6px;color:var(--quote-muted)}
.quote-product-caption span:last-child{text-align:right}
.quote-estimate{grid-column:5/-1;max-width:100%;margin-top:27px}
.quote-estimate-eyebrow{margin-bottom:16px;color:var(--quote-muted)}
.quote-estimate-row,.quote-estimate-total{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:9px}
.quote-estimate-row span:last-child,.quote-estimate-total strong{white-space:nowrap;text-align:right}
.quote-estimate-total{margin-top:23px;font-family:var(--mono);font-size:var(--body-size);line-height:var(--body-leading);letter-spacing:-.01em}
.quote-estimate-total strong{font-weight:400}
.quote-estimate p{max-width:54ch;margin-top:13px;color:var(--quote-muted)}
.quote-estimate a{display:inline-block;margin-top:18px;text-decoration:underline;text-underline-offset:3px}
.quote-field{margin-top:47px}
.quote-field label,.quote-options legend{display:flex;align-items:baseline;gap:18px;width:100%;padding:0;margin-bottom:12px;color:var(--ink)}
.quote-field label>span:first-child,.quote-options legend>span:first-child{color:var(--quote-muted)}
.quote-native-select{display:none}
.quote-dropdown{position:relative}
.quote-dropdown-trigger,.quote-quantity-input{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:45px;padding:0 0 5px;border:0;border-bottom:1px solid #a9a9a6;border-radius:0;background:transparent;color:var(--ink);font-family:var(--mono);font-size:var(--body-size);font-weight:400;line-height:var(--body-leading);letter-spacing:-.01em;text-align:left}
.quote-dropdown-trigger{cursor:pointer}
.quote-dropdown-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quote-dropdown-chevron{font-size:18px;line-height:12px;transition:transform .22s ease}
.quote-dropdown.is-open .quote-dropdown-chevron{transform:rotate(180deg)}
.quote-dropdown-trigger:disabled,.quote-quantity-input:has(input:disabled){color:#aaa;border-color:#ddd;cursor:not-allowed}
.quote-dropdown-trigger:focus-visible,.quote-quantity-input:focus-within{outline:0;border-bottom-color:var(--charcoal);border-bottom-width:2px}
.quote-dropdown-panel{position:absolute;z-index:90;top:calc(100% + 7px);left:0;width:100%;max-height:250px;overflow-y:auto;padding:9px 11px;background:#f2f1ee;box-shadow:0 12px 22px rgba(0,0,0,.08)}
.quote-dropdown-panel{scrollbar-width:thin;scrollbar-color:#b7b5b1 transparent}
.quote-dropdown-option{display:block;width:100%;padding:7px 5px;border:0;background:transparent;color:var(--ink);font-family:var(--mono);font-size:var(--body-size);line-height:var(--body-leading);text-align:left;cursor:pointer}
.quote-dropdown-option:hover,.quote-dropdown-option:focus-visible{background:#e4e3e0;color:var(--charcoal);outline:0}
.quote-dropdown-option[aria-current="true"]::before{content:"• ";color:var(--charcoal)}
.quote-quantity-input input{width:100%;height:44px;padding:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;appearance:textfield}
.quote-quantity-input input::-webkit-inner-spin-button,.quote-quantity-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quote-quantity-input input::placeholder{color:#aaa}
.quote-quantity-input>span{font-family:var(--mono);font-size:var(--body-size);line-height:var(--body-leading)}
.quote-options{min-width:0;padding:0;margin:43px 0 0;border:0}
.quote-options legend{display:block}
.quote-options legend>span:first-child{margin-right:18px}
.quote-options legend small{float:right;color:var(--quote-muted);font:inherit;text-align:right}
.quote-options:disabled{opacity:.35}
.quote-color-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}
.quote-color{position:relative;display:block;width:100%;aspect-ratio:1;padding:0;border:0;background:#dededb center/cover no-repeat;cursor:pointer}
.quote-color[aria-pressed="true"]::after{content:"";position:absolute;inset:-3px;border:1px solid var(--charcoal)}
.quote-color:focus-visible{outline:1px solid var(--charcoal);outline-offset:3px}
.quote-texture-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.quote-texture{display:flex;align-items:center;gap:7px;min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}
.quote-texture img{width:32px;height:32px;object-fit:cover}
.quote-texture span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quote-texture[aria-pressed="true"] span{text-decoration:underline;text-underline-offset:3px}
.quote-form-note{max-width:53ch;margin-top:45px;color:var(--quote-muted)}
.quote-international{margin-top:47px;max-width:42ch}
.quote-international p{font-family:var(--mono);font-size:var(--body-size);line-height:var(--body-leading);letter-spacing:-.01em}
.quote-international a{display:inline-block;margin-top:23px;text-decoration:underline;text-underline-offset:3px}
.page-quote .site-footer{margin-top:130px}
@media(max-width:900px){
  .quote-main{padding-top:84px}
  .quote-opening p{grid-column:7/13}
  .quote-visual{grid-column:1/7;padding-right:4%}
  .quote-form{grid-column:7/13;padding-left:8px}
  .quote-color-list{grid-template-columns:repeat(8,minmax(0,1fr))}
  .quote-texture-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .quote-main{padding-top:82px}
  .quote-opening .section-marker{grid-column:1/13;margin-bottom:11px}
  .quote-opening p{grid-column:1/13;grid-row:auto;margin-top:0}
  .quote-workspace{display:flex;flex-direction:column;gap:40px;margin-top:35px}
  .quote-visual,.quote-form{position:static;width:100%;padding:0}
  .quote-map-frame{height:225px}
  .quote-visual-product{grid-column:1/6;width:100%;padding-right:10px}
  .quote-estimate{grid-column:6/-1}
  .quote-form{order:-1;padding-bottom:0}
  .quote-field{margin-top:38px}
  .quote-dropdown-trigger,.quote-quantity-input{font-size:var(--body-size)}
  .quote-color-list{grid-template-columns:repeat(12,minmax(0,1fr));gap:5px}
  .quote-texture-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quote-form-note{margin-top:35px}
  .page-quote .site-footer{margin-top:80px}
}
@media(prefers-reduced-motion:reduce){.quote-state,.quote-dropdown-chevron{transition:none}.quote-route,.quote-route-arrow,.quote-plant-ring{animation:none!important}}
@media(max-width:420px){.quote-opening .section-marker,.quote-opening p{white-space:normal}}

/* El mismo vidrio de navegación para las listas de la cotización. */
.page-quote .quote-dropdown-panel{border:0;border-radius:9px;background:rgba(238,234,226,.48);-webkit-backdrop-filter:blur(20px) saturate(135%);backdrop-filter:blur(20px) saturate(135%);box-shadow:0 9px 25px rgba(48,47,45,.09)}
.page-quote .quote-dropdown-option:hover,.page-quote .quote-dropdown-option:focus-visible{border-radius:5px;background:rgba(255,255,255,.28)}
.page-quote .quote-product-figure{background:var(--paper)}
.page-quote .quote-product-figure img[src*="producto-"]{mix-blend-mode:multiply}
.page-quote .quote-estimate-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:18px}
.page-quote .quote-estimate-actions a{margin:0}
.page-quote .quote-estimate-actions button{padding:0;border:0;background:none;color:var(--ink);font:inherit;text-decoration:underline;text-underline-offset:3px;text-align:left;cursor:pointer}
.page-quote .quote-estimate-actions button:hover,.page-quote .quote-estimate-actions a:hover{opacity:.6}
