.package-catalog{padding:80px max(5%,calc((100% - 1200px)/2));background:#fffaf7;color:#573645;scroll-margin-top:110px;border-top:1px solid #eedee2}
.package-catalog .section-heading{align-items:end;margin-bottom:26px}.package-catalog .section-heading h2{max-width:600px;font-size:clamp(30px,3.5vw,46px);line-height:1.2;margin:10px 0}.package-catalog .section-heading>p{max-width:370px;line-height:1.8;color:#77616b;font-size:14px}
.catalog-paths{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.catalog-paths a{padding:12px 20px;border-radius:999px;border:1px solid #e3cdd6;color:#704658;background:#fff;text-decoration:none;font-size:13px;font-weight:600}.catalog-paths .active{background:#f6e2e9;color:#71384f}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.package-card{display:flex;flex-direction:column;min-width:0;padding:26px;background:#fff;border:1px solid #ead9df;border-radius:24px;box-shadow:0 10px 30px #66364607;transition:border-color .2s,box-shadow .2s}.package-card:nth-child(2n){background:linear-gradient(160deg,#fff,#fff8ed)}.package-card-top{display:flex;align-items:center;justify-content:space-between}.package-count{font:500 44px 'Playfair Display',serif;color:#c7a58c;line-height:1}.package-pill{font-size:11px;font-weight:700;padding:7px 12px;border-radius:30px;background:#f5e8ed;color:#7c4a5e}.package-card h3{font:600 30px 'Playfair Display',serif;color:#60374a;margin:20px 0}.package-card ul{list-style:none;padding:0;margin:0 0 28px;line-height:1.65;font-size:13px;color:#6e5962;flex:1}.package-card li{position:relative;padding:10px 0 10px 20px;border-bottom:1px solid #f3ebee}.package-card li::before{content:'✓';position:absolute;left:0;color:#927146;font-size:12px}.package-card-bottom>span{display:block;font-size:11px;color:#856f79;margin-bottom:12px}.package-card button{width:100%;min-height:47px;border-radius:12px;border:1px solid #d6a6b8;background:#f5dce6;color:#682c44;font:600 13px Montserrat,sans-serif;padding:12px;cursor:pointer}.package-card button:hover{background:#edccda}.package-card.is-selected{border:2px solid #a45a76;padding:25px;box-shadow:0 12px 30px #8f315518}.package-card.is-selected button{background:#7f3a56;color:white;border-color:#7f3a56}
.package-footnote{padding:20px 24px;background:#f7efee;border-radius:16px;margin-top:24px;color:#715964;font-size:12px;line-height:1.8}.package-footnote p{margin:0}.package-footnote p+p{margin-top:6px}.selected-package-summary{width:100%;display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid #dec1ce;border-radius:12px;padding:14px}.selected-package-summary small{color:#79616c;line-height:1.7}.selected-package-summary button{align-self:start;background:none;border:0;padding:4px 0;color:#87405c;text-decoration:underline;cursor:pointer;font-size:12px}.package-extra-note{width:100%;font-size:12px;color:#79616c}
@media(max-width:950px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-catalog .section-heading{align-items:start;gap:12px;flex-direction:column}.package-catalog .section-heading>p{max-width:600px}}
@media(max-width:560px){.package-catalog{padding:48px 20px}.package-grid{grid-template-columns:1fr;gap:16px}.package-card{padding:23px}.package-card.is-selected{padding:22px}.package-card h3{margin:14px 0}.catalog-paths{gap:8px}.catalog-paths a{padding:11px 14px;font-size:12px}.package-footnote{padding:18px}}
.rug-package-note{background:#f7ebdf;color:#77522e;border:1px solid #e9d5bf;border-radius:12px;padding:12px;font-size:13px;font-weight:600;line-height:1.65;margin-bottom:14px}.catalog-grid .add-button:disabled{background:#f2edee!important;color:#77666e!important;border:1px solid #e4dadd;cursor:default;box-shadow:none}
#paquetes[hidden],#catalogo[hidden],#visualiza[hidden]{display:none!important}
.catalog-choice{padding:55px max(5%,calc((100% - 1200px)/2)) 32px;background:#fffaf7;scroll-margin-top:100px;color:#573645}.catalog-choice h2{font:600 clamp(28px,3vw,40px) 'Playfair Display',serif;margin:10px 0 14px}.catalog-choice>p:not(.eyebrow){font-size:14px;color:#77616b;line-height:1.7}.catalog-choice-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.catalog-choice-options button{text-align:left;display:flex;flex-direction:column;gap:10px;padding:25px;border:1px solid #e3cdd6;border-radius:20px;background:#fff;color:#684452;cursor:pointer;box-shadow:0 6px 20px #6c3c4d05}.catalog-choice-options button>span{font:600 10px Montserrat,sans-serif;letter-spacing:.12em;color:#8b6473}.catalog-choice-options strong{font:600 23px 'Playfair Display',serif}.catalog-choice-options small{font:400 13px Montserrat,sans-serif;line-height:1.6}.catalog-choice-options button[aria-pressed="true"]{background:linear-gradient(130deg,#f8e3eb,#fff2e5);border:2px solid #b0718a;padding:24px;box-shadow:0 8px 25px #8f315510}.catalog-choice-options button:focus-visible{outline:3px solid #9a4363;outline-offset:3px}.package-catalog{border-top:0;padding-top:35px}
@media(max-width:560px){.catalog-choice{padding:35px 20px 20px}.catalog-choice-options{grid-template-columns:1fr;gap:12px}.catalog-choice-options button{padding:20px}.catalog-choice-options button[aria-pressed="true"]{padding:19px}.catalog-choice-options strong{font-size:22px}.package-catalog{padding-top:28px}}

/* Four final packages, with complete catalogue previews. */
.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.package-card h3{font-weight:400}
.package-render{display:block;margin:0 0 20px;color:#87405c;text-decoration:none;border-radius:12px;overflow:hidden;background:#fff}
.package-render img{display:block;width:100%;height:auto;object-fit:contain}
.package-render span{display:block;text-align:center;padding:12px;font:500 12px Montserrat,sans-serif;background:#fff5f8}
.package-render:focus-visible{outline:3px solid #9a4363;outline-offset:3px}
@media(max-width:560px){.package-grid{grid-template-columns:1fr}}

.package-starting-price{font:400 clamp(24px,3vw,30px) 'Playfair Display',serif;color:#a43c68;margin:0 0 14px;line-height:1.3}.package-summary-price{color:#a43c68;font-weight:600}
/* Clear service choice and accessible booking information. */
#elige.catalog-choice{padding-top:64px;padding-bottom:48px;background:linear-gradient(145deg,#fff8fa,#fffaf2);border-top:1px solid #edcdd9;border-bottom:1px solid #edcdd9}
#elige h2{font-size:clamp(31px,4vw,48px);max-width:780px}#elige>p{max-width:750px}
#elige .catalog-choice-options{gap:24px;margin-top:30px}#elige .catalog-choice-options button{position:relative;padding:32px;border:2px solid #bf9a65;border-radius:24px;gap:18px;box-shadow:0 12px 32px #6332450c;background:#fffdfa;transition:transform .2s,box-shadow .2s}#elige .catalog-choice-options button:hover{transform:translateY(-3px);box-shadow:0 16px 32px #63324518}#elige .catalog-choice-options button[aria-pressed="true"]{padding:32px;border-color:#a63865;background:linear-gradient(140deg,#fce6ee,#fff6ed);box-shadow:0 12px 30px #8f31551a}#elige .catalog-choice-options strong{font-size:clamp(28px,3vw,37px);color:#71334e;line-height:1.15}#elige .catalog-choice-options small{font-size:15px;line-height:1.8;color:#634c57}#elige .service-number{font-size:12px;color:#8b5a20;letter-spacing:.14em}#elige .catalog-choice-options .service-action{margin-top:auto;padding:15px 18px;background:#8f3155;color:white;border-radius:12px;letter-spacing:0;font-size:13px;text-align:center}#elige button[data-catalog-view="furniture"] .service-action{background:#71552d}
.celebration-extras,.booking-guide{padding:70px max(5%,calc((100% - 1200px)/2));color:#573645;scroll-margin-top:100px;background:#fffaf7}.booking-guide{background:linear-gradient(140deg,#fff9f7,#fbecf1)}.service-section-heading{max-width:800px;margin-bottom:32px}.service-section-heading h2{font:500 clamp(30px,4vw,44px) 'Playfair Display',serif;line-height:1.2;margin:12px 0;color:#873a5a}.service-section-heading>p:last-child{line-height:1.7;color:#725d67}.extras-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;list-style:none;padding:0;margin:0 0 30px}.extras-grid li{display:flex;gap:18px;padding:24px 0;border-bottom:1px solid #decba9}.extras-grid li>span{font:400 32px 'Playfair Display',serif;color:#b17b2b;min-width:40px}.extras-grid h3,.booking-steps h3,.booking-reminder h3{font:500 24px 'Playfair Display',serif;color:#93395e;margin:0 0 8px}.extras-grid p,.booking-steps p{font-size:14px;line-height:1.8;margin:0;color:#64515b}.section-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.section-actions>a:not(.primary),.guide-image-link{font-size:13px;color:#873a5a;text-underline-offset:4px}.service-small-note{font-size:12px;line-height:1.8;color:#735f69;margin-top:20px}.booking-steps{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;margin:0;gap:18px}.booking-steps li{display:flex;align-items:flex-start;gap:20px;border:1px solid #e0c7ac;background:#ffffffbd;border-radius:22px;padding:26px}.booking-steps li:last-child{grid-column:1/-1}.booking-steps li>span{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:50%;background:#fbe1eb;color:#a53564;font:400 30px 'Playfair Display',serif}.booking-reminder{padding:26px 30px;margin:26px 0;background:#f8e2e9;border-radius:22px;border-left:3px solid #bb904b}.booking-reminder ul{padding-left:20px;margin:10px 0 0;font-size:14px;line-height:1.8;color:#614d58}.booking-reminder li+li{margin-top:8px}
@media(max-width:600px){#elige.catalog-choice{padding:38px 20px}#elige .catalog-choice-options{gap:18px}#elige .catalog-choice-options button,#elige .catalog-choice-options button[aria-pressed="true"]{padding:25px;gap:15px}#elige .catalog-choice-options small{font-size:14px}.celebration-extras,.booking-guide{padding:46px 20px}.extras-grid,.booking-steps{grid-template-columns:1fr}.extras-grid li{padding:20px 0}.booking-steps li{padding:22px 18px;gap:15px}.booking-steps li>span{flex-basis:42px;height:42px;font-size:26px}.booking-steps h3,.extras-grid h3{font-size:23px}.booking-reminder{padding:23px}.section-actions{gap:20px}}
@media(prefers-reduced-motion:reduce){#elige .catalog-choice-options button{transition:none}}

/* Compact extras: every option stays visible, including on phones. */
#extras.extras-compact{padding:44px max(5%,calc((100% - 1200px)/2));background:linear-gradient(120deg,#fffaf5,#fcf0f4);border-top:1px solid #eddce1;border-bottom:1px solid #eddce1}
.extras-compact .extras-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.extras-compact .extras-heading .eyebrow{font-size:10px;letter-spacing:.15em;margin:0 0 8px}
.extras-compact .extras-heading h2{font:500 clamp(27px,3.3vw,40px) 'Playfair Display',serif;line-height:1.15;color:#873a5a;margin:0}
.extras-heading-mark{font-size:40px;line-height:1;color:#ba9966}
.extras-compact .extras-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;column-gap:10px}
.extras-compact .extras-grid li{display:flex;align-items:center;gap:10px;min-width:0;padding:15px 12px;min-height:76px;border:1px solid #e9d8d4;border-radius:15px;background:#fffdfad9;box-shadow:0 4px 12px #65384904}
.extras-compact .extras-grid li>span{display:grid;place-items:center;flex:0 0 26px;min-width:0;height:26px;border-radius:50%;background:#f7e8e6;color:#966a3d;font:600 10px Montserrat,sans-serif}
.extras-compact .extras-grid h3{font:500 13px/1.45 Montserrat,sans-serif;color:#694450;margin:0;overflow-wrap:normal}
.extras-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:20px}
.extras-footer p{font-size:13px;line-height:1.65;color:#725b65;margin:0}
.extras-footer small{font-size:11px;color:#826e76}
.extras-footer a{padding:12px 20px;border-radius:12px;text-decoration:none;white-space:nowrap;font-size:12px}
@media(max-width:1000px){.extras-compact .extras-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#extras.extras-compact{padding:30px 20px}.extras-compact .extras-heading{margin-bottom:18px}.extras-heading-mark{font-size:28px}.extras-compact .extras-heading .eyebrow{font-size:9px;line-height:1.5;letter-spacing:.08em}.extras-compact .extras-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.extras-compact .extras-grid li{padding:11px 9px;gap:8px;min-height:67px;border-radius:12px}.extras-compact .extras-grid li>span{flex-basis:22px;height:22px;font-size:9px}.extras-compact .extras-grid h3{font-size:11px;line-height:1.5}.extras-footer{margin-top:16px;gap:12px}.extras-footer p{font-size:11px}.extras-footer small{font-size:10px}.extras-footer a{padding:11px 12px;font-size:11px}}
@media(max-width:360px){.extras-footer{align-items:flex-start;flex-direction:column}.extras-compact .extras-grid li{gap:6px;padding:10px 7px}}

/* Portada primero, seguida del texto, en todas las pantallas. */
#inicio.hero { grid-template-columns: minmax(0, 1fr); gap: 32px; min-height: 0; padding-top: 24px; }
#inicio .hero-art { width: 100%; }
#inicio .hero-art img { width: min(100%, 620px); height: auto; object-fit: contain; }
#inicio .hero-copy { width: 100%; max-width: 900px; margin-inline: auto; text-align: center; }
#inicio .mini-values { justify-content: center; }
#paquetes:focus, #catalogo:focus, #visualiza:focus { outline: none; }
.service-content-reveal { border-radius: 18px; animation: service-content-reveal 2s ease-out both; }
@keyframes service-content-reveal {
  0%, 20% { background-color: #fce2ec; box-shadow: 0 0 0 10px #fce2ec, 0 0 0 13px #ce8ca855; }
  100% { background-color: transparent; box-shadow: 0 0 0 10px transparent, 0 0 0 13px transparent; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .service-content-reveal { animation: none; }
}
