/*
Theme Name: NSA
Theme URI: https://www.nevadaschoolofthearts.org
Description: Nevada School of the Arts theme. Child theme of Twenty Twenty-Five (free, maintained by WordPress). No page builder or extra plugins required - everything is editable in Appearance > Editor.
Author: Nevada School of the Arts
Template: twentytwentyfive
Version: 0.2.8
Requires at least: 6.7
Text Domain: nsa
*/

/* ---------- Header ---------- */
.nsa-header{background:#000;color:#fff;padding:10px 24px;gap:24px}
.nsa-header a{color:#fff;text-decoration:none}
.nsa-header .wp-block-navigation{font-family:var(--wp--preset--font-family--display);font-size:22px;letter-spacing:.02em;text-transform:uppercase}
.nsa-header .wp-block-navigation a:hover,.nsa-header .wp-block-navigation .current-menu-item>a{color:var(--wp--preset--color--nsa-gold)}
.nsa-header .wp-block-navigation__submenu-container{background:#000 !important;border:0 !important;padding:8px 0}
.nsa-header .wp-block-navigation__submenu-container a{font-family:var(--wp--preset--font-family--roboto);font-size:14px;text-transform:none;padding:8px 18px !important}
.nsa-header .wp-block-button__link{padding:14px 26px}
.nsa-header .wp-block-site-logo img{height:auto}

/* ---------- Footer ---------- */
.nsa-footer{background:#111;color:#d6d6d6;padding:48px 24px 24px;font-size:14px}
.nsa-footer a{color:#fff;text-decoration:none}
.nsa-footer a:hover{color:var(--wp--preset--color--nsa-gold)}
.nsa-footer h4{font-family:var(--wp--preset--font-family--display);font-weight:400;font-size:22px;color:var(--wp--preset--color--nsa-gold);margin:0 0 10px;letter-spacing:.03em}
.nsa-footer .nsa-links p{margin:0 0 6px}
.nsa-footer .nsa-copy{border-top:1px solid #333;margin-top:32px;padding-top:16px;font-size:12px;color:#999}

/* ---------- Page hero ---------- */
.nsa-hero h1{font-family:var(--wp--preset--font-family--display);font-weight:400;font-size:clamp(52px,8vw,84px);line-height:.9;margin:0;color:#fff}
.nsa-hero p{color:#fff;max-width:720px}

/* ---------- Blue banner ---------- */
.nsa-banner{background:var(--wp--preset--color--nsa-blue);color:#fff;padding:18px 24px;gap:20px}
.nsa-banner p{margin:0;max-width:760px}
.nsa-banner .wp-block-button__link{background:var(--wp--preset--color--nsa-gold)}
.nsa-banner .wp-block-button__link:hover{background:#fff;color:var(--wp--preset--color--nsa-blue)}

/* ---------- Program cards ---------- */
.nsa-grid{gap:22px}
.nsa-card{background:#fff;border:1px solid #e4e6ea;gap:0 !important;height:100%}
.nsa-card>*{margin:0 !important}
.nsa-card .nsa-card-img img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-bottom:4px solid var(--wp--preset--color--nsa-gold)}
.nsa-card-body{padding:16px 18px 18px;gap:8px !important;flex:1}
.nsa-card-body>*{margin:0 !important}
.nsa-tag{font-size:11px !important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--wp--preset--color--nsa-gold)}
.nsa-card-title{font-family:var(--wp--preset--font-family--display);font-weight:400;font-size:30px !important;line-height:1;color:var(--wp--preset--color--nsa-blue)}
.nsa-card-body p{font-size:14px;line-height:1.5;color:#5a5f6b}
.nsa-more summary{cursor:pointer;color:var(--wp--preset--color--nsa-blue);font-weight:500;font-size:13px}
.nsa-more[open] summary{margin-bottom:6px}
.nsa-card-body .wp-block-buttons{margin-top:auto !important;padding-top:6px}

/* ---------- v0.2: header fixes ---------- */
.nsa-header .wp-block-button__link{white-space:nowrap}
.nsa-header .wp-block-navigation{flex:1 1 auto;justify-content:flex-end}
.nsa-footer .wp-block-navigation{gap:6px;font-size:14px}
.nsa-footer .wp-block-navigation-item__content{padding:0}

/* ---------- Homepage sections ---------- */
.nsa-section{padding:64px 24px;margin:0 !important}
.nsa-section.nsa-soft{background:var(--wp--preset--color--soft)}
.nsa-section h2{font-size:clamp(34px,4.5vw,48px)}
.nsa-split{gap:48px;align-items:center}
.nsa-split .wp-block-media-text__content{padding:0 !important}
.nsa-split .wp-block-media-text__media{min-height:380px;border-bottom:6px solid var(--wp--preset--color--nsa-gold)}
.nsa-blue-band{background:var(--wp--preset--color--nsa-blue);color:#fff;text-align:center}
.nsa-blue-band h2{color:#fff}
.nsa-blue-band .wp-block-buttons{justify-content:center}
.nsa-blue-band .wp-block-button__link{background:var(--wp--preset--color--nsa-gold);border-color:var(--wp--preset--color--nsa-gold)}
.nsa-announcements ul{columns:2;column-gap:40px}
.nsa-announcements .nsa-card-title{font-size:22px !important}
.nsa-announcements .nsa-card-title a{color:inherit;text-decoration:none}
.nsa-quotes{gap:24px}
.nsa-quotes .wp-block-quote{background:#fff;border-left:6px solid var(--wp--preset--color--nsa-gold);margin:0;padding:24px 28px;font-size:15px}
.nsa-quotes cite{font-style:normal;font-weight:700;color:var(--wp--preset--color--nsa-blue)}
.nsa-section .wp-block-details{border-bottom:1px solid #e4e6ea;padding:14px 0}
.nsa-section .wp-block-details summary{font-weight:700;color:var(--wp--preset--color--nsa-blue);cursor:pointer;font-size:18px}
.nsa-seo{padding-top:24px}
.nsa-seo h2{font-size:24px}
.nsa-seo p{font-size:14px;color:#5a5f6b}

/* ---------- Homepage slider (core Cover blocks inside a group) ---------- */
.nsa-slider{position:relative;display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 !important;gap:0 !important}
.nsa-slider::-webkit-scrollbar{display:none}
.nsa-slider>.wp-block-cover{flex:0 0 100%;scroll-snap-align:start;margin:0 !important;padding:48px max(24px,6vw)}
.nsa-slider .wp-block-cover h1,.nsa-slider .wp-block-cover h2{color:#fff;font-size:clamp(44px,7vw,80px)}
.nsa-slider .wp-block-cover p{color:#fff;font-size:18px;max-width:640px}
.nsa-slider .wp-block-button__link{background:var(--wp--preset--color--nsa-gold);border-color:var(--wp--preset--color--nsa-gold)}
.nsa-slider-dots{position:relative;display:flex;justify-content:center;gap:10px;margin-top:-34px;z-index:2;padding-bottom:14px}
.nsa-slider-dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}
.nsa-slider-dots button[aria-current=true]{background:var(--wp--preset--color--nsa-gold);border-color:var(--wp--preset--color--nsa-gold)}
/* In the editor, show slides stacked so each one is easy to edit */
.editor-styles-wrapper .nsa-slider{display:block !important;overflow:visible}

@media (max-width:781px){
  .nsa-section{padding:44px 16px}
  .nsa-announcements ul{columns:1}
  .nsa-split .wp-block-media-text__media{min-height:240px}
  .nsa-header{padding:10px 16px}
}

/* ---------- Programs list (automatic from products) ---------- */
.nsa-programs-query .nsa-grid{gap:22px}
.nsa-card .wp-block-post-excerpt{font-size:14px;line-height:1.5;color:#5a5f6b;margin:0}
.nsa-card .wp-block-post-excerpt__more-text{display:none}
.nsa-card-title a{color:inherit;text-decoration:none}
.nsa-learn-more{display:inline-block;align-self:flex-start;margin-top:auto !important;font-weight:900;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:9px 18px;border:2px solid var(--wp--preset--color--nsa-blue);color:var(--wp--preset--color--nsa-blue);text-decoration:none}
.nsa-learn-more:hover{background:var(--wp--preset--color--nsa-blue);color:#fff}
@media (max-width:900px){.nsa-programs-query .nsa-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:600px){.nsa-programs-query .nsa-grid{grid-template-columns:1fr !important}}

/* v0.2.1: keep full-width sections full width */
.nsa-slider.alignfull,.nsa-section.alignfull{margin-left:calc(var(--wp--style--root--padding-left) * -1) !important;margin-right:calc(var(--wp--style--root--padding-right) * -1) !important}
.wp-block-post-content>.alignfull:first-child{margin-top:0 !important}

/* v0.2.2: slider arrows */
.nsa-slider-wrap{position:relative}
.nsa-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(0,0,0,.35);color:#fff;border:0;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.nsa-slider-arrow:hover{background:var(--wp--preset--color--nsa-gold)}
.nsa-slider-arrow--prev{left:14px}
.nsa-slider-arrow--next{right:14px}
.nsa-slider-wrap--quotes .nsa-slider-arrow{background:transparent;color:var(--wp--preset--color--ink)}
.nsa-slider-wrap--quotes .nsa-slider-arrow:hover{background:transparent;color:var(--wp--preset--color--nsa-gold)}
.nsa-slider-wrap--quotes .nsa-slider-arrow--prev{left:-10px}
.nsa-slider-wrap--quotes .nsa-slider-arrow--next{right:-10px}
@media (max-width:781px){.nsa-slider-arrow{width:36px;height:36px}.nsa-slider-arrow--prev{left:6px}.nsa-slider-arrow--next{right:6px}}
.nsa-slider-wrap.alignfull{margin-top:0 !important}
.nsa-slider-wrap > .nsa-slider{margin:0 !important;width:100%}

/* v0.2.5: faculty filter bar */
.nsa-filter-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 22px;max-width:1150px}
.nsa-filter-bar button{font-family:var(--wp--preset--font-family--roboto);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border:2px solid var(--wp--preset--color--nsa-blue);background:#fff;color:var(--wp--preset--color--nsa-blue);cursor:pointer}
.nsa-filter-bar button:hover{border-color:var(--wp--preset--color--nsa-gold);color:var(--wp--preset--color--nsa-gold)}
.nsa-filter-bar button[aria-pressed=true]{background:var(--wp--preset--color--nsa-blue);color:#fff;border-color:var(--wp--preset--color--nsa-blue)}
.nsa-faculty-card[hidden]{display:none !important}

/* ---------- Registration page (One Page Checkout) ----------
   Matches the original registration page. Wrap the [woocommerce_one_page_checkout]
   shortcode in a group with the class "p-woo-registration". */
.p-woo-registration #opc-product-selection{display:grid;grid-template-columns:1fr;gap:2rem 2rem;margin:0 0 2rem}
@media (min-width:1000px){.p-woo-registration #opc-product-selection{grid-template-columns:1fr 1fr}}
.p-woo-registration #opc-product-selection .opc-single-product{padding:0;margin:0}
.p-woo-registration #opc-product-selection .opc-single-product>.product{display:flex !important;align-items:flex-start;gap:1rem;margin:0 !important}
.p-woo-registration #opc-product-selection .woocommerce-product-gallery{flex:0 0 140px;width:140px !important;height:140px;margin:0 !important;float:none !important;position:relative;opacity:1 !important}
.p-woo-registration #opc-product-selection .woocommerce-product-gallery__wrapper,
.p-woo-registration #opc-product-selection .woocommerce-product-gallery__image,
.p-woo-registration #opc-product-selection .woocommerce-product-gallery__image>a{display:block;position:absolute;inset:0;margin:0 !important}
.p-woo-registration #opc-product-selection .woocommerce-product-gallery__image img{width:100% !important;height:100% !important;object-fit:cover;object-position:center}
.p-woo-registration #opc-product-selection .woocommerce-product-gallery__trigger,
.p-woo-registration #opc-product-selection .summary .price,
.p-woo-registration #opc-product-selection .summary .product_meta,
.p-woo-registration #opc-product-selection .summary .opc-complete-order,
.p-woo-registration #opc-product-selection .summary .woocommerce-variation-add-to-cart>.quantity,
.p-woo-registration #opc-product-selection .summary .wapf-save-config,
.p-woo-registration #opc-product-selection .summary .wapf-admin-msg{display:none !important}
.p-woo-registration #opc-product-selection .summary{flex:1 1 auto;width:auto !important;float:none !important;margin:0 !important;padding:0}
.p-woo-registration #opc-product-selection .product.is-selected .summary{padding:1rem;background:#eef1f6}
.p-woo-registration #opc-product-selection .summary .product_title{font-family:var(--wp--preset--font-family--display);font-size:1.6rem !important;line-height:1.05 !important;color:#111 !important;margin:0 0 4px !important;text-transform:none}
.p-woo-registration #opc-product-selection .summary .woocommerce-product-details__short-description{font-size:1rem;line-height:1.55}
.p-woo-registration #opc-product-selection .summary .woocommerce-product-details__short-description p{margin:0 0 .4rem}
.p-woo-registration #opc-product-selection .summary .button{width:100%}
.p-woo-registration .opc-product-quantity{display:none}
.p-woo-registration .opc-single-product>.product.is-selected .opc-product-quantity{display:block;margin-top:.75rem}
.p-woo-registration__product-toggle,.p-woo-registration__product-added{display:none}
.p-woo-registration .product.has-options:not(.is-added) .p-woo-registration__product-toggle{display:block}
.p-woo-registration .product.is-added .p-woo-registration__product-added{display:block}
.p-woo-registration__product-toggle{background:#eef1f6;margin-top:.6rem}
.p-woo-registration__product-toggle label{display:flex;gap:.5rem;align-items:center;padding:.6rem .7rem;cursor:pointer;font-weight:500}
.p-woo-registration .product.is-selected .p-woo-registration__product-toggle label{padding-left:0;padding-right:0}
.p-woo-registration .product.is-selected .p-woo-registration__product-toggle{background:transparent}
.p-woo-registration__product-added{position:relative;margin-top:.6rem;padding:.6rem 3rem .6rem .7rem;background:#d8f7e3;color:#14532d;fill:#14532d}
.p-woo-registration__product-added a{color:#14532d}
.p-woo-registration__product-added svg{position:absolute;top:.6rem;right:.6rem;width:1.5rem;height:1.5rem}
/* Fields that only apply when a program is in the order */
.p-woo-registration .woocommerce-checkout .p-woo-registration__field-program,
.p-woo-registration .woocommerce-checkout .woocommerce-shipping-fields,
.p-woo-registration .woocommerce-checkout .shop_table .shipping{display:none}
.p-woo-registration.has-programs .woocommerce-checkout .p-woo-registration__field-program{display:block}
.p-woo-registration.has-products .woocommerce-checkout .woocommerce-shipping-fields{display:block}
.p-woo-registration.has-products .woocommerce-checkout .shop_table .shipping{display:table-row}
.p-woo-registration__field-disclaimer{font-size:.95rem;line-height:1.45;margin-bottom:.3rem}
.p-woo-registration__field-disclaimer h4{font-family:var(--wp--preset--font-family--display);font-size:1.5rem;font-weight:400;margin:1rem 0 .2rem;color:#111}
.p-woo-registration__field-disclaimer ul{margin:.2rem 0 .4rem}
.p-woo-registration__field-disclaimer-accept{font-weight:600}
.p-woo-registration__field-disclaimer-accept label{display:flex;gap:.5rem;align-items:flex-start;padding:.6rem .7rem;background:#eef1f6}
.p-woo-registration__field-disclaimer-accept.woocommerce-validated label{background:#d8f7e3;color:#14532d}
.p-woo-registration__field-disclaimer-accept label input[type="checkbox"]{margin-top:.35rem}
.p-woo-registration .shop_table .product-name .product-remove{float:left}
.p-woo-registration .shop_table .product-name .product-details{float:left;width:calc(100% - 6.5rem);padding-left:.7rem;box-sizing:border-box}
.p-woo-registration .shop_table .product-name .product-quantity{float:right}
/* registration cards v2 */
.w153-field-hide,.p-woo-registration .fpf-fields-config-wrapper{display:none !important}
.p-woo-registration #opc-product-selection .opc-single-product>.product{background:#fff;border:1px solid #e4e6ea;padding:14px;transition:border-color .15s,box-shadow .15s}
.p-woo-registration #opc-product-selection .product.is-selected{border-color:var(--wp--preset--color--nsa-blue,#174ca1);box-shadow:0 6px 18px rgba(23,76,161,.12)}
.p-woo-registration #opc-product-selection .product.is-added{border-color:#2e9b5b}
.p-woo-registration #opc-product-selection .product.is-selected .summary{padding:0 !important;background:transparent !important}
.p-woo-registration .product.is-selected .p-woo-registration__product-toggle{background:var(--wp--preset--color--nsa-blue,#174ca1) !important;color:#fff}
.p-woo-registration .product.is-selected .p-woo-registration__product-toggle label{padding:.6rem .7rem !important;color:#fff}
.p-woo-registration .opc-single-product>.product.is-selected .opc-product-quantity{display:block;margin-top:0;padding:16px;background:#f7f8fa;border-top:3px solid var(--wp--preset--color--nsa-gold,#e28925)}
.p-woo-registration .opc-product-quantity table.variations{display:block;margin:0 0 6px;border:0}
.p-woo-registration .opc-product-quantity table.variations tbody{display:block}
.p-woo-registration .opc-product-quantity table.variations tr{display:block;margin-bottom:12px}
.p-woo-registration .opc-product-quantity table.variations th,.p-woo-registration .opc-product-quantity table.variations td{display:block;padding:0 !important;border:0;text-align:left}
.p-woo-registration .opc-product-quantity table.variations th label,.p-woo-registration .opc-product-quantity .fpf-field label,.p-woo-registration .opc-product-quantity .wapf-field-label{display:block;font-size:12px !important;font-weight:700 !important;letter-spacing:.06em;text-transform:uppercase;color:#333;margin-bottom:4px}
.p-woo-registration .opc-product-quantity table.variations select{width:100% !important;min-width:0}
.p-woo-registration .opc-product-quantity .reset_variations{font-size:12px;display:inline-block;margin-top:4px}
.p-woo-registration .opc-product-quantity .fpf-field,.p-woo-registration .opc-product-quantity .wapf-field-container{margin:0 0 12px}
.p-woo-registration .opc-product-quantity .fpf-totals:empty{display:none}
.p-woo-registration .opc-product-quantity .single_add_to_cart_button{display:block;width:100%;margin-top:6px;padding:12px 16px !important;background:var(--wp--preset--color--nsa-blue,#174ca1) !important;color:#fff !important;border:0;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px;cursor:pointer}
.p-woo-registration .opc-product-quantity .single_add_to_cart_button.disabled{opacity:.55}
.p-woo-registration .opc-product-quantity .woocommerce-variation-price,.p-woo-registration .opc-product-quantity .woocommerce-variation-description{font-size:14px;margin-bottom:8px}
/* registration cards v3: plain list until selected, even heights */
.p-woo-registration #opc-product-selection .opc-single-product{display:flex}
.p-woo-registration #opc-product-selection .opc-single-product>.product{width:100%;align-items:stretch !important;border:0 !important;padding:0 !important;background:transparent !important;box-shadow:none !important}
.p-woo-registration #opc-product-selection .opc-single-product>.product.is-selected{padding:14px !important;background:#fff !important;border:1px solid var(--wp--preset--color--nsa-blue,#174ca1) !important;box-shadow:0 6px 18px rgba(23,76,161,.12) !important}
.p-woo-registration #opc-product-selection .woocommerce-product-gallery{align-self:flex-start}
.p-woo-registration #opc-product-selection .summary{display:flex !important;flex-direction:column}
.p-woo-registration #opc-product-selection .summary .woocommerce-product-details__short-description{display:flex;flex-direction:column;flex:1 1 auto;font-size:14px !important;line-height:1.45}
.p-woo-registration .nsa-desc-text{max-height:calc(1.45em * 5);overflow:hidden}
.p-woo-registration .nsa-desc-text p{margin:0 0 .25rem}
.p-woo-registration .product.is-selected .nsa-desc-text{max-height:none}
.p-woo-registration .p-woo-registration__product-toggle,.p-woo-registration .p-woo-registration__product-added{margin-top:auto !important}
.p-woo-registration .p-woo-registration__product-toggle{margin-bottom:0}
.p-woo-registration .nsa-desc-text+.p-woo-registration__product-toggle{padding-top:0}
.p-woo-registration .nsa-desc-text{margin-bottom:.6rem}
/* registration cards v4 tweaks */
.p-woo-registration .nsa-desc-text p{margin:0 !important}
.p-woo-registration .nsa-desc-text{max-height:calc(1.45em * 5) !important}
.p-woo-registration .p-woo-registration__product-toggle label{padding:.45rem .7rem !important}
.p-woo-registration .product.is-selected .nsa-desc-text p{margin:0 0 .25rem !important}
.p-woo-registration .product.is-selected .nsa-desc-text{max-height:none !important}
/* registration cards v5: neighbours don't stretch when one opens */
.p-woo-registration #opc-product-selection{align-items:start}
.p-woo-registration .product:not(.is-selected) .nsa-desc-text{height:calc(1.45em * 5)}
.p-woo-registration .p-woo-registration__product-toggle,.p-woo-registration .p-woo-registration__product-added{margin-top:.6rem !important}
.p-woo-registration .nsa-desc-text{margin-bottom:0 !important}
/* required option fields */
.p-woo-registration .opc-product-quantity .nsa-missing{border-color:#c0392b !important;background:#fff5f4 !important}
.p-woo-registration .nsa-required-note{color:#c0392b;font-size:13px;font-weight:600;margin:0 0 8px}
.p-woo-registration .opc-product-quantity .optional{display:none}
