/* Stolen Hearts — /packages/ page. Scoped to #sh-packages. */
.sh-packages-page #Subheader, .sh-packages-page .section-page-footer { display:none!important; }
#sh-packages { --p-ivory:#f8f6f3; --p-warm:#f7f2ed; --p-blush:#efe2dc; --p-ink:#282b2b; --p-body:#5c5551; --p-muted:#8a7d76; --p-rose:#b47b76; --p-btn:#bc827e; --p-btn-hi:#cd9690; --p-blush-hi:#e4ada7; --p-line:#e6dad2; --p-dark:#1d2120; --p-serif:"Stolen Hearts Serif","Cormorant Garamond",Georgia,serif; --p-hand:"Dancing Script","Segoe Script",cursive;
  position:relative; overflow:clip; background:var(--p-ivory); color:var(--p-ink); font:400 16px/1.7 Lato,Arial,sans-serif; text-align:left; }
#sh-packages *, #sh-packages *::before, #sh-packages *::after { box-sizing:border-box; }
#sh-packages img { display:block; max-width:none; margin:0; border:0; }
#sh-packages h1, #sh-packages h2, #sh-packages h3 { margin:0; color:inherit; font-family:var(--p-serif)!important; font-weight:400; letter-spacing:-.015em; text-transform:none; }
#sh-packages h2 em, #sh-packages h1 em { font-style:italic; color:var(--p-rose); }
#sh-packages p { margin:0; }
#sh-packages .shp-wrap { width:min(90%,1320px); margin:0 auto; }
#sh-packages .shp-eyebrow { margin:0 0 16px; color:var(--p-rose); font:400 11px/1.4 Lato,Arial,sans-serif; letter-spacing:.34em; text-transform:uppercase; }
#sh-packages .shp-btn { display:inline-flex; align-items:center; gap:20px; min-height:56px; padding:16px 34px; border:1px solid #dca69a55; border-radius:999px; background:var(--p-btn); color:#fff!important; font:400 11px/1.4 Lato,Arial,sans-serif; letter-spacing:.24em; text-transform:uppercase; text-decoration:none!important; box-shadow:0 14px 30px rgba(150,95,85,.26); transition:background .25s,transform .25s; }
#sh-packages .shp-btn span { font-size:20px; letter-spacing:0; }
#sh-packages .shp-btn:hover { background:var(--p-btn-hi); transform:translateY(-2px); }
#sh-packages .shp-link { color:var(--p-ink)!important; font:400 11px/1.4 Lato,Arial,sans-serif; letter-spacing:.24em; text-transform:uppercase; text-decoration:none!important; padding-bottom:6px; border-bottom:1px solid currentColor; }
#sh-packages .shp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 32px; margin-top:32px; }
#sh-packages .shp-hand { position:absolute; z-index:3; color:#f3e4de; font:400 clamp(30px,2.8vw,46px)/1.05 var(--p-hand); text-align:center; transform:rotate(-8deg); text-shadow:0 2px 16px #0006; pointer-events:none; }
#sh-packages .shp-hand svg { display:block; width:30px; height:26px; margin:10px auto 0; fill:none; stroke:currentColor; stroke-width:3.5; }
#sh-packages .shp-wave { position:absolute; left:0; width:100%; height:clamp(40px,5vw,80px); z-index:2; pointer-events:none; }

/* Hero */
#sh-packages .shp-hero { position:relative; min-height:clamp(560px,46vw,760px); display:flex; align-items:center; color:#fff; background:#2a2826; isolation:isolate; }
#sh-packages .shp-hero-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 55%; z-index:-2; }
#sh-packages .shp-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#161514d9 0%,#161514a6 34%,#16151426 64%,transparent 100%),linear-gradient(0deg,#16151459,transparent 40%); }
#sh-packages .shp-hero-inner { width:min(90%,1320px); margin:0 auto; padding:clamp(130px,11vw,170px) 0 clamp(110px,9vw,150px); }
#sh-packages .shp-hero .shp-eyebrow { color:var(--p-blush-hi); }
#sh-packages .shp-hero h1 { max-width:640px; color:#fff; font-size:clamp(54px,6.4vw,104px)!important; line-height:.98!important; }
#sh-packages .shp-hero h1 em { color:var(--p-blush-hi); }
#sh-packages .shp-hero-copy { max-width:470px; margin-top:24px; color:#f1ebe4; font-size:17px; line-height:1.7; }
#sh-packages .shp-hero .shp-link { color:#fff!important; }
#sh-packages .shp-hero .shp-hand { right:max(5%,calc((100% - 1320px)/2)); bottom:22%; }
#sh-packages .shp-hero .shp-wave { bottom:-1px; fill:var(--p-ivory); }

