/*
Atomic Heart Lounge - Phase 11.1 Clean Final Override
This is the single active override layer for cart/checkout/link styling.
*/

/* Weekly buttons */
.lineup-7-copy .button-row,
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Full flyers/cards should not crop */
.event-card img,
.phase8-event-card img,
.cards-grid .event-card img,
.cards-grid .phase8-event-card img,
.discovery-card img,
.preview-discovery-card img {
  width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #090909 !important;
  padding: 10px !important;
}

/* Cart review note */
.ahl-cart-review-note,
.ahl-payment-helper {
  max-width: 940px;
  margin: 0 auto 22px !important;
  background: #111111 !important;
  color: #ffffff !important;
  border-left: 5px solid #d3122a !important;
  padding: 16px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}
.ahl-payment-helper span {
  display: block !important;
  color: rgba(255,255,255,.78) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  margin-top: 5px !important;
}

/* Cart quantity controls */
body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: transparent !important;
  border: 0 !important;
  overflow: visible !important;
  min-width: 150px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .quantity input {
  width: 58px !important;
  height: 52px !important;
  min-height: 52px !important;
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  caret-color: #111111 !important;
  border: 2px solid #d3122a !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-weight: 900 !important;
  opacity: 1 !important;
  padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.woocommerce-cart .quantity .minus,
body.woocommerce-cart .quantity .plus {
  width: 42px !important;
  height: 52px !important;
  min-height: 52px !important;
  background: #d3122a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 2px solid #d3122a !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  opacity: 1 !important;
  padding: 0 !important;
}

/* Remove/trash */
body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart a.remove {
  color: #ffffff !important;
  background: #d3122a !important;
  border: 2px solid #ffffff !important;
  border-radius: 8px !important;
  min-width: 38px !important;
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
body.woocommerce-cart .wc-block-cart-item__remove-link:before,
body.woocommerce-cart a.remove:before {
  content: "×" !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* Checkout: hide old custom labels if older functions still print them */
body.woocommerce-checkout .ahl-field-label,
body.woocommerce-checkout .ahl-clean-field-label,
body.woocommerce-checkout .ahl-card-help,
body.woocommerce-checkout .ahl-payment-field-guide {
  display: none !important;
}

/* Checkout input fields: white boxes, black text */
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout .input-text,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .components-text-control__input,
body.woocommerce-checkout .wc-block-components-textarea {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  caret-color: #111111 !important;
  border: 2px solid #d3122a !important;
  border-radius: 10px !important;
  min-height: 54px !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Placeholders */
body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder,
body.woocommerce-checkout .wc-block-components-text-input input::placeholder {
  color: #555555 !important;
  -webkit-text-fill-color: #555555 !important;
  opacity: 1 !important;
}

/* Keep WooCommerce Blocks floating labels readable */
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label,
body.woocommerce-checkout label,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-checkbox__label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-address-form > div,
body.woocommerce-checkout .form-row {
  margin-bottom: 22px !important;
}

/* Stripe containers */
body.woocommerce-checkout .wc-stripe-elements-field,
body.woocommerce-checkout .StripeElement,
body.woocommerce-checkout #stripe-card-element,
body.woocommerce-checkout #stripe-exp-element,
body.woocommerce-checkout #stripe-cvc-element {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 2px solid #d3122a !important;
  border-radius: 10px !important;
  min-height: 54px !important;
  padding: 14px !important;
}

/* Modern wrapper */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout form.checkout,
body.woocommerce-cart .woocommerce {
  background: radial-gradient(circle at top left, rgba(211,18,42,.14), transparent 34%), #050505 !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 18px !important;
  box-shadow: 0 0 34px rgba(211,18,42,.12) !important;
}

/* Continue buttons */
.ahl-continue-events {
  margin: 22px auto !important;
  max-width: 940px !important;
  text-align: center !important;
}
.ahl-continue-events .ahl-btn {
  margin: 6px !important;
}

/* Discovery/Night pages */
.night-detail-page,
.discovery-landing-page {
  padding: clamp(36px,6vw,90px) 0 !important;
}
.discovery-landing-grid {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(320px,.8fr) !important;
  gap: clamp(28px,5vw,70px) !important;
  align-items: center !important;
}
.discovery-landing-grid h1 {
  color: #f2f0ec !important;
  font-size: clamp(50px,8vw,130px) !important;
  line-height: .84 !important;
  text-transform: uppercase !important;
}
.discovery-landing-grid p,
.discovery-landing-grid li {
  color: rgba(255,255,255,.86) !important;
  font-weight: 700 !important;
}
.discovery-page-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 20px 0 36px !important;
}
.discovery-page-links a {
  background: #ded6ca !important;
  color: #090909 !important;
  border: 2px solid #d3122a !important;
  padding: 12px 16px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 5px 5px 0 rgba(211,18,42,.45) !important;
}

@media(max-width:900px){
  .discovery-landing-grid{grid-template-columns:1fr!important}
}


/* PHASE 11.2 BAKED FIX: WooCommerce Blocks floating checkout labels
   This exact fix was confirmed working on the live checkout. */
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label,
body.woocommerce-checkout .wc-block-components-address-form label {
  color: #555555 !important;
  -webkit-text-fill-color: #555555 !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #ffffff !important;
  padding: 0 6px !important;
  z-index: 5 !important;
}

body.woocommerce-checkout .wc-block-components-text-input:not(.is-active) label,
body.woocommerce-checkout .wc-block-components-combobox:not(.is-active) label {
  color: #555555 !important;
  -webkit-text-fill-color: #555555 !important;
  opacity: 1 !important;
}

body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-combobox.is-active label {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  opacity: 1 !important;
}

/* Keep typed info readable in checkout/cart fields. */
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .components-text-control__input,
body.woocommerce-checkout .wc-block-components-textarea {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  caret-color: #111111 !important;
  opacity: 1 !important;
}

body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder,
body.woocommerce-checkout .wc-block-components-text-input input::placeholder {
  color: #555555 !important;
  -webkit-text-fill-color: #555555 !important;
  opacity: 1 !important;
}
/* Order confirmation ticket info visibility fix */
.ahl-ticket-confirmation,
.ahl-ticket-confirmation * {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

.ahl-ticket-confirmation .ticket-info,
.ahl-ticket-confirmation .ticket-line,
.ahl-ticket-confirmation p,
.ahl-ticket-confirmation strong {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

.ahl-ticket-confirmation .ticket-bar,
.ahl-ticket-confirmation .ticket-meta,
.ahl-ticket-confirmation .ticket-row {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border-left: 5px solid #d3122a !important;
}

/* PHASE 11.3: Order confirmation ticket visibility fix */
.ahl-ticket-confirmation .ticket-info,
.ahl-ticket-confirmation .ticket-line,
.ahl-ticket-confirmation .ticket-bar,
.ahl-ticket-confirmation .ticket-meta,
.ahl-ticket-confirmation .ticket-row {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border-left: 5px solid #d3122a !important;
}
.ahl-ticket-confirmation .ticket-info *,
.ahl-ticket-confirmation .ticket-line *,
.ahl-ticket-confirmation .ticket-bar *,
.ahl-ticket-confirmation .ticket-meta *,
.ahl-ticket-confirmation .ticket-row * {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}


/* PHASE 12: Customer capture form */
.ahl-customer-profile-form {
  background: radial-gradient(circle at top left, rgba(211,18,42,.16), transparent 32%), #050505;
  border: 1px solid rgba(255,255,255,.16);
  padding: clamp(20px, 4vw, 42px);
  margin: 28px 0;
}
.ahl-customer-profile-form label {
  color: #ffffff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ahl-customer-profile-form input,
.ahl-customer-profile-form select {
  width: 100%;
  min-height: 52px;
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 2px solid #d3122a !important;
  border-radius: 10px;
  padding: 12px 14px;
  margin-top: 7px;
}
.ahl-customer-profile-form input[type="checkbox"] {
  width: auto;
  min-height: auto;
  margin-right: 8px;
}
.ahl-customer-profile-form .form-success {
  background: #ffffff;
  color: #111111;
  border-left: 5px solid #d3122a;
  padding: 14px;
  font-weight: 900;
  margin-bottom: 16px;
}


/* PHASE 12.6: Phone checkout visibility */
body.woocommerce-checkout input[name="billing_phone"],
body.woocommerce-checkout #billing-phone,
body.woocommerce-checkout #billing_phone,
body.woocommerce-checkout .wc-block-components-address-form input[type="tel"] {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 2px solid #d3122a !important;
  min-height: 54px !important;
  opacity: 1 !important;
}
body.woocommerce-checkout input[name="billing_phone"]::placeholder,
body.woocommerce-checkout input[type="tel"]::placeholder {
  color: #555555 !important;
  -webkit-text-fill-color: #555555 !important;
  opacity: 1 !important;
}


/* PHASE 12.7: Force checkout phone field to look required */
body.woocommerce-checkout .ahl-phone-label-fixed,
body.woocommerce-checkout label[for*="phone"],
body.woocommerce-checkout label:has(+ input[type="tel"]) {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  background: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.woocommerce-checkout .ahl-phone-required-field {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 3px solid #d3122a !important;
}
body.woocommerce-checkout .ahl-phone-required-field::placeholder {
  color: #444444 !important;
  -webkit-text-fill-color: #444444 !important;
  opacity: 1 !important;
}
body.woocommerce-checkout .ahl-phone-required-message {
  margin-top: 8px;
  background: #d3122a;
  color: #ffffff;
  padding: 10px 12px;
  font-weight: 900;
  border-radius: 6px;
}
body.woocommerce-checkout .ahl-phone-required-error {
  box-shadow: 0 0 0 4px rgba(211,18,42,.25) !important;
}


/* PHASE 12.8: CRM toolkit frontend helper */
.ahl-payment-helper + .ahl-payment-helper {
  margin-top: -8px !important;
}

/* Phase 49: Sponsor + Austin Singles Social landing pages */
.ahl-sponsor-page{background:#080808;color:#f2f0ec;overflow:hidden}.ahl-sponsor-hero{min-height:82vh;padding:110px 5vw 70px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:34px;align-items:center;background:radial-gradient(circle at 20% 20%,rgba(211,18,42,.26),transparent 32%),linear-gradient(135deg,#050505,#160006 55%,#080808)}.ahl-sponsor-hero h1{font-size:clamp(52px,10vw,132px);line-height:.84;margin:.1em 0;text-transform:uppercase}.ahl-hero-lead{font-size:clamp(19px,2.4vw,31px);line-height:1.28;max-width:980px;font-weight:800}.ahl-event-facts{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.ahl-event-facts span{background:#f2f0ec;color:#080808;border:3px solid #080808;box-shadow:6px 6px 0 #d3122a;padding:10px 13px;font-weight:900;text-transform:uppercase;font-size:13px}.ahl-sponsor-card{background:#ded6ca;color:#080808;border:4px solid #080808;box-shadow:16px 16px 0 #d3122a;padding:32px;transform:rotate(1deg)}.ahl-sponsor-card h2{font-size:clamp(36px,5vw,64px);line-height:.9;margin-top:0}.ahl-sponsor-card ul{margin:0;padding-left:20px;font-size:18px;font-weight:800;line-height:1.65}.ahl-sponsor-section{max-width:1240px;margin:0 auto}.ahl-sponsor-section h2{font-size:clamp(42px,7vw,92px);line-height:.88}.ahl-sponsor-section .section-lead{font-size:20px;line-height:1.65;max-width:980px}.ahl-package-grid,.ahl-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}.ahl-tier-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ahl-package-grid article,.ahl-tier-grid article{background:#ded6ca;color:#080808;border:3px solid #111;box-shadow:10px 10px 0 rgba(211,18,42,.75);padding:25px}.ahl-package-grid h3,.ahl-tier-grid h3{font-size:30px;margin:.2em 0}.ahl-tier-grid span{display:inline-block;background:#d3122a;color:#fff;font-weight:900;text-transform:uppercase;padding:6px 10px;margin-bottom:10px}.ahl-dark-panel{max-width:none;background:linear-gradient(135deg,#150006,#080808);border-top:4px solid #d3122a;border-bottom:4px solid #d3122a}.ahl-dark-panel>*{max-width:1240px;margin-left:auto;margin-right:auto}.ahl-singles-card{transform:rotate(-1deg)}.centered{justify-content:center;text-align:center}@media(max-width:900px){.ahl-sponsor-hero{grid-template-columns:1fr;padding:92px 22px 55px}.ahl-package-grid,.ahl-tier-grid{grid-template-columns:1fr}.ahl-sponsor-card{transform:none}.ahl-sponsor-section{padding-left:22px;padding-right:22px}.ahl-event-facts span{width:100%}}

/* Phase 50: Business Development Center upgrades */
.phase50-bizdev .phase50-hero,
.phase50-singles .phase50-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(120deg, rgba(0,0,0,.92), rgba(0,0,0,.62)),
    url('../img/real/atomic-heart-main-crowd.jpg') center/cover no-repeat;
  min-height:72vh;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:32px;
  align-items:center;
  padding:clamp(48px,8vw,110px) clamp(20px,5vw,72px);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.phase50-singles .singles-hero{
  background:
    linear-gradient(120deg, rgba(0,0,0,.9), rgba(70,0,20,.55)),
    url('../img/uploaded-heroes/singles.jpg') center/cover no-repeat;
}
.phase50-hero h1{font-size:clamp(42px,7vw,88px);line-height:.92;margin:10px 0 18px;text-transform:uppercase;letter-spacing:-.04em;max-width:1000px;}
.phase50-hero .ahl-hero-lead{font-size:clamp(18px,2.1vw,26px);max-width:860px;color:rgba(255,255,255,.88);}
.phase50-card{background:rgba(10,10,10,.78);border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 80px rgba(0,0,0,.35);backdrop-filter:blur(8px);}
.phase50-stats{padding-top:28px;padding-bottom:28px;}
.ahl-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.ahl-stat-grid article{background:#111;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:26px;text-align:center;}
.ahl-stat-grid strong{display:block;font-size:clamp(34px,4vw,58px);line-height:1;color:#fff;}
.ahl-stat-grid span{display:block;color:rgba(255,255,255,.72);text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin-top:8px;}
.phase50-opportunities article{min-height:170px;}
.phase50-pills{display:flex!important;flex-wrap:wrap;gap:10px!important;justify-content:center;}
.phase50-pills span{background:#151515;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:12px 16px;}
.phase50-contact{text-align:center;background:linear-gradient(180deg,#151515,#050505);border-top:1px solid rgba(255,255,255,.12);}
.site-footer .phase50-footer-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:18px;}
.site-footer .phase50-footer-links a{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 13px;text-decoration:none;}
@media (max-width:900px){
  .phase50-bizdev .phase50-hero,
  .phase50-singles .phase50-hero{grid-template-columns:1fr;min-height:auto;padding-top:54px;padding-bottom:54px;}
  .ahl-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .ahl-stat-grid{grid-template-columns:1fr;}
  .phase50-hero h1{font-size:40px;}
  .phase50-hero .button-row{align-items:stretch;}
  .phase50-hero .ahl-btn{width:100%;text-align:center;}
}

/* Phase 50.1 CSS readability patch: sponsor + singles pages */
.phase50-bizdev,
.phase50-singles{
  background:#050505 !important;
}

.phase50-bizdev .phase50-hero,
.phase50-singles .phase50-hero{
  min-height:auto !important;
  padding-top:clamp(72px,7vw,120px) !important;
  padding-bottom:clamp(72px,7vw,110px) !important;
}

.phase50-bizdev .phase50-card,
.phase50-singles .phase50-card{
  background:rgba(5,5,5,.86) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:initial !important;
  border:2px solid rgba(255,255,255,.28) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.70), 8px 8px 0 rgba(211,18,42,.65) !important;
  transform:none !important;
}
.phase50-bizdev .phase50-card h2,
.phase50-bizdev .phase50-card p,
.phase50-bizdev .phase50-card li,
.phase50-bizdev .phase50-card strong,
.phase50-singles .phase50-card h2,
.phase50-singles .phase50-card p,
.phase50-singles .phase50-card li,
.phase50-singles .phase50-card strong{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.phase50-bizdev .phase50-card h2,
.phase50-singles .phase50-card h2{
  font-size:clamp(30px,3.6vw,54px) !important;
  line-height:.95 !important;
}

.phase50-pills span,
.phase50-pills a,
.phase50-pills button{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:#121212 !important;
  border:2px solid rgba(211,18,42,.9) !important;
  box-shadow:0 5px 0 rgba(211,18,42,.65) !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}

.phase50-sponsor-types,
.phase50-sponsor-types h2,
.phase50-sponsor-types .section-lead{
  position:relative !important;
  z-index:2 !important;
}
.phase50-sponsor-types .phase50-pills{
  margin-top:24px !important;
  margin-bottom:10px !important;
  position:relative !important;
  z-index:3 !important;
}

.phase50-hero .ahl-btn,
.phase50-contact .ahl-btn{
  opacity:1 !important;
  visibility:visible !important;
}

@media (max-width:900px){
  .phase50-bizdev .phase50-hero,
  .phase50-singles .phase50-hero{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }
  .phase50-bizdev .phase50-card,
  .phase50-singles .phase50-card{
    margin-top:14px !important;
  }
}


/* Phase 51 Sponsorship Sales Kit */
.phase51-downloads,.phase51-form{border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(135deg,rgba(211,18,42,.14),rgba(255,255,255,.04));}
.phase51-page .ahl-sponsor-hero{min-height:54vh;}
.phase51-page .ahl-package-grid article,.phase51-downloads,.phase51-form{color:#f8f3ea!important;}
.phase51-page .ahl-package-grid article h3,.phase51-form h3{color:#fff!important;}
.phase51-page .ahl-package-grid article p,.phase51-form p{color:#f1e7d8!important;}
@media(max-width:720px){.phase51-downloads,.phase51-form{border-radius:18px;padding:24px 16px!important}.phase51-page .ahl-sponsor-hero{min-height:auto}}

/* Phase 51.2 Sponsor CRM Premium Form Polish */
.phase511-crm-section{
  max-width:1100px !important;
  margin:0 auto !important;
  padding:90px 24px !important;
  text-align:center !important;
  background:linear-gradient(180deg,#101010 0%,#070707 100%) !important;
}
.phase511-crm-section .section-label{
  display:inline-block !important;
  margin-bottom:20px !important;
  padding:10px 16px !important;
  background:#d3122a !important;
  color:#fff !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  transform:rotate(-1deg) !important;
}
.phase511-crm-section h2{
  color:#f2f0ec !important;
  text-align:center !important;
  margin:0 auto 18px !important;
  font-size:clamp(46px,7vw,88px) !important;
  line-height:.88 !important;
}
.phase511-crm-section .section-lead{
  color:#f2f0ec !important;
  text-align:center !important;
  max-width:780px !important;
  margin:0 auto 28px !important;
  font-size:18px !important;
  line-height:1.55 !important;
}
.phase511-crm-section form.ahl-sponsor-crm-form,
.ahl-sponsor-page form.ahl-sponsor-crm-form{
  display:block !important;
  width:100% !important;
  max-width:980px !important;
  margin:34px auto 0 !important;
  padding:34px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:12px 12px 0 rgba(211,18,42,.85) !important;
  text-align:left !important;
  box-sizing:border-box !important;
}
.phase511-crm-section .ahl-crm-form-grid,
.ahl-sponsor-page .ahl-crm-form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  width:100% !important;
  align-items:start !important;
}
.phase511-crm-section .ahl-sponsor-crm-form label,
.ahl-sponsor-page .ahl-sponsor-crm-form label{
  display:block !important;
  width:100% !important;
  color:#f2f0ec !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin:0 0 18px !important;
  padding:0 !important;
  box-sizing:border-box !important;
  float:none !important;
  clear:none !important;
}
.phase511-crm-section .ahl-sponsor-crm-form input,
.phase511-crm-section .ahl-sponsor-crm-form select,
.phase511-crm-section .ahl-sponsor-crm-form textarea,
.ahl-sponsor-page .ahl-sponsor-crm-form input,
.ahl-sponsor-page .ahl-sponsor-crm-form select,
.ahl-sponsor-page .ahl-sponsor-crm-form textarea{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-height:56px !important;
  margin:9px 0 0 !important;
  padding:15px 16px !important;
  border:3px solid #080808 !important;
  border-radius:0 !important;
  background:#f2f0ec !important;
  color:#080808 !important;
  box-shadow:6px 6px 0 #d3122a !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.3 !important;
  box-sizing:border-box !important;
  float:none !important;
  appearance:auto !important;
}
.phase511-crm-section .ahl-sponsor-crm-form textarea,
.ahl-sponsor-page .ahl-sponsor-crm-form textarea{
  min-height:130px !important;
  resize:vertical !important;
}
.phase511-crm-section .ahl-sponsor-crm-form button,
.ahl-sponsor-page .ahl-sponsor-crm-form button{
  display:block !important;
  width:100% !important;
  margin:12px 0 0 !important;
  min-height:62px !important;
  text-align:center !important;
  cursor:pointer !important;
}
.phase511-crm-section .button-row.centered{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
.phase511-crm-section .button-row .ahl-btn{white-space:normal !important;}
.ahl-crm-success{
  max-width:980px !important;
  margin:0 auto 18px !important;
  padding:18px 20px !important;
  background:#f2f0ec !important;
  color:#080808 !important;
  border-left:10px solid #d3122a !important;
  box-shadow:8px 8px 0 rgba(211,18,42,.75) !important;
  font-weight:900 !important;
  text-align:left !important;
}
@media(max-width:800px){
  .phase511-crm-section{padding:60px 18px !important;}
  .phase511-crm-section .ahl-crm-form-grid,
  .ahl-sponsor-page .ahl-crm-form-grid{grid-template-columns:1fr !important;gap:0 !important;}
  .phase511-crm-section form.ahl-sponsor-crm-form,
  .ahl-sponsor-page form.ahl-sponsor-crm-form{padding:22px !important;box-shadow:7px 7px 0 rgba(211,18,42,.85) !important;}
  .phase511-crm-section .button-row.centered{display:block !important;}
  .phase511-crm-section .button-row .ahl-btn{display:block !important;width:100% !important;margin:12px 0 !important;}
}

/* =========================================================
   Phase 52.0 — Artist & DJ Booking Portal
   ========================================================= */
.ahl-phase52-booking .ahl-section,
.phase52-hero.ahl-section,
.phase52-grid-section,
.phase52-process,
.phase52-form-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:78px 24px;
}
.phase52-hero{
  min-height:68vh;
  display:flex;
  align-items:center;
  background:radial-gradient(circle at 70% 20%, rgba(211,18,42,.32), transparent 38%), linear-gradient(135deg, rgba(0,0,0,.92), rgba(35,0,10,.72));
  border-bottom:2px solid #d3122a;
}
.phase52-hero-inner{max-width:880px;}
.phase52-hero h1,
.phase52-grid-section h2,
.phase52-process h2,
.phase52-form-wrap h2{
  font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  text-transform:uppercase;
  letter-spacing:-.04em;
  line-height:.92;
  color:#f5efe5;
  text-shadow:3px 3px 0 #111;
}
.phase52-hero h1{font-size:clamp(52px,8vw,118px);margin:18px 0;}
.phase52-grid-section h2,.phase52-process h2,.phase52-form-wrap h2{font-size:clamp(42px,6vw,82px);margin:16px 0 26px;}
.phase52-card-grid,.phase52-step-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.phase52-card-grid article,.phase52-step-grid div{
  background:#ded6ca;
  color:#090909;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:8px 8px 0 #d3122a;
  padding:24px;
  min-height:180px;
}
.phase52-card-grid h3,.phase52-step-grid h3{
  margin:0 0 10px;
  font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  text-transform:uppercase;
  font-size:28px;
  color:#090909;
}
.phase52-card-grid p,.phase52-step-grid p{color:#171717;font-weight:700;line-height:1.35;}
.phase52-step-grid span{display:inline-block;background:#d3122a;color:#fff;padding:7px 10px;margin-bottom:18px;font-weight:900;}
.ahl-artist-booking-form{
  margin:34px auto 0;
  max-width:980px;
  background:rgba(10,10,10,.82);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 0 0 1px rgba(211,18,42,.35), 12px 12px 0 rgba(211,18,42,.9);
  padding:30px;
}
.ahl-artist-booking-form .ahl-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.ahl-artist-booking-form label{
  display:block;
  color:#f5efe5;
  font-weight:900;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.04em;
}
.ahl-artist-booking-form input,
.ahl-artist-booking-form select,
.ahl-artist-booking-form textarea{
  width:100%;
  margin-top:8px;
  border:2px solid rgba(245,239,229,.9);
  background:#f5efe5 !important;
  color:#050505 !important;
  padding:15px 16px;
  min-height:54px;
  border-radius:0;
  font-size:16px;
  font-weight:800;
  box-shadow:5px 5px 0 rgba(211,18,42,.9);
}
.ahl-artist-booking-form textarea{min-height:120px;resize:vertical;}
.ahl-artist-booking-form .full{grid-column:1 / -1;}
.ahl-artist-booking-form button{
  margin-top:22px;
  width:100%;
  min-height:62px;
  font-size:16px;
}
.ahl-booking-success{
  max-width:980px;
  margin:0 auto 22px;
  background:#ded6ca;
  color:#070707;
  border-left:10px solid #d3122a;
  padding:20px 24px;
  font-weight:900;
  box-shadow:7px 7px 0 #d3122a;
}
@media (max-width:900px){
  .phase52-card-grid,.phase52-step-grid,.ahl-artist-booking-form .ahl-form-grid{grid-template-columns:1fr;}
  .ahl-artist-booking-form{padding:22px;box-shadow:6px 6px 0 #d3122a;}
}

/* Phase 52.3.1 Sponsor UI Hotfix - lock "What To Send Us" cards */
body.page-template-page-sponsors .phase523-info-grid,
body.page-id-sponsors .phase523-info-grid,
.phase523-info-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  max-width: 980px !important;
  margin: 28px auto 0 !important;
  padding: 0 18px !important;
}

body.page-template-page-sponsors .phase523-info-card,
body.page-id-sponsors .phase523-info-card,
.phase523-info-card {
  background: #161616 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-left: 5px solid #e1122f !important;
  box-shadow: 10px 10px 0 #b50920 !important;
  padding: 26px 24px !important;
  min-height: 150px !important;
  text-align: left !important;
  overflow: visible !important;
}

body.page-template-page-sponsors .phase523-info-card h3,
body.page-template-page-sponsors .phase523-info-card p,
body.page-template-page-sponsors .phase523-info-card span,
body.page-id-sponsors .phase523-info-card h3,
body.page-id-sponsors .phase523-info-card p,
body.page-id-sponsors .phase523-info-card span,
.phase523-info-card h3,
.phase523-info-card p,
.phase523-info-card span {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  background: transparent !important;
}

body.page-template-page-sponsors .phase523-info-card h3,
body.page-id-sponsors .phase523-info-card h3,
.phase523-info-card h3 {
  font-size: clamp(22px, 2vw, 32px) !important;
  line-height: .95 !important;
  margin: 8px 0 12px !important;
  letter-spacing: .02em !important;
}

body.page-template-page-sponsors .phase523-info-card p,
body.page-id-sponsors .phase523-info-card p,
.phase523-info-card p {
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #e9e2d8 !important;
  margin: 0 !important;
  font-weight: 700 !important;
}

body.page-template-page-sponsors .phase523-icon,
body.page-id-sponsors .phase523-icon,
.phase523-icon {
  display: inline-flex !important;
  width: 34px !important;
  height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #e1122f !important;
  color: #ffffff !important;
  font-size: 18px !important;
  margin-bottom: 8px !important;
}

@media (max-width: 900px) {
  body.page-template-page-sponsors .phase523-info-grid,
  body.page-id-sponsors .phase523-info-grid,
  .phase523-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.page-template-page-sponsors .phase523-info-grid,
  body.page-id-sponsors .phase523-info-grid,
  .phase523-info-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  body.page-template-page-sponsors .phase523-info-card,
  body.page-id-sponsors .phase523-info-card,
  .phase523-info-card {
    box-shadow: 6px 6px 0 #b50920 !important;
    padding: 22px 20px !important;
  }
}

/* Phase 59 Stable Experience Pages - scoped repair */
.ahl-experience-page,
.ahl-experience-page * { box-sizing: border-box; }
.ahl-experience-page { background:#07070a; color:#fff; }
.ahl-experience-page .phase59-hero { position:relative; overflow:hidden; }
.ahl-experience-page .phase59-hero:before {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.70), rgba(0,0,0,.42)), var(--ahl-experience-hero) center/cover no-repeat;
  opacity:.95; z-index:0;
}
.ahl-experience-page .phase59-hero > * { position:relative; z-index:1; }
.ahl-experience-page .ahl-sponsor-hero__copy h1,
.ahl-experience-page .ahl-sponsor-section h2,
.ahl-experience-page .phase59-hero-card h2 { color:#fff !important; }
.ahl-experience-page .ahl-hero-lead,
.ahl-experience-page .section-lead,
.ahl-experience-page p,
.ahl-experience-page li { color:rgba(255,255,255,.86) !important; }
.ahl-experience-page .ahl-event-facts span { color:#fff !important; background:rgba(255,255,255,.10) !important; border:1px solid rgba(255,255,255,.18) !important; }
.ahl-experience-page .phase523-info-card,
.ahl-experience-page .phase59-info-card,
.ahl-experience-page .phase59-faq-grid article,
.ahl-experience-page .phase59-cta-grid article,
.ahl-experience-page .phase59-hero-card {
  background:linear-gradient(180deg, #17171d, #0f0f14) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:0 20px 60px rgba(0,0,0,.28);
}
.ahl-experience-page .phase523-info-card h3,
.ahl-experience-page .phase59-info-card h3,
.ahl-experience-page .phase59-faq-grid h3,
.ahl-experience-page .phase59-cta-grid h3 { color:#fff !important; }
.ahl-experience-page .phase523-info-card p,
.ahl-experience-page .phase59-faq-grid p,
.ahl-experience-page .phase59-cta-grid p { color:rgba(255,255,255,.82) !important; }
.ahl-experience-page .phase523-icon { display:block; font-size:32px; margin-bottom:12px; }
.ahl-experience-page .section-label { color:#ff3b3b !important; letter-spacing:.16em; text-transform:uppercase; font-weight:800; }
.ahl-experience-page .ahl-btn { color:#fff !important; text-decoration:none !important; }
.ahl-experience-page .ahl-btn.red { background:#e21d2f !important; color:#fff !important; }
.ahl-experience-page .ahl-btn:not(.red) { border:1px solid rgba(255,255,255,.22) !important; background:rgba(255,255,255,.07) !important; }
.ahl-experience-page .ahl-package-grid,
.ahl-experience-page .ahl-tier-grid { gap:22px; }
.ahl-experience-page .phase59-about { max-width:1100px; }
@media (max-width: 900px) {
  .ahl-experience-page .ahl-sponsor-hero { grid-template-columns:1fr !important; padding:56px 20px !important; }
  .ahl-experience-page .ahl-package-grid,
  .ahl-experience-page .ahl-tier-grid { grid-template-columns:1fr !important; }
  .ahl-experience-page .button-row { flex-direction:column; align-items:stretch; }
  .ahl-experience-page .ahl-btn { width:100%; text-align:center; }
}


/* Phase 59.1 — Uploaded hero image lock: only swaps hero imagery, preserving Phase 59 layout and forms. */
.ahl-phase52-booking .phase52-hero{
  position:relative !important;
  overflow:hidden !important;
  background:
    linear-gradient(100deg, rgba(0,0,0,.94), rgba(0,0,0,.72), rgba(30,0,12,.45)),
    url('../img/uploaded-heroes/dj.jpg') center/cover no-repeat !important;
}
.ahl-phase52-booking .phase52-hero > *{position:relative;z-index:1;}
.phase50-singles .singles-hero{
  background:
    linear-gradient(120deg, rgba(0,0,0,.90), rgba(70,0,20,.55)),
    url('../img/uploaded-heroes/singles.jpg') center/cover no-repeat !important;
}

/* Phase 61 — CSS lock for venue rentals + corporate events cards */
body .phase51-page .ahl-package-grid article,
body .page-template-page-venue-rentals .ahl-package-grid article,
body .page-template-page-corporate-events .ahl-package-grid article,
body .ahl-sponsor-page.phase51-page .ahl-package-grid article {
  background: #111111 !important;
  color: #f7f3ec !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 8px 8px 0 rgba(211,18,42,.55) !important;
  border-radius: 0 !important;
}
body .phase51-page .ahl-package-grid article h3,
body .phase51-page .ahl-package-grid article p,
body .phase51-page .ahl-package-grid article span,
body .page-template-page-venue-rentals .ahl-package-grid article h3,
body .page-template-page-venue-rentals .ahl-package-grid article p,
body .page-template-page-corporate-events .ahl-package-grid article h3,
body .page-template-page-corporate-events .ahl-package-grid article p {
  color: #f7f3ec !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
body .phase51-page .ahl-package-grid article h3 {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}
body .phase51-page .ahl-package-grid article p {
  color: #d7d1c7 !important;
  font-weight: 700 !important;
}

/* Phase 61 — VIP form readability and success state */
body .ahl-lead-form {
  background: #101010 !important;
  color: #f7f3ec !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 10px 10px 0 rgba(211,18,42,.55) !important;
  padding: 28px !important;
}
body .ahl-lead-form label {
  color: #f7f3ec !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
}
body .ahl-lead-form input,
body .ahl-lead-form select,
body .ahl-lead-form textarea {
  background: #f7f3ec !important;
  color: #090909 !important;
  border: 2px solid rgba(255,255,255,.25) !important;
  min-height: 52px !important;
}
body .ahl-lead-form textarea { min-height: 130px !important; }
body .ahl-lead-form .form-note,
body .ahl-lead-form .form-note a { color: #f7f3ec !important; }
@media (max-width: 760px) {
  body .ahl-form-grid,
  body .ahl-crm-form-grid { grid-template-columns: 1fr !important; }
}
