.catalog-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin:32px 0 8px;padding:20px;background:#f5faf8;border:1px solid #e0ebe6;border-radius:16px}
.catalog-filters[hidden]{display:none}
.catalog-filters label{margin:0;font-size:12px}.catalog-filters input,.catalog-filters select{min-height:46px;font-size:15px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}
.catalog-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e0eae5;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 28px #223d340d}
.catalog-card-image{height:180px;background:#e4f4ef;overflow:hidden}.catalog-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.catalog-card-body{padding:22px;display:flex;flex:1;flex-direction:column;gap:10px}
.catalog-card-body h3{font-size:21px;line-height:1.2;letter-spacing:-.02em;margin:0}.catalog-meta{font-size:13px;line-height:1.5;color:#445951;margin:0}.catalog-tag{font-size:11px;letter-spacing:.07em;font-weight:700;color:#2f766d;text-transform:uppercase}.catalog-price{font-size:25px;font-weight:700;line-height:1.2;margin:8px 0 0}.catalog-price span{font-size:13px;font-weight:500}.catalog-price-note{font-size:12px;color:#4d5d57;line-height:1.5;margin:0}.catalog-card .button{margin-top:auto;justify-content:space-between}
.catalog-message{padding:24px;background:#f5faf8;border:1px solid #e0ebe6;border-radius:14px;line-height:1.6;color:#344b42;margin-top:26px}.catalog-message a,.offer-page a:not(.button){text-decoration:underline;text-underline-offset:3px}
.history-panel{margin-top:30px;border:1px solid #e5e9e7;border-radius:16px;background:#fff;overflow:hidden}
.history-panel summary{min-height:56px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-weight:700;color:#263e39;list-style:none}
.history-panel summary::-webkit-details-marker{display:none}.history-panel summary span{font-size:24px;line-height:1;color:#b94765}.history-panel summary span::before{content:'+'}.history-panel[open] summary span::before{content:'−'}.history-panel summary:focus-visible{outline:3px solid #397b73;outline-offset:-4px}
.history-content{border-top:1px solid #e5e9e7;padding:22px;background:#f8fbfa}.history-content h3{font-size:21px;margin:0 0 8px}.history-content>p{max-width:680px;color:#445951;line-height:1.6;margin:0}
.history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.history-card{padding:20px;border:1px solid #e5e9e7;border-radius:12px;background:#fff;min-width:0}.history-card h4{margin:8px 0;font-size:19px;line-height:1.25;overflow-wrap:anywhere}.history-label{display:inline-block;background:#fbf5da;color:#594b24;font-size:12px;font-weight:700;border-radius:5px;padding:5px 8px}.history-price{font-size:24px;font-weight:700;margin:14px 0 4px}.history-meta{font-size:13px;line-height:1.5;color:#52605d;margin:6px 0;overflow-wrap:anywhere}.history-empty{margin:20px 0 0;color:#52605d;line-height:1.6}
@media(max-width:850px){.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.history-grid{grid-template-columns:1fr}.history-content{padding:18px}.history-panel summary{padding:16px 18px}}
.offer-page{padding:36px 30px 90px;min-height:55vh}.offer-back{display:inline-block;font-size:14px;margin-bottom:30px}.offer-topline{font-size:12px;color:#41786d;letter-spacing:.08em;font-weight:700;text-transform:uppercase}.offer-title{font-size:clamp(33px,4.4vw,58px);line-height:1.1;letter-spacing:-.035em;margin:16px 0}.offer-description{font-size:16px;line-height:1.7;color:#485c54;max-width:750px}.offer-status{border-radius:14px;padding:18px 20px;line-height:1.5;background:#f9f3df;color:#594b24;margin:24px 0}.offer-status.is-active{background:#e6f5ec;color:#245a41}.offer-status strong{display:block;font-size:17px}
.offer-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start;margin-top:28px}.offer-details{display:grid;gap:16px}.offer-detail,.offer-summary{border:1px solid #e1ebe6;border-radius:16px;padding:24px}.offer-detail h2,.offer-summary h2{font-size:18px;margin:0 0 12px}.offer-detail p,.offer-detail li{font-size:14px;line-height:1.7;color:#485b53}.offer-detail ul{padding-left:20px;margin:0}.offer-summary{background:#f5faf8;position:sticky;top:20px}.offer-summary .catalog-price{font-size:29px}.offer-summary .button{width:100%;margin-top:20px}.offer-form label{font-size:13px}.offer-form button{width:100%;margin-top:4px}.offer-form-note{font-size:12px;line-height:1.5;color:#4d5d57}.offer-validation{color:#9a3c28;font-size:13px;line-height:1.5}.offer-image{width:100%;max-height:340px;object-fit:cover;border-radius:16px}
@media(max-width:850px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:650px){.catalog-filters{grid-template-columns:1fr;gap:12px;padding:16px}.catalog-grid,.offer-layout{grid-template-columns:1fr}.offer-page{padding:25px 20px 65px}.offer-summary{position:static}.offer-detail,.offer-summary{padding:20px}.catalog-card-image{height:210px}}

/* Fichas inspiradas en la referencia de Produxico: superficies claras y acentos de marca. */
.offer-page{max-width:1160px;color:#17191a}
.offer-back{color:#445c57;font-weight:600}
.offer-topline{color:#555b59;letter-spacing:.14em;font-weight:650}
.offer-topline::after{content:'';display:block;width:48px;height:4px;border-radius:8px;background:#d45272;margin-top:13px}
.offer-title{font-family:var(--sans);font-weight:700;letter-spacing:-.04em;color:#181a1a}
.offer-description{color:#3e4745;line-height:1.55}
.offer-status{background:#fbf5da;border:0;border-left:4px solid #d45272;color:#463f2d}
.offer-status.is-active{background:#e8f5f3;border-left-color:#5aa79d;color:#234a43}
.offer-layout{gap:26px;grid-template-areas:'details summary'}
.offer-details{grid-area:details}.offer-summary{grid-area:summary}
.offer-detail,.offer-summary{border-color:#e6eae8;border-radius:12px}
.offer-detail{background:#fff}
.offer-detail:first-of-type{background:#e8f5f3;border-color:#e8f5f3}
.offer-detail:nth-of-type(2){background:#fbf5da;border-color:#fbf5da}
.offer-detail h2,.offer-summary h2{font-family:var(--sans);font-weight:700;color:#1b2220}
.offer-detail p,.offer-detail li{color:#384a46}
.offer-summary{background:#fff;border-top:4px solid #d45272;box-shadow:0 12px 30px rgba(28,46,40,.07)}
.offer-summary .catalog-price{font-size:clamp(30px,3vw,38px);letter-spacing:-.035em;color:#17191a}
.offer-summary .catalog-price-note,.offer-form-note{color:#52605d}
.offer-validation{color:#a23e59}
.catalog-card{border-color:#e5e9e7}
.catalog-tag{color:#397b73}
.catalog-card-body{border-top:4px solid #8ecfca}
.catalog-disclosures{border-left:3px solid #d45272;background:#fbf5da;border-radius:6px;padding:12px 14px;color:#51482e;margin:8px 0;overflow-wrap:anywhere}
.catalog-disclosures strong{font-size:13px;line-height:1.5}.catalog-disclosures p{font-size:13px;line-height:1.6;margin:5px 0 0}
.price-amount{display:block;font:inherit;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.catalog-price .price-basis,.history-price .price-basis{display:block;font-size:13px;font-weight:500;line-height:1.55;letter-spacing:normal;color:#4d5d57;margin-top:5px}
@media(max-width:650px){.offer-layout{grid-template-areas:'summary' 'details'}.offer-summary{box-shadow:none}.offer-detail,.offer-summary{padding:20px}.offer-title{font-size:clamp(34px,9vw,48px)}}