/* Approach */
#sh-packages .shp-approach { padding:clamp(70px,7vw,110px) 0 clamp(50px,5vw,80px); }
#sh-packages .shp-approach-grid { display:grid; grid-template-columns:1.05fr 1fr 300px; align-items:center; gap:clamp(30px,4vw,64px); }
#sh-packages .shp-approach h2 { font-size:clamp(36px,3.6vw,56px)!important; line-height:1.06!important; }
#sh-packages .shp-approach h2 em { display:block; }
#sh-packages .shp-approach-copy p { color:var(--p-body); font-size:15.5px; margin-bottom:14px; }
#sh-packages .shp-signoff { margin-top:22px!important; color:var(--p-muted)!important; font-size:10.5px!important; letter-spacing:.28em; text-transform:uppercase; }
#sh-packages .shp-signoff::before { content:""; display:inline-block; width:28px; height:1px; margin-right:14px; vertical-align:middle; background:var(--p-rose); }
#sh-packages .shp-approach-img { margin:0; aspect-ratio:4/5; overflow:hidden; border-radius:22px; box-shadow:0 30px 60px rgba(60,40,30,.16); }
#sh-packages .shp-approach-img img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.05); }

/* Package sections */
#sh-packages .shp-packages { padding:clamp(60px,6vw,96px) 0; }
#sh-packages .shp-film { background:var(--p-blush); }
#sh-packages .shp-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px 40px; margin-bottom:clamp(30px,3vw,46px); }
#sh-packages .shp-head h2 { font-size:clamp(42px,4.4vw,68px)!important; line-height:1!important; }
#sh-packages .shp-aside { max-width:340px; color:var(--p-muted); font:italic 400 clamp(19px,1.5vw,23px)/1.4 var(--p-serif); text-align:right; }
#sh-packages .shp-grid { display:grid; gap:clamp(16px,1.6vw,24px); align-items:stretch; }
#sh-packages .shp-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
#sh-packages .shp-card { display:flex; flex-direction:column; overflow:hidden; border-radius:22px; background:#fffdfa; box-shadow:0 16px 38px rgba(60,42,32,.08); transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s; }
#sh-packages .shp-card:hover { transform:translateY(-6px); box-shadow:0 28px 54px rgba(60,42,32,.14); }
#sh-packages .shp-card figure { position:relative; margin:0; aspect-ratio:4/3.2; overflow:hidden; }
#sh-packages .shp-card figure img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
#sh-packages .shp-card:hover figure img { transform:scale(1.05); }
#sh-packages .shp-card figure::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(155deg,#ffffff1f 0%,transparent 40%); }
#sh-packages .shp-card-body { display:flex; flex:1; flex-direction:column; padding:24px 24px 28px; }
#sh-packages .shp-card h3 { font-size:clamp(25px,2vw,30px)!important; line-height:1.1!important; }
#sh-packages .shp-price { margin:8px 0 12px!important; color:var(--p-rose); font:300 clamp(28px,2.2vw,34px)/1.1 Lato,Arial,sans-serif; letter-spacing:-.02em; font-variant-numeric:lining-nums tabular-nums; }
#sh-packages .shp-price small { font-size:11px; font-weight:400; letter-spacing:.24em; text-transform:uppercase; vertical-align:middle; color:var(--p-muted); }
#sh-packages .shp-desc { color:var(--p-body); font-size:14px; line-height:1.65; }
#sh-packages .shp-desc span { display:block; margin-top:6px; color:var(--p-muted); font-style:italic; }
#sh-packages .shp-card ul { margin:18px 0 0; padding:16px 0 0; list-style:none; border-top:1px solid var(--p-line); }
#sh-packages .shp-card li { position:relative; margin:0 0 7px; padding-left:16px; color:#6e655f; font-size:13.5px; line-height:1.5; list-style:none; }
#sh-packages .shp-card li::before { content:""; position:absolute; left:0; top:.62em; width:5px; height:5px; border-radius:50%; background:var(--p-rose); }
#sh-packages .shp-card-extra { background:#fbf6f3; }
#sh-packages .shp-card.is-featured { box-shadow:0 0 0 1px var(--p-btn),0 22px 46px rgba(60,42,32,.14); }
#sh-packages .shp-badge { position:absolute; left:16px; top:16px; padding:7px 14px; border-radius:999px; background:#ffffffd9; color:var(--p-rose); font:400 10px/1 Lato,Arial,sans-serif; letter-spacing:.24em; text-transform:uppercase; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
#sh-packages .shp-ladder { display:grid; gap:0; margin:18px 0 0; padding:0; border-top:1px solid var(--p-line); }
#sh-packages .shp-ladder div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--p-line); }
#sh-packages .shp-ladder dt { color:var(--p-muted); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; }
#sh-packages .shp-ladder dd { margin:0; color:var(--p-ink); font-size:14px; font-variant-numeric:tabular-nums; }
#sh-packages .shp-ladder + .shp-includes { border-top:0; padding-top:10px; }
#sh-packages .shp-note { max-width:760px; margin-top:28px!important; color:var(--p-muted); font:italic 400 17px/1.55 var(--p-serif); }

