/* Curator's Choice — shared styles for interior pages, loaded after styles.css. */

/* Footer navigation (new pages beyond the homepage) */
.footer-nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:12px}
.footer-nav a{text-decoration:underline;text-decoration-color:var(--coral);min-height:44px;display:inline-flex;align-items:center}

/* Homepage: package overview */
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.package-card{background:#2c2138;border:1px solid #42354f;border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px}
.package-card h3{margin:0;color:var(--parch)}
.package-price{font-family:var(--serif);font-size:1.8rem;margin:0;color:var(--acid)}
.package-price span{font-family:var(--sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--soft)}
.package-card p{color:#d9cfe8;font-size:15px;line-height:1.6;margin:0}
.package-card ul{color:#d9cfe8;font-size:14px;line-height:1.7;padding-left:1.1em;margin:0}
.package-card .button{margin-top:auto;justify-content:center}

/* Homepage: free paths */
.free-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.free-card{background:#2c2138;border:1px solid #42354f;border-radius:16px;padding:28px}
.free-card h3{color:var(--parch);margin:0 0 10px}
.free-card p{color:#d9cfe8;font-size:15px;line-height:1.6}

/* FAQ */
.faq-list{display:grid;gap:12px;max-width:820px}
.faq-list details{background:#2c2138;border:1px solid #42354f;border-radius:12px;padding:16px 20px}
.faq-list summary{cursor:pointer;font-weight:650;font-family:var(--serif);font-size:1.05rem;color:var(--parch);min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';flex-shrink:0;font-family:var(--sans);font-size:20px;line-height:1;color:var(--coral)}
.faq-list details[open] summary::after{content:'–'}
.faq-list p{color:#d9cfe8;font-size:15px;line-height:1.7;margin:10px 0 0}
.faq-list a{color:var(--acid);text-decoration-color:var(--acid)}

@media(max-width:800px){.package-grid{grid-template-columns:1fr}.free-grid{grid-template-columns:1fr}}

/* ---- Interior page chrome (services, pricing, examples, contact, legal, etc.) ---- */
.page-hero{padding-block:56px 24px}
.page-hero h1{margin-bottom:14px}
.page-hero p{font-size:17px;line-height:1.7;max-width:62ch;color:var(--soft)}
.page-hero .eyebrow{display:block;margin-bottom:14px}

.content-section{padding-block:56px}
.content-section h2{margin-bottom:16px}
.content-section>p{font-size:16px;line-height:1.7;color:var(--soft);max-width:70ch}

/* Catalog rendering (services.html, pricing.html via catalog-pages.js) */
.catalog-group{padding-block:48px;border-top:1px solid var(--line)}
.catalog-group:first-of-type{border-top:none}
.catalog-group-heading{max-width:68ch;margin-bottom:28px}
.catalog-group-heading h2{margin-bottom:8px}
.catalog-group-heading p{color:var(--soft);font-size:15px;line-height:1.7}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.catalog-card{background:#2c2138;border:1px solid #42354f;border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:10px}
.catalog-card h3{margin:0;font-size:1.15rem;color:var(--parch)}
.catalog-card .catalog-price{font-family:var(--serif);font-size:1.4rem;color:var(--acid);margin:0}
.catalog-card .catalog-price span{font-family:var(--sans);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);margin-left:6px}
.catalog-card p.catalog-scope{color:#d9cfe8;font-size:14px;line-height:1.6;margin:0}
.catalog-card ul{color:#d9cfe8;font-size:13.5px;line-height:1.7;padding-left:1.1em;margin:0}
.catalog-card .text-link{margin-top:auto}
.catalog-card.is-package{border-color:var(--acid)}
.catalog-note{font-size:13px;color:var(--soft);margin-top:20px;max-width:70ch}

/* Generic forms (contact, free sample) reusing the brief-form look */
.site-form{background:var(--parch);color:var(--plum);border-radius:18px;padding:32px;border:2px solid var(--plum);max-width:720px}
.site-form label{display:block;font-weight:650;margin-bottom:6px;font-size:14px}
.site-form label span{font-weight:400;color:#766a84}
.site-form input,.site-form select,.site-form textarea{width:100%;padding:11px 14px;border:2px solid var(--plum);border-radius:10px;background:#fff;color:var(--plum);font-size:16px;min-height:44px;margin-bottom:18px}
.site-form textarea{min-height:140px}
.site-form .form-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.site-form .button{min-width:200px;justify-content:center}
.form-status{min-height:1.4em;font-size:14px;margin:0 0 16px}
.form-status[data-state="error"]{color:var(--coral);font-weight:650}
.form-status[data-state="success"]{color:var(--acid);font-weight:650}
.form-errors{border:1px solid #b23a3a;background:#fdecec;color:#7a1d2c;padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:18px}
.form-errors ul{margin:0;padding-left:18px}
.selection-recovery{background:#f0e7f7;border:1px solid #bca4ef;border-radius:10px;padding:16px;margin-bottom:20px;font-size:14px;line-height:1.6;color:var(--plum)}
.selection-recovery .text-link,.attached-quote .text-link{color:var(--plum)}
.mailto-fallback{margin-top:20px;font-size:14px;color:var(--soft)}
.attached-quote{background:#f0e7f7;border:1px solid #bca4ef;border-radius:10px;padding:16px;margin:4px 0 18px;font-size:14px;line-height:1.6;color:var(--plum)}
.attached-quote-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}
.attached-quote-actions .text-link,#remove-quote-button{min-height:44px;display:inline-flex;align-items:center}
#remove-quote-button{background:none;border:0;padding:0;margin:0;cursor:pointer;font:inherit;text-decoration:underline;text-decoration-color:var(--coral);font-weight:700;color:var(--plum)}
.site-form :is(input,select,textarea):focus-visible,#brief-form :is(input,select,textarea):focus-visible,#quote-builder input:focus-visible{outline-color:var(--plum)}
.brief-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:18px}
#attached-quote-summary{white-space:pre-line;margin:0;font-size:14px;line-height:1.65}
#navigation a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:7px;text-decoration-thickness:2px}
.cta-secondary{font-size:11px;opacity:.9}
.attached-quote .eyebrow{color:#674189}

/* Examples hub + discipline pages */
.full-example{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;border-block:1px solid var(--line)}
.full-example-image{display:block;background:var(--parch);border:1px solid #6d5979;border-radius:10px;overflow:hidden}
.full-example-image img{display:block;width:100%;height:auto}
.full-example>div>p:not(.eyebrow){color:var(--soft);line-height:1.7}
.full-example .button{margin-block:10px}
.discipline-feature img{height:auto}
@media(max-width:800px){.full-example{grid-template-columns:1fr;gap:26px}}
.disciplines-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.discipline-card{background:#2c2138;border:1px solid #42354f;border-radius:16px;padding:0;overflow:hidden;display:flex;flex-direction:column;text-decoration:none}
.discipline-card:hover{border-color:var(--coral)}
.discipline-card img{width:100%;aspect-ratio:4/5;object-fit:cover}
.discipline-card .discipline-card-copy{padding:22px}
.discipline-card h3{color:var(--parch);margin:0 0 8px}
.discipline-card p{color:#d9cfe8;font-size:14.5px;line-height:1.6}
.illustrative-note{font-size:13px;color:var(--soft);border-top:1px solid var(--line);padding-top:16px;margin-top:8px}
.discipline-feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:48px}
.discipline-feature img{border-radius:12px;background:#2c2138;border:1px solid #42354f;padding:20px}
.presentation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.presentation-card{background:#2c2138;border:1px solid #42354f;border-radius:14px;padding:22px}
.presentation-card h3{color:var(--parch);margin:0 0 8px}
.presentation-card p{color:#d9cfe8;font-size:14.5px;line-height:1.65;margin:0}
@media(max-width:800px){.disciplines-grid{grid-template-columns:1fr}.discipline-feature{grid-template-columns:1fr}.presentation-grid{grid-template-columns:1fr}}

/* Legal / plain pages */
.legal-copy h2{margin-top:40px}
.legal-copy p,.legal-copy li{font-size:15px;line-height:1.75;color:var(--soft);max-width:72ch}
.legal-copy ul{padding-left:1.2em}

/* Thank-you */
.thank-you-box{max-width:60ch}
.thank-you-box p{font-size:16px;line-height:1.7;color:var(--soft)}

/* ---- Build-my-quote: theme the shared quote-builder UI to Curator's Choice ---- */
body.qb-page{background:var(--plum)!important;color:var(--parch)!important}
body.qb-page .qb-hero h1{font-family:var(--serif)!important;color:var(--parch)!important}
.qb-hero .qb-eyebrow{color:var(--coral)!important}
#quote-builder .qb-section{background:var(--parch)!important;color:var(--plum)!important;border-color:#cabfb2}
#quote-builder legend,#quote-builder .qb-section>summary,#quote-builder .qb-choice label,#quote-builder .qb-card-copy{color:var(--plum)!important}
#quote-builder .qb-scope,#quote-builder .qb-features,#quote-builder .qb-features li,#quote-builder .qb-note,#quote-builder .qb-note p,#quote-builder .qb-status{color:#584a66!important}
#quote-builder .qb-choice{border-color:#cabfb2}
#quote-builder .qb-choice:has(input:checked){border-color:var(--plum);background:#efe6d2!important}
#quote-builder .qb-choice input{accent-color:var(--plum)}
#quote-builder .qb-features summary{color:var(--plum)!important}
#quote-builder .qb-summary{background:var(--lav)!important;color:var(--plum)!important;border-color:var(--plum)}
#quote-builder .qb-summary h2,#quote-builder .qb-lines li,#quote-builder .qb-price,#quote-builder .qb-totals>div,#quote-builder .qb-totals strong{color:var(--plum)!important}
#quote-builder .qb-totals{border-top-color:var(--plum)}
#quote-builder .qb-promo{background:#2c2138;border-color:var(--lav)}
#quote-builder .qb-button{background:var(--plum)!important;border-color:var(--plum)!important;color:var(--parch)!important}
#quote-builder .qb-button-secondary{background:#fff!important;color:var(--plum)!important;border-color:var(--plum)!important}
#quote-builder .qb-mobile-summary{background:var(--lav)!important;color:var(--plum)!important;border-color:var(--plum)}
.qb-entry,.qb-intake-notice{background:var(--lav)!important;color:var(--plum)!important;border-color:var(--plum)}
.qb-entry a,.qb-intake-notice a{color:var(--plum)!important}
.qb-process{display:grid;gap:18px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1200px;padding:0 26px 40px}
.qb-process li{list-style:none;background:#2c2138;border:1px solid #42354f;border-radius:12px;padding:18px}
.qb-process li span{display:block;font-family:var(--serif);color:var(--acid);font-size:1.3rem;margin-bottom:8px}
.qb-process li p{color:#d9cfe8;font-size:13.5px;line-height:1.6;margin:0}
@media(max-width:800px){.qb-process{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.qb-process{grid-template-columns:1fr}}

/* Final integration: legibility on light form and quote surfaces. */
.site-form :is(input,textarea)::placeholder,#quote-builder input::placeholder{color:#6b5874;opacity:1}
.site-form label span,.site-form .small-note{color:#635467}
.site-form .small-note a{color:#4d2c72}
#quote-builder .qb-summary :is(p,.qb-note,.qb-status){color:#34233f!important}
#quote-builder .qb-promo input{color:#21182b}
#quote-builder .qb-choice input{width:auto;min-height:20px;flex-shrink:0}
.page-hero h1{font-size:clamp(42px,5.5vw,76px);line-height:1.1}
.page-hero+.content-section{padding-top:26px}
.footer .brand,.footer .brand-studio{color:var(--parch)}
@media(max-width:1000px){
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  nav#navigation{position:absolute;top:100%;left:0;right:0;background:#30233b;flex-direction:column;align-items:stretch;padding:20px 25px;border:1px solid var(--line);display:none;z-index:20}
  nav#navigation.is-open{display:flex}
  nav#navigation a{width:100%}
}
@media(max-width:360px){
  .header .brand{font-size:20px;gap:6px}
  .header .brand img{width:28px;height:28px}
  .header .brand-studio{font-size:7px}
  .discipline-line{flex-wrap:wrap;gap:6px 10px}
  .discipline-line span[aria-hidden]{display:none}
}
