.package-card{position:relative;overflow:hidden;isolation:isolate;min-width:0}
.package-front{display:flex;flex-direction:column;flex:1;min-width:0;container:package-front / inline-size}
.package-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:20px;margin-top:auto;border-top:1px solid #ffffff1c}
.package-small-button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 7px;border:1px solid #ffffff38;border-radius:9px;color:#edf6fa;background:#ffffff08;font:600 11px/1.4 Arial,Helvetica,sans-serif;text-align:center;text-decoration:none;cursor:pointer}
.package-book{gap:5px;background:#176542;border-color:#3c9f6a;color:#fff}.package-book:hover{background:#207c53}
.package-whatsapp-icon{display:block;width:18px;height:18px;flex:none}
.package-book-copy{display:block;min-width:0;line-height:1.4}
.package-book-copy>span,.package-book-copy>strong{display:block}
.package-book-copy>span{font-size:.9em;font-weight:500}
.package-book-copy>strong{font-size:inherit;font-weight:700}
.package-add{position:relative;isolation:isolate;overflow:hidden;border-color:var(--accent);color:var(--accent);font-weight:800;background:linear-gradient(135deg,#ffffff20,#ffffff08 60%,#ffffff16);box-shadow:inset 0 0 12px #ffffff10,0 0 5px #ffffff18}
.package-add::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 42%,#ffffff18 46%,#ffffff80 50%,#ffffff18 54%,transparent 58%) 150% 0/250% 100% no-repeat;pointer-events:none;opacity:1;animation:extras-button-shine 3.8s ease-in-out infinite}
.package-add:hover{background-color:#ffffff18}
.package-small-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
/* One continuous glass sweep on mobile and desktop; the strip resets outside the button. */
@keyframes extras-button-shine{0%,15%{background-position:150% 0}65%,100%{background-position:-50% 0}}
@container package-front (max-width:250px){.package-card-actions{grid-template-columns:1fr}}
.selected-extras-summary{grid-column:1/-1;font-size:11px;line-height:1.6;color:var(--accent);margin:0 0 4px}.selected-extras-summary[hidden]{display:none}
/* A viewport-sized dialog shows the complete option list without nested scrolling. */
html.extras-dialog-open{overflow:hidden;scrollbar-gutter:stable}
.extras-sheet{--accent:#cdd3dd;position:fixed;inset:0;width:min(620px,calc(100% - 24px));max-width:none;height:fit-content;min-height:0;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:18px;border:1px solid var(--accent);border-radius:20px;background:linear-gradient(145deg,#1d2b38,#0c151f);box-shadow:0 20px 70px #0009;color:#f5f8fb;overflow-y:auto;overscroll-behavior:contain}
.extras-sheet[data-package="gold"]{--accent:#f2cd7d}
.extras-sheet[data-package="diamond"]{--accent:#d5a7ff}
.extras-sheet:not([open]){display:none}
.extras-sheet[open]{display:flex;flex-direction:column;animation:extras-dialog-enter .24s ease-out}
.extras-sheet::backdrop{background:#02060ac9;backdrop-filter:blur(4px)}
@keyframes extras-dialog-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.extras-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;border-bottom:1px solid #ffffff20;flex:none}
.extras-heading>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;min-width:0}
.extras-heading h4{color:var(--accent);font-size:23px;font-weight:800;line-height:1.2;letter-spacing:.7px;margin:0}
.extras-subtitle{font-size:11px;line-height:1.4;color:#c5d2dc;margin:0}
.extras-close{width:38px;height:38px;border:1px solid #ffffff35;border-radius:50%;flex:none;padding:0}
.extras-list{display:grid;overflow:visible;flex:none;padding:2px 0}
.extra-item{--service-accent:#d5a7ff;display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:11px 0;border-bottom:1px solid #ffffff16;min-height:52px}
.extra-item[data-service-tier="gold"]{--service-accent:#f2cd7d}
.extra-item[data-service-tier="diamond"]{--service-accent:#d5a7ff}
.extra-item:last-child{border-bottom:0}
.extra-item:has(input:checked:not(:disabled)){background:#ffffff05}
.extra-item input{accent-color:var(--service-accent);width:19px;height:19px;margin:1px 0 0;flex:none}
.extra-copy{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:4px 12px;min-width:0;flex:1}
.extra-copy strong{display:block;font-size:13px;line-height:1.35;color:var(--service-accent)}
.extra-recommended{display:inline-block;vertical-align:middle;margin-left:7px;padding:2px 5px;border:1px solid #f2cd7d;border-radius:5px;background:#d2953014;color:#ffe9aa;font:700 9px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.5px;white-space:nowrap;box-shadow:0 0 8px #f2cd7d30;text-shadow:0 0 6px #f2cd7d66;animation:extra-recommended-glow 3.2s ease-in-out infinite}
@keyframes extra-recommended-glow{0%,100%{box-shadow:0 0 5px #f2cd7d25;text-shadow:0 0 4px #f2cd7d44}45%,60%{box-shadow:0 0 10px #f2cd7d65,inset 0 0 5px #f2cd7d18;text-shadow:0 0 8px #ffe9aaaa}}
@media(prefers-reduced-motion:reduce){.extra-recommended{animation:none;box-shadow:0 0 8px #f2cd7d44}}
.extra-copy small{display:block;grid-column:1;grid-row:2;font-size:11px;line-height:1.4;color:#bbc9d5;overflow-wrap:break-word}
.extra-price{display:flex;align-items:center;justify-content:flex-end;grid-column:2;grid-row:1 / span 2;align-self:stretch;min-width:0;border-left:1px solid #ffffff2b;padding-left:10px;font-size:16px;font-weight:800;line-height:1.35;color:var(--service-accent);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.is-included .extra-price{font-size:12px;font-weight:700}
.is-included .extra-price,.extras-sheet[data-package="diamond"] .extra-price[data-extra-price="leatherCare"]{white-space:normal}
.is-included{cursor:default}
.extras-footer{display:block;border-top:1px solid #ffffff25;margin:0;padding:11px 0 0;flex:none}
.extras-breakdown{font-size:11px;line-height:1.4;color:#b6c9d8}
.extras-total{display:flex;justify-content:space-between;align-items:center;margin:5px 0 9px;font-size:13px}
.extras-total strong{font-size:23px;color:var(--accent)}
.extras-done{width:100%;background:var(--accent);color:#101a24;border-radius:9px;font-weight:bold;min-height:42px;font-size:13px}
.extras-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
.package-content{padding-bottom:22px}
.package-price-label{margin:0 0 8px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:1px;line-height:1.5}
.package-front .package-price{margin-bottom:10px}
.package-price-breakdown{margin:0 0 9px;font-size:11px;line-height:1.6;color:#d3dce5;font-variant-numeric:tabular-nums}
.package-price-breakdown[hidden]{display:none}
.package-scope-note{margin:0 0 20px;color:#b8c6d2;font-size:11px;line-height:1.6}
@media(min-width:1100px){.package-scope-note{min-height:3.2em}}
@media(min-width:1100px){.package-small-button{font-size:10px;padding:9px 4px}}
@media(max-width:599px){
 .extras-sheet{width:calc(100% - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:12px;border-radius:16px}
 .extras-heading{padding-bottom:9px}
 .extras-heading h4{font-size:20px}
 .extras-subtitle{font-size:10px}
 .extra-item{padding:6px 0;gap:8px}
 .extra-copy{grid-template-columns:minmax(0,1fr) 96px;gap:3px 8px}
 .extra-copy strong{font-size:12px}
 .extra-copy small{font-size:10px;line-height:1.4}
 .extra-price{font-size:14px;padding-left:8px}
 .is-included .extra-price{font-size:11px}
 .extras-footer{padding-top:9px}
 .extras-breakdown{font-size:10px}
 .extras-total{margin:4px 0 8px}
 .extras-total strong{font-size:22px}
 .extras-done{min-height:40px;font-size:12px}
}
@media(max-height:600px){.extras-sheet{padding:10px}.extra-item{padding-top:6px;padding-bottom:6px}.extras-heading{padding-bottom:7px}.extras-footer{padding-top:7px}}
@media(prefers-reduced-motion:reduce){.extras-sheet[open]{animation:none}}

/* Service colors follow the originating tier in every package. */
.package-content li[data-service-tier="silver"]{color:#cdd3dd}
.package-content li[data-service-tier="gold"]{color:#f2cd7d}
.package-content li[data-service-tier="diamond"]{color:#d5a7ff}
.package-content li[data-service-tier]::before{color:currentColor}
.package-scope{font-size:10px;line-height:1.7;letter-spacing:.55px;overflow-wrap:break-word}
.scope-main,.scope-extra{display:block}
@media(min-width:1100px){.package-scope{min-height:6.8em}}

.package-content [data-service-emphasis="gold"]{color:#f2cd7d}
.package-content [data-service-emphasis="diamond"]{color:#d5a7ff}

/* Diamond gift uses the same icon and tier color on all screen sizes. */
.package-content li.package-gift{padding-left:31px}
.package-content li.package-gift::before{content:none}
.package-gift-mark{position:absolute;left:0;top:.1em;display:block;width:22px;height:22px;color:inherit}
.package-content .package-gift-icon{position:static;display:block;width:20px;height:20px;margin:1px;color:inherit}

/* All service rows keep their tier colors with the same bold weight. */
.package-content li{font-weight:700}

/* Shared, brighter gift illumination at every viewport size. */
.package-content .package-gift-text{animation:gift-text-glow 3.2s ease-in-out infinite}
.package-content .package-gift-icon{animation:gift-icon-glow 3.2s ease-in-out infinite}
.package-gift-label{position:relative;display:inline-block;white-space:nowrap;padding:0 11px 0 8px}
.package-gift-label::before,.package-gift-label::after,.package-gift-mark::before,.package-gift-mark::after{content:"";position:absolute;width:7px;height:9px;pointer-events:none;background:#fff5ff;filter:drop-shadow(0 0 3px #e7b6ff);clip-path:polygon(50% 0,62% 37%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 37%);opacity:0;animation:gift-twinkle 3.2s ease-in-out infinite}
.package-gift-label::before{left:0;bottom:1px;width:5px;height:7px;animation-delay:-1.4s}
.package-gift-label::after{right:0;top:0;animation-delay:-.3s}
.package-gift-mark::before{left:0;top:0;width:5px;height:7px;animation-delay:-1.7s}
.package-gift-mark::after{right:0;bottom:0;animation-delay:-.6s}
@keyframes gift-text-glow{0%,100%{text-shadow:0 0 3px #d5a7ff55}45%,60%{text-shadow:0 0 2px #fff1ffbb,0 0 7px #d5a7ffcc,0 0 15px #b965ff88}}
@keyframes gift-icon-glow{0%,100%{filter:drop-shadow(0 0 2px #d5a7ff88)}45%,60%{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px #edcaff) drop-shadow(0 0 8px #c280ffbb)}}
@keyframes gift-twinkle{0%,15%,80%,100%{opacity:0;transform:scale(.6) rotate(-10deg)}42%,52%{opacity:1;transform:scale(1) rotate(12deg)}}
@keyframes gift-twinkle-fade{0%,15%,80%,100%{opacity:0}42%,52%{opacity:1}}
@media(prefers-reduced-motion:reduce){
 .package-gift-label::before,.package-gift-label::after,.package-gift-mark::before,.package-gift-mark::after{animation-name:gift-twinkle-fade;transform:none}
}