/* Extras */
#sh-packages .shp-extras { padding:clamp(60px,6vw,96px) 0 clamp(40px,4vw,70px); }
#sh-packages .shp-extra-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(30px,4vw,64px); margin:0; padding:0; list-style:none; }
#sh-packages .shp-extra-list li { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0; padding:22px 0; border-bottom:1px solid var(--p-line); list-style:none; }
#sh-packages .shp-extra-list h3 { font-size:24px!important; line-height:1.15!important; }
#sh-packages .shp-extra-list p { margin-top:4px; color:var(--p-body); font-size:14px; }
#sh-packages .shp-extra-meta { flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
#sh-packages .shp-extra-price { color:var(--p-rose); font:300 22px/1.1 Lato,Arial,sans-serif; font-variant-numeric:tabular-nums; white-space:nowrap; }
#sh-packages .shp-tag { color:var(--p-muted); font-size:10px; letter-spacing:.2em; text-transform:uppercase; white-space:nowrap; }

/* Builder sits between sections; keep its own styles */
#sh-packages #sh-collection { padding-top:clamp(50px,5vw,80px); }
#sh-packages #sh-collection .shcb-section-wave { display:none; }

/* Content creation band */
#sh-packages .shp-content { position:relative; padding:clamp(80px,8vw,130px) 0; background:radial-gradient(ellipse 60% 70% at 70% 50%,#2c3230 0%,transparent 70%),var(--p-dark); color:#f3eee7; overflow:hidden; }
#sh-packages .shp-content::before { content:""; position:absolute; left:-80px; bottom:-40px; width:380px; height:460px; background:url('/wp-content/mu-plugins/stolenhearts-leaf-shadow.svg') center/contain no-repeat; opacity:.07; transform:rotate(160deg); pointer-events:none; }
#sh-packages .shp-content-grid { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:clamp(40px,5vw,90px); }
#sh-packages .shp-content .shp-eyebrow { color:var(--p-blush-hi); }
#sh-packages .shp-content h2 { color:#f8f6f3; font-size:clamp(42px,4.4vw,68px)!important; line-height:1.04!important; }
#sh-packages .shp-content-copy > p { max-width:500px; margin-top:20px; color:#d9dad5; font-size:16px; }
#sh-packages .shp-content ul { margin:24px 0 0; padding:0; list-style:none; }
#sh-packages .shp-content li { position:relative; margin:0 0 10px; padding-left:28px; color:#e7e1d9; font-size:14.5px; list-style:none; }
#sh-packages .shp-content li::before { content:"✓"; position:absolute; left:0; color:var(--p-blush-hi); }
#sh-packages .shp-content-copy > p.shp-content-price { margin:22px 0 28px!important; font-size:30px; color:var(--p-blush-hi); font:300 30px/1.1 Lato,Arial,sans-serif; }
#sh-packages .shp-phones { position:relative; height:clamp(420px,38vw,560px); }
#sh-packages .shp-phone { position:absolute; top:50%; width:clamp(150px,13.5vw,210px); aspect-ratio:9/16; overflow:hidden; border-radius:24px; border:1px solid #ffffff4d; background:#2a302d; box-shadow:0 30px 60px #0008; animation:shp-float 9s ease-in-out infinite; }
#sh-packages .shp-phone img { width:100%; height:100%; object-fit:cover; }
#sh-packages .shp-phone::after { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(155deg,#ffffff24 0%,transparent 40%); box-shadow:inset 0 0 0 4px #ffffff0d; }
#sh-packages .shp-phone-1 { left:6%; transform:translateY(-46%) rotate(-7deg); }
#sh-packages .shp-phone-2 { left:50%; z-index:2; width:clamp(175px,15.5vw,240px); transform:translate(-50%,-52%); animation-delay:-3s; border-color:#f1e6dacc; }
#sh-packages .shp-phone-3 { right:6%; transform:translateY(-46%) rotate(7deg); animation-delay:-6s; }
@keyframes shp-float { 0%,100% { translate:0 0; } 50% { translate:0 -6px; } }

