/* AYADI Private Celebrations — page-specific additions.
   Loads AFTER app.css + music-lessons.css and reuses their tokens
   (--music-deep, --music-teal, --music-bronze, --music-gold, --music-ivory, --music-paper, --music-line).
   No new colours, fonts or radii are introduced. */

.private-celebrations-page .pc-line{display:block;font-style:normal}
.private-celebrations-page [dir="ltr"]{unicode-bidi:isolate}
.pc-arrow{display:inline-block}
html[dir="ltr"] .pc-arrow{transform:scaleX(-1)}

/* 1 · Hero */
.pc-hero .music-hero-content h1 span{display:block;color:#fff;font-size:1em;line-height:inherit;letter-spacing:inherit}
.pc-hero .music-hero-content h1 .pc-line{color:var(--music-gold);font-weight:900}
.pc-hero>img{object-position:center 58%}
.pc-tags{list-style:none;padding:0;margin-bottom:0;flex-wrap:wrap;gap:8px 0}
.pc-tags li{display:flex;align-items:center}
.pc-tags li+li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--music-gold);margin-inline:14px}

/* 2 · Intro + shared split layout */
.pc-intro{background:var(--music-paper)}
.pc-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}
.pc-split h2,.pc-terms h2,.pc-booking h2{margin:0;font-size:clamp(42px,5vw,68px);line-height:1.1}
.pc-split h2 em{color:var(--music-bronze)}
.pc-figure{width:100%;height:460px;object-fit:cover;border-radius:4px 42px 4px 42px;box-shadow:0 25px 70px rgba(12,53,48,.16)}

/* 3 · Packages — editorial, three across */
.pc-packages .music-section-heading{max-width:940px}
.pc-packages .music-section-heading h2{font-size:clamp(38px,4.4vw,60px)}
.pc-pricing-grid{grid-template-columns:1fr 1.08fr 1fr;max-width:none;gap:20px}
.pc-pricing-grid .price-card{padding:36px 32px}
.pc-pricing-grid .price-card.featured{padding-top:54px}
.pc-package-name{margin-bottom:2px!important;font-size:25px!important;letter-spacing:-.03em!important}
html[dir="rtl"] .pc-package-name{text-align:right}
.pc-package-sub{margin:0 0 12px!important;color:var(--music-bronze)!important;font-size:14px!important;font-weight:800}
.featured .pc-package-sub{color:var(--music-gold)!important}
.pc-pricing-grid .price{margin:24px 0 18px}
.pc-pricing-grid .price strong{font-size:52px}
.pc-pricing-grid .price-card ul{margin-bottom:22px}
.pc-inline-link{color:var(--music-teal);font-weight:800;border-bottom:1px solid currentColor}

/* 4 · Sound */
.pc-sound p+p{margin-top:14px}
.pc-sound-points{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.15);max-width:430px}
.pc-sound-points li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.15);color:#fff;font-size:15px;font-weight:700}
.pc-sound-points li:before{content:"✓";color:var(--music-gold);font-weight:900;margin-inline-end:11px}
.pc-sound-media{position:relative;padding-bottom:48px}
.pc-sound-media .pc-sound-inset{position:absolute;inset-inline-start:-34px;bottom:0;width:38%;height:auto;aspect-ratio:1;border:6px solid var(--music-deep);border-radius:3px 28px 3px 28px}

