/* Animal King — pannelli pagamento e finestre modali coerenti con il tema attivo.
   Questo file viene caricato per ultimo e neutralizza i vecchi override scuri. */

html[data-ak-theme] {
  --ak-modal-surface: color-mix(in srgb, var(--ak-surface-strong, #fff) 94%, transparent);
  --ak-modal-soft: color-mix(in srgb, var(--ak-primary, #17633f) 9%, var(--ak-surface-strong, #fff));
  --ak-modal-border: color-mix(in srgb, var(--ak-primary, #17633f) 34%, transparent);
  --ak-modal-shadow: 0 22px 55px color-mix(in srgb, var(--ak-primary-dark, #0e442b) 23%, transparent);
  --ak-theme-panel-bg:
    linear-gradient(135deg, color-mix(in srgb, var(--ak-surface-strong, #fff) 94%, transparent), color-mix(in srgb, var(--ak-surface, #fff) 88%, transparent)),
    var(--ak-bg-image);
}

/* ===================== PAGAMENTO ===================== */
html[data-ak-theme] #ak-payment-section.payment-panel.ak-checkout-card,
html[data-ak-theme] .payment-panel.ak-checkout-card {
  position: relative !important;
  isolation: isolate !important;
  padding: 22px !important;
  border: 1px solid var(--ak-modal-border) !important;
  border-radius: 8px !important;
  background: var(--ak-theme-panel-bg) !important;
  background-size: cover !important;
  background-position: center !important;
  color: var(--ak-text) !important;
  box-shadow: var(--ak-modal-shadow) !important;
  overflow: hidden !important;
}
html[data-ak-theme] #ak-payment-section.payment-panel.ak-checkout-card::before,
html[data-ak-theme] .payment-panel.ak-checkout-card::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ak-surface-strong,#fff) 95%, transparent), color-mix(in srgb, var(--ak-surface,#fff) 89%, transparent)) !important;
  pointer-events: none !important;
}
html[data-ak-theme] #ak-payment-section.payment-panel.ak-checkout-card::after,
html[data-ak-theme] .payment-panel.ak-checkout-card::after { display:none !important; content:none !important; }
html[data-ak-theme] #ak-payment-section :is(.ak-payment-top,.ak-payment-copy,.ak-checkout-heading,.ak-wallet-grid,.ak-wallet-option) {
  color: var(--ak-text) !important;
}
html[data-ak-theme] #ak-payment-section .ak-payment-amount,
html[data-ak-theme] #ak-payment-section .ak-payment-amount * { color: var(--ak-text) !important; }
html[data-ak-theme] #ak-payment-section .ak-payment-amount strong {
  display:inline-block !important;
  padding:4px 10px !important;
  border:1px solid color-mix(in srgb,var(--ak-accent) 52%,transparent) !important;
  border-radius:999px !important;
  background:color-mix(in srgb,var(--ak-accent) 16%,var(--ak-surface-strong)) !important;
  color:var(--ak-primary-dark) !important;
}
html[data-ak-theme] #ak-payment-section .ak-payment-warning {
  border:1px solid color-mix(in srgb,var(--ak-secondary) 38%,transparent) !important;
  border-radius:6px !important;
  background:color-mix(in srgb,var(--ak-secondary) 10%,var(--ak-surface-strong)) !important;
  color:color-mix(in srgb,var(--ak-secondary) 78%,#1b1b1b) !important;
}
html[data-ak-theme] #ak-payment-section .ak-payment-warning * { color:inherit !important; }
html[data-ak-theme] #ak-payment-section .ak-checkout-box {
  padding:18px !important;
  border:1px solid var(--ak-modal-border) !important;
  border-radius:7px !important;
  background:var(--ak-modal-surface) !important;
  color:var(--ak-text) !important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--ak-primary-dark) 12%,transparent) !important;
}
html[data-ak-theme] #ak-payment-section :is(h2,h3,h4,label,strong,.ak-wallet-label,.ak-card-tombola-header strong) { color:var(--ak-text) !important; }
html[data-ak-theme] #ak-payment-section :is(p,small,.ak-wallet-note,.ak-card-fields-note,.ak-checkout-heading p,.ak-security-description) { color:var(--ak-muted) !important; }
html[data-ak-theme] #ak-payment-section :is(.ak-security-description,.ak-wallet-note,.ak-card-fields-panel,.ak-card-secure-mini) {
  border:1px solid var(--ak-modal-border) !important;
  border-radius:6px !important;
  background:var(--ak-modal-soft) !important;
  color:var(--ak-text) !important;
}
html[data-ak-theme] #ak-payment-section :is(.ak-card-field,.ak-card-name-input,input,select) {
  background:var(--ak-surface-strong,#fff) !important;
  color:var(--ak-text) !important;
  border:1px solid var(--ak-modal-border) !important;
  border-radius:5px !important;
}
html[data-ak-theme] #ak-payment-section :is(.ak-card-inline-button,.ak-card-pay-button,.ak-legacy-paypal-button) {
  border-radius:5px !important;
  background:linear-gradient(180deg,var(--ak-primary),var(--ak-primary-dark)) !important;
  border:1px solid color-mix(in srgb,var(--ak-accent) 48%,transparent) !important;
  color:var(--ak-button-text,#fff) !important;
  transform:none !important; translate:none !important;
}
html[data-ak-theme] #ak-payment-section :is(.ak-card-inline-button,.ak-card-pay-button,.ak-legacy-paypal-button):is(:hover,:focus,:active) {
  transform:none !important; translate:none !important; filter:brightness(1.06) !important;
}
html[data-ak-theme] .ak-mobile-pay-button,
html[data-ak-theme] .ak-mobile-pay-button:is(:hover,:focus,:focus-visible,:active) {
  transform:translate3d(0,0,0) !important; translate:none !important;
}

/* ===================== CONTENITORE MODAL ===================== */
html[data-ak-theme] .ak-action-modal-overlay {
  background:color-mix(in srgb,var(--ak-primary-dark) 42%,transparent) !important;
  backdrop-filter:blur(6px) !important;
}
html[data-ak-theme] .ak-action-modal-box {
  border:1px solid var(--ak-modal-border) !important;
  border-radius:8px !important;
  background:var(--ak-surface-strong) !important;
  color:var(--ak-text) !important;
  box-shadow:0 30px 85px color-mix(in srgb,var(--ak-primary-dark) 35%,transparent) !important;
}
html[data-ak-theme] .ak-action-modal-head {
  min-height:58px !important;
  padding:10px 16px !important;
  background:linear-gradient(110deg,var(--ak-primary-dark),var(--ak-primary),var(--ak-secondary)) !important;
  border-bottom:3px solid var(--ak-accent) !important;
}
html[data-ak-theme] .ak-action-modal-title { color:var(--ak-header-text,#fff) !important; }
html[data-ak-theme] .ak-action-modal-close {
  width:42px !important; height:42px !important;
  border-radius:5px !important;
  background:color-mix(in srgb,var(--ak-surface-strong) 18%,transparent) !important;
  border:1px solid color-mix(in srgb,#fff 42%,transparent) !important;
  color:#fff !important;
  transform:none !important;
}
html[data-ak-theme] .ak-action-modal-close:hover { background:var(--ak-secondary) !important; transform:none !important; }
html[data-ak-theme] :is(.ak-action-modal-body,.ak-action-modal-content,.ak-password-modal-panel) {
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--ak-surface-strong) 92%,transparent),color-mix(in srgb,var(--ak-surface) 86%,transparent)),
    var(--ak-bg-image) !important;
  background-size:cover !important;
  background-position:center !important;
  color:var(--ak-text) !important;
}
html[data-ak-theme] .ak-action-modal-frame { background:var(--ak-surface-strong) !important; }

/* contenuto AJAX dei modal */
html[data-ak-theme] .ak-action-modal-content :is(.page-shell,.tombola-card,.booking-card,.content,.form-section,section,.hero,.prize-card,.readonly-box,form) { border-radius:6px !important; }
html[data-ak-theme] .ak-action-modal-content :is(.tombola-card,.booking-card,.content,.form-section,section,form):not(.prize-card) {
  background:var(--ak-modal-surface) !important;
  border:1px solid var(--ak-modal-border) !important;
  color:var(--ak-text) !important;
  box-shadow:none !important;
}
html[data-ak-theme] .ak-action-modal-content .hero {
  background:linear-gradient(110deg,var(--ak-primary-dark),var(--ak-primary),var(--ak-secondary)) !important;
  border:1px solid color-mix(in srgb,var(--ak-accent) 45%,transparent) !important;
  color:#fff !important;
}
html[data-ak-theme] .ak-action-modal-content .hero :is(h1,h2,h3,h4,p,span,strong,.hero-title,.hero-subtitle,.eyebrow) { color:#fff !important; }
html[data-ak-theme] .ak-action-modal-content :is(h1,h2,h3,h4,h5,.section-heading,.numbers-header h2,.prize-rank,.field-label,label,strong) { color:var(--ak-text) !important; text-shadow:none !important; }
html[data-ak-theme] .ak-action-modal-content :is(p,.prize-name,small) { color:var(--ak-muted) !important; }
html[data-ak-theme] .ak-action-modal-content .prize-card {
  background:var(--ak-modal-surface) !important;
  border:1px solid var(--ak-modal-border) !important;
  color:var(--ak-text) !important;
}
html[data-ak-theme] .ak-action-modal-content .prize-image-wrap { background:var(--ak-modal-soft) !important; }
html[data-ak-theme] .ak-action-modal-content :is(.empty-state,.contact-lookup,.alert,.readonly-box) {
  background:var(--ak-modal-soft) !important;
  color:var(--ak-text) !important;
  border:1px solid var(--ak-modal-border) !important;
  border-radius:5px !important;
}
html[data-ak-theme] .ak-action-modal-content :is(input,select,textarea,.form-control,.form-select) {
  background:var(--ak-surface-strong) !important;
  color:var(--ak-text) !important;
  border:1px solid var(--ak-modal-border) !important;
  border-radius:5px !important;
}
html[data-ak-theme] .ak-action-modal-content :is(.btn,.btn-ak,button,input[type=submit]) {
  border-radius:5px !important; transform:none !important; translate:none !important;
}
html[data-ak-theme] .ak-action-modal-content :is(.btn-primary,.btn-ak,input[type=submit]) {
  background:linear-gradient(180deg,var(--ak-primary),var(--ak-primary-dark)) !important;
  color:#fff !important;
  border-color:color-mix(in srgb,var(--ak-accent) 45%,transparent) !important;
}

/* password inline */
html[data-ak-theme] .ak-password-card {
  max-width:650px !important;
  border-radius:7px !important;
  background:var(--ak-modal-surface) !important;
  border:1px solid var(--ak-modal-border) !important;
  color:var(--ak-text) !important;
  box-shadow:var(--ak-modal-shadow) !important;
}
html[data-ak-theme] .ak-password-card :is(h3,p,label,span) { color:inherit !important; }
html[data-ak-theme] .ak-password-input-wrap,
html[data-ak-theme] .ak-password-input-wrap input,
html[data-ak-theme] .ak-password-toggle,
html[data-ak-theme] .ak-password-actions .btn { border-radius:5px !important; transform:none !important; }
html[data-ak-theme] .ak-password-actions .btn-primary { background:linear-gradient(180deg,var(--ak-primary),var(--ak-primary-dark)) !important; color:#fff !important; }
html[data-ak-theme] .ak-password-actions .btn-secondary { background:var(--ak-modal-soft) !important; color:var(--ak-text) !important; border-color:var(--ak-modal-border) !important; }

/* ===================== PAGINE CARICATE IN IFRAME ===================== */
body.ak-modal-page, body.ak-modal-mode, body.ak-embedded-modal {
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--ak-surface-strong,#fff) 92%,transparent),color-mix(in srgb,var(--ak-surface,#fff) 86%,transparent)),
    var(--ak-bg-image) !important;
  background-size:cover !important;
  background-position:center !important;
  color:var(--ak-text) !important;
}
body.ak-modal-page :is(.booking-card,.form-section,form,.readonly-box,.content,.tombola-card,.prize-card),
body.ak-modal-mode :is(.password-card,.card-body-custom,.password-form) {
  background:var(--ak-modal-surface,var(--ak-surface-strong,#fff)) !important;
  color:var(--ak-text) !important;
  border:1px solid var(--ak-modal-border,var(--ak-border)) !important;
  border-radius:6px !important;
  box-shadow:none !important;
}
body.ak-modal-page .hero, body.ak-modal-mode .card-header-custom {
  background:linear-gradient(110deg,var(--ak-primary-dark),var(--ak-primary),var(--ak-secondary)) !important;
  color:#fff !important;
  border-radius:6px 6px 0 0 !important;
}
body.ak-modal-page .hero :is(h1,h2,h3,p,span,strong), body.ak-modal-mode .card-header-custom :is(h1,h2,h3,p,span,strong) { color:#fff !important; }
body.ak-modal-page :is(h1,h2,h3,label,.field-label,.readonly-box span,strong,.prize-rank), body.ak-modal-mode :is(h1,h2,h3,label,strong) { color:var(--ak-text) !important; }
body.ak-modal-page :is(p,.hero-subtitle,small,.prize-name), body.ak-modal-mode :is(p,.subtitle,small) { color:var(--ak-muted) !important; }
body.ak-modal-page :is(input,select,textarea), body.ak-modal-mode :is(input,select,textarea) {
  background:var(--ak-surface-strong,#fff) !important;
  color:var(--ak-text) !important;
  border:1px solid var(--ak-modal-border,var(--ak-border)) !important;
  border-radius:5px !important;
}
body.ak-modal-page :is(.btn,.btn-ak,button,input[type=submit]), body.ak-modal-mode :is(.btn,button,input[type=submit]) { border-radius:5px !important; transform:none !important; }

@media(max-width:700px){
  html[data-ak-theme] #ak-payment-section.payment-panel.ak-checkout-card{padding:14px !important;border-radius:6px !important}
  html[data-ak-theme] .ak-action-modal-overlay{padding:6px !important}
  html[data-ak-theme] .ak-action-modal-box{width:calc(100vw - 12px) !important;height:calc(100vh - 12px) !important;border-radius:6px !important}
  html[data-ak-theme] .ak-action-modal-head{padding:8px 10px !important}
}

/* ===================== V7: contrasto nota carta + modal mobile safe-area ===================== */
html[data-ak-theme] #ak-payment-section .ak-card-fields-note,
html[data-ak-theme] #ak-payment-section #ak-card-fields-note {
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--ak-accent,#d6a526) 14%,var(--ak-surface-strong,#fff)),
    color-mix(in srgb,var(--ak-primary,#17633f) 8%,var(--ak-surface-strong,#fff))) !important;
  color:var(--ak-text,#132018) !important;
  border:1px solid color-mix(in srgb,var(--ak-primary,#17633f) 32%,transparent) !important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--ak-primary-dark,#0e442b) 10%,transparent) !important;
  opacity:1 !important;
}
html[data-ak-theme] #ak-payment-section .ak-card-fields-note strong,
html[data-ak-theme] #ak-payment-section #ak-card-fields-note strong {
  color:var(--ak-primary-dark,var(--ak-text,#132018)) !important;
  opacity:1 !important;
}

@media (max-width:700px){
  html[data-ak-theme] .ak-action-modal-overlay{
    align-items:flex-start !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    padding-top:max(12px,env(safe-area-inset-top)) !important;
    padding-right:max(6px,env(safe-area-inset-right)) !important;
    padding-bottom:max(8px,env(safe-area-inset-bottom)) !important;
    padding-left:max(6px,env(safe-area-inset-left)) !important;
    overflow:hidden !important;
  }
  html[data-ak-theme] .ak-action-modal-box{
    width:calc(100vw - max(12px, env(safe-area-inset-left) + env(safe-area-inset-right))) !important;
    height:calc(100dvh - max(20px, env(safe-area-inset-top) + env(safe-area-inset-bottom) + 12px)) !important;
    max-height:calc(100dvh - max(20px, env(safe-area-inset-top) + env(safe-area-inset-bottom) + 12px)) !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  html[data-ak-theme] .ak-action-modal-head{
    position:relative !important;
    top:0 !important;
    z-index:30 !important;
    flex:0 0 auto !important;
    min-height:56px !important;
    padding:8px 10px !important;
    box-sizing:border-box !important;
  }
  html[data-ak-theme] .ak-action-modal-title{
    min-width:0 !important;
    line-height:1.2 !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  html[data-ak-theme] .ak-action-modal-close{
    flex:0 0 42px !important;
  }
  html[data-ak-theme] :is(.ak-action-modal-body,.ak-action-modal-content){
    min-height:0 !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
  html[data-ak-theme] .ak-action-modal-frame{
    min-height:0 !important;
  }
}

@supports not (height:100dvh){
  @media (max-width:700px){
    html[data-ak-theme] .ak-action-modal-box{
      height:calc(100vh - 24px) !important;
      max-height:calc(100vh - 24px) !important;
    }
  }
}