/* FAQ (renders only when questions are configured) */
#sh-packages .shp-faq { padding:clamp(70px,7vw,110px) 0; }
#sh-packages .shp-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(30px,5vw,80px); }
#sh-packages .shp-faq h2 { font-size:clamp(38px,3.8vw,58px)!important; line-height:1.05!important; }
#sh-packages .shp-faq details { border-bottom:1px solid var(--p-line); }
#sh-packages .shp-faq summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; cursor:pointer; list-style:none; font:400 22px/1.3 var(--p-serif); }
#sh-packages .shp-faq summary::-webkit-details-marker { display:none; }
#sh-packages .shp-faq summary i { position:relative; flex:0 0 14px; height:14px; }
#sh-packages .shp-faq summary i::before, #sh-packages .shp-faq summary i::after { content:""; position:absolute; left:0; top:6.5px; width:14px; height:1px; background:var(--p-rose); transition:transform .3s; }
#sh-packages .shp-faq summary i::after { transform:rotate(90deg); }
#sh-packages .shp-faq details[open] summary i::after { transform:rotate(0); }
#sh-packages .shp-faq details div { padding:0 0 22px; color:var(--p-body); font-size:15px; }
#sh-packages .shp-faq a { color:var(--p-rose); }

/* Final call to action */
#sh-packages .shp-final { position:relative; padding:clamp(150px,12vw,200px) 0 clamp(110px,9vw,150px); color:#fff; background:#2a2826; isolation:isolate; overflow:hidden; }
#sh-packages .shp-final-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 14%; z-index:-2; }
#sh-packages .shp-final::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#161514e0 0%,#161514a6 45%,#16151440 100%); }
#sh-packages .shp-wave-top { top:-1px; fill:var(--p-ivory); }
#sh-packages .shp-faq + .shp-final .shp-wave-top, #sh-packages .shp-content + .shp-final .shp-wave-top { fill:var(--p-dark); }
#sh-packages .shp-faq + .shp-final .shp-wave-top { fill:var(--p-ivory); }
#sh-packages .shp-final h2 { max-width:640px; color:#fff; font-size:clamp(42px,4.8vw,76px)!important; line-height:1.02!important; }
#sh-packages .shp-final h2 em { color:var(--p-blush-hi); }
#sh-packages .shp-final .shp-eyebrow { color:var(--p-blush-hi); }
#sh-packages .shp-final-inner > p:not(.shp-eyebrow) { max-width:460px; margin-top:18px; color:#efe8e1; font-size:16.5px; }
#sh-packages .shp-link-light { color:#fff!important; }
#sh-packages .shp-hand-final { right:max(5%,calc((100% - 1320px)/2)); bottom:20%; }