/* 5 · Personal touches */
.pc-touches{background:var(--music-ivory)}
.pc-touch-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:stretch}
.pc-touch-layout .pc-figure{height:100%;min-height:440px}
.pc-touch-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pc-touch-grid article{padding:30px 28px;background:var(--music-paper);border:1px solid var(--music-line);border-radius:4px 30px 4px 30px;box-shadow:0 18px 52px rgba(12,53,48,.06)}
.pc-touch-grid b,.pc-terms-list b{color:var(--music-bronze);font-size:13px;letter-spacing:.12em}
.pc-touch-grid h3{margin:16px 0 8px;font-size:24px;line-height:1.25}
.pc-touch-grid p{margin:0;color:#63746f;font-size:15px;line-height:1.85}

/* 6 · Optional services */
.pc-options{background:var(--music-paper);border-block:1px solid var(--music-line)}
.pc-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;border-top:1px solid var(--music-line)}
.pc-option-grid article{padding:26px 0;border-bottom:1px solid var(--music-line)}
.pc-option-grid h3{margin:0 0 5px;font-size:20px;letter-spacing:-.025em}
.pc-option-grid p{margin:0;color:#6a7b77;font-size:15px;line-height:1.75}
.pc-note-start{text-align:start}

/* 7 · How it works */
.pc-how{background:var(--music-ivory)}

/* 8 · Booking */
.pc-booking-grid{align-items:start}
.pc-booking .detail-booking-copy{position:sticky;top:125px}
.pc-booking-whatsapp{margin-top:26px}
.pc-booking-whatsapp .whatsapp-mark{width:20px;height:20px}
.pc-form label>span:first-child{display:block}
.pc-form input,.pc-form select,.pc-form textarea{min-height:50px;font-size:16px}
.pc-form input[type="date"],.pc-form input[type="time"]{direction:ltr}
html[dir="rtl"] .pc-form input[type="date"],html[dir="rtl"] .pc-form input[type="time"],html[dir="rtl"] .pc-form input[type="tel"]{text-align:right}
.pc-req{color:var(--music-bronze);font-style:normal}
.pc-fieldset{min-width:0}
.pc-choice-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pc-choice-2 label{display:block;position:relative;font-weight:700}
.pc-choice-2 span{font-size:14px;line-height:1.4}
.pc-choice-2 input:focus-visible+span{outline:3px solid rgba(224,178,83,.72);outline-offset:3px}
.pc-choice-2 input[type="checkbox"]:checked+span:before{content:"✓";margin-inline-end:7px;color:var(--teal);font-weight:900}
.pc-form [aria-invalid="true"]{border-color:#b4532f;box-shadow:0 0 0 3px rgba(180,83,47,.12)}
.pc-form .submit-booking{width:100%;background:var(--music-teal)}
.pc-form .submit-booking:hover:not(:disabled){background:var(--music-teal-bright)}
.pc-status{padding:16px 18px;border-radius:10px;font-size:15px;line-height:1.85;font-weight:700;background:#e8f2e5;color:#0d4a41;border:1px solid #c5dcc4}
.pc-status strong{display:block;font-size:17px}
.pc-status[data-state="error"],.pc-status[data-state="missing"]{background:#f7e9dc;color:#7a3519;border-color:#e6c8ae}
.pc-status a{text-decoration:underline;text-underline-offset:4px;font-weight:900}

/* 9 · Terms */
.pc-terms{background:var(--music-paper)}
.pc-terms-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;align-items:start}
.pc-terms-grid .music-section-heading{margin:0}
.pc-terms-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--music-line)}
.pc-terms-list li{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--music-line);font-size:16px;line-height:1.8}
.pc-terms-list b{font-size:17px;letter-spacing:0}

