/* Flor & Shine V3.0 — a compact 3D-look illustrated room selector and honest two-stage quote. */
:root{--v30-forest:#184d35;--v30-leaf:#477d29;--v30-olive:#779a42;--v30-cream:#fcf8f1;--v30-pearl:#f6f9ee}
html{scroll-behavior:smooth}
.services-combined{background:linear-gradient(180deg,#f9faf5 0%,#f4f8ec 100%)!important;padding:62px 0 72px!important;overflow:visible!important}
.services-combined>.shell>.section-overline{margin-bottom:15px!important}
.services-combined>.shell>.section-heading-spread{margin-bottom:10px!important;align-items:end}
.services-combined>.shell>.section-heading-spread .display-title{font-size:clamp(37px,4vw,63px)!important;color:var(--v30-forest)}
.services-combined>.shell>.section-heading-spread .display-title span{display:block;color:#829b58!important}
.services-combined>.shell>.section-heading-spread .section-lead{max-width:450px;font-size:14px}
.services-combined .areas-embedded{margin:0!important;padding:18px 0 0!important;border:0!important}
.services-combined .areas-embedded>.shell{width:100%!important;max-width:none!important}
.v30-builder-badge{font-size:10px;letter-spacing:.09em;font-weight:900;color:#48742b}
.room-picker-grid{display:grid!important;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)!important;align-items:start!important;gap:18px!important;margin-top:16px}
.v30-plan-col{min-width:0;display:grid;gap:14px}
.v30-plan-col .blueprint-card{padding:16px!important;border-radius:28px!important;background:linear-gradient(145deg,#ffffff,#f9f8ed)!important;border:1px solid #e4e6d9!important;box-shadow:0 10px 40px #173d2b12!important;overflow:hidden}
.blueprint-top{margin:0 7px 9px!important;display:flex!important;align-items:center;gap:7px;flex-wrap:wrap}
.blueprint-chip{background:#e3eccd!important;color:#285438!important;font-size:10px!important;padding:8px 12px!important}
.blueprint-legend{font-size:10px!important;color:#4c6755!important}
.v30-house-image{position:relative;width:100%;aspect-ratio:755/390;border-radius:21px;background:#f0f5e1;isolation:isolate;overflow:hidden;box-shadow:inset 0 0 0 1px #e1ead0}
.v30-house-image>img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.v30-room-pin{position:absolute;top:var(--pin-y);left:var(--pin-x);transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,#5ba118,#24720d);border:4px solid white;color:#fff;box-shadow:0 4px 14px #183c1569,0 1px 3px #163b2299;cursor:pointer;z-index:3;transition:transform .2s,background .2s,box-shadow .2s;padding:0;touch-action:manipulation}
.v30-room-pin:hover{transform:translate(-50%,-50%) scale(1.12);background:#174d35;box-shadow:0 6px 18px #0c4f2388}
.v30-room-pin.is-selected{background:linear-gradient(150deg,#134d36,#318e5a);box-shadow:0 0 0 4px #e0f29db9,0 3px 12px #1b543e9c}
.v30-room-pin .v30-pin-mark{font-size:25px;line-height:1;color:inherit;font-weight:900;transform:translateY(-1px)}
.v30-room-pin.is-selected .v30-pin-mark{font-size:0}
.v30-room-pin.is-selected .v30-pin-mark:before{content:'✓';font-size:22px}
.v30-pin-tooltip{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,5px);padding:6px 10px;color:white;background:#153d2d;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;white-space:nowrap;font-size:12px;font-weight:800;box-shadow:0 3px 8px #123;z-index:5}
.v30-room-pin:is(:hover,:focus-visible) .v30-pin-tooltip{opacity:1;transform:translate(-50%,0)}
.v30-room-pin:focus-visible{outline:3px solid #f8c837;outline-offset:4px}
.v30-plan-col .blueprint-bottom{font-size:11px!important;line-height:1.5!important;padding:11px 7px 2px!important}
.v30-plan-col .blueprint-bottom span:last-child{display:none!important}
.v30-plan-col .mobile-room-buttons{display:none!important}
.v30-plan-col .room-summary{border-radius:23px!important;padding:17px 20px!important;background:#fffef9!important;box-shadow:0 10px 35px #284e2310!important;border:1px solid #e6eadd!important}
.v30-plan-col .room-summary-head{margin:0 0 7px!important}
.v30-plan-col .room-summary>h3{font-size:22px!important;margin:0 0 3px!important;color:#1d4e38}
.v30-plan-col .room-summary-intro{font-size:11.5px!important;line-height:1.5!important;margin:5px 0 10px!important}
.v30-plan-col .quantity-pickers{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
.v30-plan-col .quantity-card{min-width:0;border-radius:14px!important;padding:13px 10px!important;background:#f3f7ea!important;flex-wrap:wrap}
.v30-plan-col .quantity-heading{gap:7px!important;min-width:0}
.v30-plan-col .quantity-heading strong{font-size:12px!important}
.v30-plan-col .quantity-heading small{font-size:10px!important}
.v30-plan-col .quantity-controls{margin-top:8px!important;width:100%;justify-content:space-between!important}
.v30-plan-col .quantity-controls input{max-width:50px!important}
.v30-plan-col .quantity-hint{font-size:10px!important;margin:8px 0!important}
.v30-plan-col .selected-area-caption{font-size:10px!important;margin:8px 0!important;color:#527544}
.v30-plan-col .selected-room-list{min-height:0!important;gap:7px!important}
.v30-plan-col .selected-room-item{padding:6px 9px!important;font-size:11px!important}
.v30-extras-details{margin:9px 0!important;border:1px solid #dbe7d2;border-radius:14px;overflow:hidden;background:#fafcf7}
.v30-extras-details>summary{padding:11px 13px;cursor:pointer;font-size:12px;font-weight:800;color:#285038;list-style-position:inside}
.v30-extras-details>.optional-extras{margin:0!important;border:0!important;border-top:1px solid #e3e9d8!important;border-radius:0!important;padding:12px!important}
.v30-plan-col .selection-buttons{margin:8px 0!important;gap:7px!important}
.v30-plan-col .selection-buttons button{padding:9px 12px!important;font-size:11px!important}
.v30-plan-col .room-summary-footer{display:none!important}
.v30-plan-col .room-to-quote{font-size:12px!important;min-height:45px!important;width:100%;margin-top:9px!important;background:#3f852d!important;color:white!important}
.v30-quote{padding:0!important;background:transparent!important;overflow:visible!important;min-width:0;scroll-margin-top:90px}
.v30-quote .form-card{border:1px solid #e5e7d8!important;border-radius:28px!important;padding:25px!important;box-shadow:0 14px 44px #173a2314!important;background:linear-gradient(154deg,#fffdfa 0%,#fffcf6 100%)!important;max-width:none!important}
.v30-quote .form-header{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px;margin-bottom:24px}
.v30-quote .form-tag{background:#e7efd7!important;color:#285538!important;font-size:10px!important;padding:9px 14px!important;white-space:nowrap}
.v30-quote .form-steps{font-size:11px!important;color:#315842!important;font-weight:900!important;white-space:nowrap}
.v30-progress{display:flex;align-items:center;gap:10px;margin:8px 0 22px}
.v30-progress-line{height:2px;background:#d0dbd1;width:16px;flex:none}
.v30-step{border:0;background:#e2eff4;color:#225263;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;border-radius:999px;font-size:12px;font-weight:850;cursor:pointer;white-space:nowrap}
.v30-step b{border-radius:100%;display:grid;place-items:center;width:28px;height:28px;color:#fff;background:#5d8c96;font-size:16px}
.v30-step.is-current{background:#e8efca;color:#1d4836}
.v30-step.is-current b{background:linear-gradient(150deg,#71943e,#375e1c)}
.v30-step:focus-visible,.v30-step:hover{outline:2px solid #9fbd71;outline-offset:2px}
.v30-panel[hidden],.v30-action-row [hidden],.wizard-feedback[hidden]{display:none!important}
.v30-panel{animation:v30in .25s ease both;min-width:0}
@keyframes v30in{from{opacity:.45;transform:translateY(7px)}to{opacity:1;transform:none}}
.v30-panel>h3{font-size:clamp(24px,2.2vw,34px)!important;line-height:1.14!important;margin:0 0 16px!important;color:#184d35!important}
.v30-panel>h4{font-size:clamp(20px,1.9vw,26px)!important;color:#164d36!important;letter-spacing:-.035em;margin:0 0 17px}
.v30-choice-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
.v30-choice-grid .wizard-choice{min-width:0!important;min-height:140px!important;padding:15px 9px 14px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important;border:1.4px solid #e2e7de!important;background:#fffdfb!important;border-radius:16px!important;position:relative;box-shadow:0 2px 5px #244c3008!important}
.v30-choice-grid .wizard-choice.is-selected{background:#f1f6e6!important;border-color:#6d9630!important;box-shadow:0 0 0 1px #66942b!important}
.v30-choice-grid .wizard-choice .choice-emoji{font-size:26px!important;color:#c7c900!important}
.v30-choice-grid .wizard-choice:nth-child(2) .choice-emoji{color:#ee9f33!important}
.v30-choice-grid .wizard-choice:nth-child(3) .choice-emoji{color:#e9a7ae!important}
.v30-choice-grid .wizard-choice strong{font-size:13px!important;line-height:1.3!important;color:#194b34!important;text-align:left}
.v30-choice-grid .wizard-choice small{font-size:10.5px!important;line-height:1.5!important;color:#547063!important;text-align:left}
.v30-choice-grid .wizard-choice .choice-check{position:absolute;right:9px;top:8px;font-size:12px}
.v30-hidden{display:none!important}
.v30-selected-preview{border-radius:16px;background:#edf5f5;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:15px 14px;margin:23px 0 14px;min-width:0}
.v30-selected-preview>div{display:flex;align-items:center;min-width:0;gap:11px}
.v30-house-emoji{font-size:32px;color:#648b38}
.v30-selected-preview strong{font-size:14px;color:#1a4937}
.v30-selected-preview p{font-size:11.5px;line-height:1.6;margin:4px 0 0;color:#4e625c;overflow-wrap:anywhere}
.v30-edit-rooms{flex:none;font-size:12px;font-weight:900;border:1px solid #739a48;padding:9px 12px;background:#fff;color:#285e33;border-radius:999px;text-decoration:none}
.v30-form-note{font-size:11px;color:#53695c;line-height:1.6;margin:10px 0 0!important}
.v30-subcopy{margin:-8px 0 18px;font-size:12px;line-height:1.6;color:#64756b}
.v30-data-grid{gap:12px!important}
.v30-data-grid .form-field input,.v30-data-grid .form-field select,.v30-data-grid .form-field textarea{border:1px solid #d9e4da!important;background:white!important;color:#183d32!important;font-size:12px!important}
.v30-data-grid .form-field input:focus,.v30-data-grid .form-field select:focus,.v30-data-grid .form-field textarea:focus{border-color:#6c9938!important;box-shadow:0 0 0 3px #c9e8ae!important}
.v30-mini-review{border:1px solid #e0e8d6;border-radius:13px;padding:12px;margin-top:13px;background:#f6f8f1}
.v30-mini-review strong{font-size:12px;color:#184635}
.v30-mini-review p{font-size:11.5px;color:#5c6f64;margin:5px 0;line-height:1.6}
.v30-mini-review button{font-size:11px;font-weight:800;border:0;color:#316437;background:none;padding:6px 0;cursor:pointer}
.v30-action-row{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:14px;padding:12px 0 0}
.v30-action-row .wizard-back{background:transparent;color:#315739;border:0;padding:11px 8px;font-size:13px;cursor:pointer}
.v30-action-row .wizard-next,.v30-action-row .submit-quote{min-width:205px;min-height:51px!important;max-width:100%;padding:12px 18px!important;border-radius:999px!important;background:linear-gradient(135deg,#6d9439,#3d7625)!important;color:white!important;font-weight:850!important;margin:0!important;margin-left:auto;font-size:14px!important}
.v30-contact-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f0f5e9;border-radius:16px;padding:14px;margin-top:20px}
.v30-contact-strip>div{display:flex;align-items:center;gap:11px;min-width:0}
.v30-contact-strip>div>span{font-size:28px;color:#3a7834}
.v30-contact-strip strong{display:block;font-size:13px;color:#204c35}
.v30-contact-strip small{font-size:10px;color:#60765c}
.v30-contact-strip>a{font-size:11px;font-weight:800;text-decoration:none;color:#26582e;border:1px solid #628e41;padding:10px 12px;border-radius:100px;flex:none}
.v30-quote .quote-result{margin:17px 0 0!important}
.v30-quote .wizard-feedback{color:#a43831;background:#fff1eb;padding:12px 14px;border-radius:10px;margin:10px 0!important;font-size:12px}
.v30-quote #formFeedback{margin-top:10px}
@media(max-width:1100px){.room-picker-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important}.v30-quote .form-card{padding:18px!important}.v30-choice-grid .wizard-choice{padding:12px 8px!important}.v30-choice-grid .wizard-choice strong{font-size:11px!important}.v30-choice-grid .wizard-choice small{font-size:10px!important}.v30-plan-col .quantity-pickers{grid-template-columns:1fr!important}}
@media(max-width:820px){.services-combined{padding:48px 0 50px!important}.room-picker-grid{grid-template-columns:1fr!important;gap:20px!important}.v30-plan-col .quantity-pickers{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v30-quote .form-card{padding:26px!important}.v30-plan-col .room-summary{padding:18px!important}.v30-choice-grid .wizard-choice strong{font-size:14px!important}.v30-choice-grid .wizard-choice small{font-size:11px!important}}
@media(max-width:560px){.services-combined{padding:45px 0 50px!important}.services-combined>.shell>.section-heading-spread .display-title{font-size:clamp(35px,10vw,46px)!important}.v30-plan-col .blueprint-card{padding:10px!important;border-radius:22px!important}.v30-house-image{border-radius:13px}.v30-room-pin{width:34px;height:34px;border-width:3px;box-shadow:0 2px 7px #163b2369}.v30-room-pin .v30-pin-mark{font-size:19px}.v30-room-pin.is-selected .v30-pin-mark:before{font-size:16px}.v30-plan-col .mobile-room-buttons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.v30-plan-col .mobile-room-buttons .room-shortcut{font-size:10px!important;min-height:40px!important;padding:8px 7px!important;justify-content:center;gap:4px}.v30-plan-col .quantity-pickers{grid-template-columns:1fr!important}.v30-plan-col .room-summary{padding:16px!important}.v30-quote .form-card{padding:17px!important;border-radius:21px!important}.v30-quote .form-header{margin-bottom:15px!important}.v30-quote .form-tag{font-size:9px!important;padding:8px 10px!important}.v30-progress{margin:10px 0 15px;gap:5px}.v30-step{font-size:11px;padding:8px 4px;gap:5px}.v30-step b{width:24px;height:24px;font-size:13px}.v30-progress-line{width:8px}.v30-choice-grid{gap:6px!important}.v30-choice-grid .wizard-choice{padding:12px 6px!important;border-radius:12px!important;min-height:145px!important}.v30-choice-grid .wizard-choice .choice-emoji{font-size:22px!important}.v30-choice-grid .wizard-choice strong{font-size:10.5px!important}.v30-choice-grid .wizard-choice small{font-size:9.5px!important}.v30-selected-preview{padding:12px 9px;gap:6px}.v30-selected-preview p{font-size:10.5px}.v30-selected-preview strong{font-size:12px}.v30-edit-rooms{font-size:10px;padding:8px 9px}.v30-house-emoji{font-size:24px}.v30-data-grid{grid-template-columns:1fr!important}.v30-action-row .wizard-next,.v30-action-row .submit-quote{min-width:0;flex:1}.v30-contact-strip{align-items:flex-start;flex-direction:column}.v30-contact-strip>a{align-self:flex-end}}
@media(max-width:340px){.v30-room-pin{width:30px;height:30px}.v30-plan-col .mobile-room-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.v30-choice-grid .wizard-choice small{display:none!important}.v30-choice-grid .wizard-choice{min-height:105px!important}.v30-step{font-size:10px}}
@media(prefers-reduced-motion:reduce){.v30-room-pin,.v30-pin-tooltip,.v30-panel{animation:none!important;transition:none!important}}
/* Prevent the existing wide comparison visual from causing intermediate tablet overflow. */
.gallery-grid>*{min-width:0}
.compare-frame{max-width:100%;min-width:0}
@media(min-width:821px) and (max-width:1120px){.gallery-grid{grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr)!important;gap:22px!important}.compare-frame{width:100%;max-width:100%;min-height:190px!important}}


/* V3.9.2 — Coordenadas de la casa en CSS externo, compatibles con CSP sin estilos inline */
.v30-room-pin[data-room="Sala"]{--pin-x:20.0%;--pin-y:31.0%;}
.v30-room-pin[data-room="Dormitorio 2"]{--pin-x:46.2%;--pin-y:31.6%;}
.v30-room-pin[data-room="Dormitorio 1"]{--pin-x:68.2%;--pin-y:30.4%;}
.v30-room-pin[data-room="Comedor"]{--pin-x:28.6%;--pin-y:71.0%;}
.v30-room-pin[data-room="Cocina"]{--pin-x:51.5%;--pin-y:73.8%;}
.v30-room-pin[data-room="Baño"]{--pin-x:78.5%;--pin-y:66.5%;}