@media(max-width:1100px) {
  #sh-packages .shp-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #sh-packages .shp-approach-grid { grid-template-columns:1fr 1fr; }
  #sh-packages .shp-approach-img { display:none; }
}
@media(max-width:760px) {
  #sh-packages .shp-hero { min-height:auto; }
  #sh-packages .shp-hero-inner { padding:130px 0 120px; }
  #sh-packages .shp-hero-img { object-position:72% 50%; }
  #sh-packages .shp-hero::before { background:linear-gradient(0deg,#161514e6 0%,#16151499 55%,#16151440 100%); }
  #sh-packages .shp-hand { display:none; }
  #sh-packages .shp-approach-grid, #sh-packages .shp-content-grid, #sh-packages .shp-faq-grid { grid-template-columns:1fr; }
  #sh-packages .shp-head { flex-direction:column; align-items:flex-start; }
  #sh-packages .shp-aside { text-align:left; }
  #sh-packages .shp-grid-4 { grid-template-columns:1fr; }
  #sh-packages .shp-extra-list { grid-template-columns:1fr; }
  #sh-packages .shp-extra-list li { align-items:flex-start; }
  #sh-packages .shp-phones { height:400px; }
  #sh-packages .shp-phone { width:140px; } #sh-packages .shp-phone-2 { width:170px; }
  #sh-packages .shp-phone-1 { left:0; } #sh-packages .shp-phone-3 { right:0; }
}
@media(prefers-reduced-motion:reduce) { #sh-packages .shp-phone { animation:none; } #sh-packages .shp-card, #sh-packages .shp-card figure img, #sh-packages .shp-btn { transition:none; } }

/* Film coverage selector */
#sh-packages .shp-cov { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin:0 0 clamp(26px,2.6vw,38px); }
#sh-packages .shp-cov-label { color:var(--p-muted); font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; }
#sh-packages .shp-cov-options { display:inline-flex; gap:4px; padding:5px; border-radius:999px; background:#fffaf7; box-shadow:0 10px 26px rgba(150,95,85,.10); }
#sh-packages .shp-cov-options button { min-height:42px; padding:10px 22px; border:0; border-radius:999px; background:transparent; color:var(--p-ink); font:400 11px/1.2 Lato,Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; transition:background .25s,color .25s; }
#sh-packages .shp-cov-options button:hover { background:var(--p-blush); }
#sh-packages .shp-cov-options button[aria-checked="true"] { background:var(--p-btn); color:#fff; box-shadow:0 8px 18px rgba(150,95,85,.22); }
#sh-packages .shp-cov-options button:focus-visible { outline:2px solid var(--p-rose); outline-offset:2px; }
#sh-packages .shp-cov-desc { color:var(--p-body); font:italic 400 18px/1.4 var(--p-serif); }
#sh-packages .shp-film .shp-cov-desc, #sh-packages .shp-film .shp-cov-price { display:none; }
#sh-packages .shp-film[data-cov="essentials"] .shp-cov-desc[data-cov="essentials"], #sh-packages .shp-film[data-cov="essentials"] .shp-cov-price[data-cov="essentials"] { display:inline; }
#sh-packages .shp-film[data-cov="eightHours"] .shp-cov-desc[data-cov="eightHours"], #sh-packages .shp-film[data-cov="eightHours"] .shp-cov-price[data-cov="eightHours"] { display:inline; }
#sh-packages .shp-film[data-cov="fullDay"] .shp-cov-desc[data-cov="fullDay"], #sh-packages .shp-film[data-cov="fullDay"] .shp-cov-price[data-cov="fullDay"] { display:inline; }
@media (max-width:640px) {
  #sh-packages .shp-cov-options { display:flex; width:100%; }
  #sh-packages .shp-cov-options button { flex:1 1 0; padding:10px 8px; letter-spacing:.12em; font-size:10px; }
}
#sh-packages .shp-cov-options button { background:transparent!important; color:var(--p-ink)!important; border:0!important; box-shadow:none!important; margin:0!important; outline:none; }
#sh-packages .shp-cov-options button:hover { background:var(--p-blush)!important; }
#sh-packages .shp-cov-options button[aria-checked="true"] { background:var(--p-btn)!important; color:#fff!important; box-shadow:0 8px 18px rgba(150,95,85,.22)!important; }
#sh-packages .shp-cov-options button:focus-visible { outline:2px solid var(--p-rose)!important; outline-offset:2px; }