/* Final CTA */
.pc-final{position:relative;overflow:hidden;isolation:isolate}
.pc-final-bg{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;opacity:.16}
.pc-final-actions{justify-content:center;margin-top:32px}
.pc-address{display:grid;gap:4px;margin:48px auto 0;padding-top:26px;max-width:760px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.72);font-size:13px;line-height:1.8;font-style:normal}
.pc-address strong{color:#fff;font-size:15px;letter-spacing:.04em}
.pc-address a{color:#fff}

/* ---------- LTR (English): mirror the RTL-specific rules of music-lessons.css ---------- */
html[dir="ltr"] body{direction:ltr;text-align:left}
html[dir="ltr"] .music-hero-shade{background:linear-gradient(270deg,rgba(3,29,27,.08) 25%,rgba(3,29,27,.74) 67%,rgba(3,29,27,.97) 100%),linear-gradient(0deg,rgba(3,27,25,.76),transparent 58%)}
html[dir="ltr"] .music-lessons-page h1,html[dir="ltr"] .music-lessons-page h2,html[dir="ltr"] .music-lessons-page h3{letter-spacing:-.035em}
html[dir="ltr"] .featured-ribbon{right:auto;left:32px}
html[dir="ltr"] .price{direction:ltr}
html[dir="ltr"] .price span{order:-1}
html[dir="ltr"] .price-card li{padding:7px 0 7px 25px}
html[dir="ltr"] .price-card li:before{right:auto;left:0}
html[dir="ltr"] .music-faq-list summary{padding:24px 0 24px 46px}
html[dir="ltr"] .music-faq-list summary:before{right:auto;left:0}
html[dir="ltr"] .music-faq-list p{margin:-7px 0 24px 46px}
html[dir="ltr"] .site-header nav a:after{right:100%;left:0;transition:right .2s ease}
html[dir="ltr"] .site-header nav a:hover:after,html[dir="ltr"] .site-header nav a.active:after{right:0}
html[dir="ltr"] .floating-actions{left:auto;right:clamp(12px,2vw,28px)}
html[dir="ltr"] .scroll-progress{transform-origin:left center}
html[dir="ltr"] .music-section-heading.centered,html[dir="ltr"] .pc-final{text-align:center}

/* ---------- Responsive ---------- */
@media(max-width:1050px){
.pc-pricing-grid{grid-template-columns:1fr 1fr}
.pc-pricing-grid .price-card.featured{grid-column:1/-1;grid-row:1;transform:none}
.pc-option-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
.pc-split,.pc-touch-layout,.pc-terms-grid{grid-template-columns:1fr;gap:38px}
.pc-figure{height:380px}
.pc-touch-layout .pc-figure{min-height:0;height:320px}
.pc-booking .detail-booking-copy{position:static}
.pc-sound-media .pc-sound-inset{inset-inline-start:14px}
}
@media(max-width:760px){
.pc-split h2,.pc-terms h2,.pc-booking h2{font-size:39px;line-height:1.13}
.pc-hero .music-hero-actions{grid-template-columns:1fr}
.pc-hero .music-button.ghost,.pc-final .music-button.ghost{display:inline-flex}
.pc-tags{justify-content:flex-start;font-size:12px;gap:6px 0}
.pc-tags li+li:before{margin-inline:9px}
.pc-pricing-grid{grid-template-columns:1fr;gap:16px}
.pc-pricing-grid .price-card,.pc-pricing-grid .price-card.featured{grid-column:auto;padding:31px 25px}
.pc-pricing-grid .price-card.featured{padding-top:50px}
.pc-pricing-grid .price strong{font-size:46px}
.pc-pricing-grid .price-card li{font-size:15px}
.pc-pricing-grid .music-button{min-height:54px;font-size:16px}
html[dir="ltr"] .featured-ribbon{left:25px}
.pc-figure{height:280px;border-radius:3px 30px 3px 30px}
.pc-touch-layout .pc-figure{height:240px}
.pc-touch-grid{grid-template-columns:1fr;gap:12px}
.pc-touch-grid article{padding:24px 22px;border-radius:3px 26px 3px 26px}
.pc-touch-grid h3{font-size:21px;margin-top:10px}
.pc-option-grid{grid-template-columns:1fr}
.pc-option-grid article{padding:20px 0}
.pc-option-grid h3{font-size:18px}
.pc-sound-media{padding-bottom:36px}
.pc-sound-media .pc-sound-inset{width:40%;border-width:4px}
.pc-terms-list li{grid-template-columns:46px 1fr;gap:12px;font-size:15px;padding:18px 0}
.pc-form{gap:16px!important}
.pc-form .submit-booking{min-height:58px;font-size:17px}
.pc-booking-whatsapp{width:100%}
.pc-final-actions{display:grid;grid-template-columns:1fr}
.pc-address{font-size:12px;margin-top:38px}
html[dir="ltr"] .music-faq-list summary{padding:21px 0 21px 38px}
html[dir="ltr"] .music-faq-list summary:before{top:21px}
html[dir="ltr"] .music-faq-list p{margin:-4px 0 21px 38px}
}
@media(max-width:580px){
/* keep two fields per row only where it helps; stack the rest for one-hand use */
.pc-form .detail-booking-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.pc-status{transition:none}}
