/**
 * TEMA: Mormora Bay — v2
 * Attivazione: app_config → webapp_theme = 'mormora'
 * Caricato DOPO styles.css — solo override, nessuna logica.
 */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root {
    --primary: #c4924a;
    --primary-dark: #a87a3a;
    --primary-soft: rgba(196,146,74,0.12);
    --bg: #2a1f14;
    --text: #e8dcc8;
    --muted: #9c8b78;
    --shadow: 0 4px 16px rgba(0,0,0,0.25);
    --radius: 16px;
    --card-bg: #352a1f;
    --surface: #322518;
    --border: #4a3d2e;
    --border-light: #5a4a38;
    --input-bg: #2a1f14;
    --heading-color: #c4924a;
    --gradient-btn: linear-gradient(135deg, #d4a04a, #b8783c);
}

/* === BODY === */
body { background: var(--bg) !important; color: var(--text) !important; }
main { background: transparent !important; }
a { color: var(--primary); }
a:hover { color: #d4a04a; }
::selection { background: rgba(196,146,74,0.35); color: #fff; }

/* === FIX GLOBALE #1a1a2e (navy invisibile su scuro) → crema/oro === */
.sm-header__name,
.sm-accordion__label,
.sm-footer__text strong,
.cart-drawer__header h2,
.cart-line__name,
.cart-line__price,
.cart-drawer__totals span,
.cart-drawer__totals strong,
.form-field span,
.form-field select,
.payment-option__content,
.order-success__order-label,
.time-slot-btn,
.time-picker-selection {
    color: var(--text) !important;
}

/* Heading → oro + Playfair */
.sec-card h2,
.sec-legal .sec-card h2,
.sec-header__text h1,
.checkout-step h3,
.page-title h1,
.time-group--sera .time-group-header {
    color: var(--heading-color) !important;
    font-family: 'Playfair Display', serif !important;
    font-style: italic !important;
}

/* Cart float + toast → gradiente oro */
.cart-float,
.cart-empty-toast {
    background: var(--gradient-btn) !important;
    color: #fff !important;
}
.cart-float__badge { background: #fff !important; color: var(--primary-dark) !important; }
.cart-drawer__totals { border-top-color: var(--border) !important; }
.checkout-steps li { color: var(--muted) !important; background: transparent !important; }
.checkout-steps li.active { color: var(--primary) !important; background: rgba(196,146,74,0.1) !important; }
.sm-cat--active { color: var(--primary) !important; background: var(--card-bg) !important; border-color: var(--primary) !important; }

/* Flatpickr */
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year { color: var(--text) !important; }
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month { color: var(--primary) !important; fill: var(--primary) !important; }
span.flatpickr-weekday { color: var(--muted) !important; background: transparent !important; }

/* === TOPBAR === */
.topbar { background: #1e160e !important; border-bottom: 1px solid var(--border) !important; box-shadow: 0 2px 12px rgba(0,0,0,0.3) !important; }
.hamburger span { background: var(--text) !important; }

/* === CATEGORY TABS (barra macro in alto — era bianca!) === */
.cat-tabs {
    background: var(--surface) !important;
    border-bottom: 1px solid var(--border) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}
.cat-tab { color: var(--muted) !important; border-color: transparent !important; }
.cat-tab:hover { background: var(--card-bg) !important; color: var(--text) !important; }
.cat-tab--active { background: rgba(196,146,74,0.12) !important; color: var(--primary) !important; border-color: var(--primary) !important; }
.cat-tab__name { color: inherit !important; }
.cat-back { color: var(--primary) !important; }

/* === SIDE MENU === */
.sm-inner { background: #1e160e !important; border-right: 1px solid var(--border) !important; }
.sm-header { background: #1a1309 !important; border-bottom: 1px solid var(--border) !important; }
.sm-close { color: var(--muted) !important; }
.sm-close:hover { background: var(--surface) !important; color: var(--text) !important; }
.sm-item { color: var(--text) !important; }
.sm-item:hover { background: var(--surface) !important; }
.sm-item__icon { background: var(--surface) !important; color: var(--primary) !important; }
.sm-item--secondary .sm-item__icon { background: var(--surface) !important; }
.sm-item__label { color: var(--text) !important; }
.sm-item__chevron { color: var(--muted) !important; }
.sm-item__badge { background: var(--primary) !important; color: #1a1309 !important; }
.sm-separator { background: var(--border) !important; }
.sm-accordion { background: var(--surface) !important; border: 1px solid var(--border) !important; }
.sm-accordion__head { color: var(--text) !important; }
.sm-cat { color: var(--muted) !important; }
.sm-cat:hover { background: var(--card-bg) !important; color: var(--text) !important; }
.sm-cat__icon { background: var(--surface) !important; }
.sm-cat__icon--active { background: rgba(196,146,74,0.15) !important; }
.sm-cat__count { background: var(--card-bg) !important; color: var(--muted) !important; }
.sm-body { background: transparent !important; }
.sm-footer__cta { background: rgba(196,146,74,0.12) !important; border-color: rgba(196,146,74,0.25) !important; color: var(--primary) !important; }
.sm-footer__text small { color: var(--muted) !important; }

/* === HOMEPAGE === */
.hero-banner { background: var(--gradient-btn) !important; color: #fff !important; }
.hero-banner__title { color: #fff !important; }
.hero-banner__badge { background: rgba(0,0,0,0.2) !important; color: #fff !important; }
.hero-banner__btn { background: rgba(255,255,255,0.15) !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.3) !important; }
.hero-banner__btn:hover { background: rgba(255,255,255,0.25) !important; }
.hero-banner__subtitle { color: rgba(255,255,255,0.85) !important; }
.hero-quick__card { background: var(--card-bg) !important; border: 1px solid var(--border) !important; }
.hero-quick__text strong { color: var(--text) !important; }
.hero-quick__text span { color: var(--muted) !important; }
.hero-tag { background: var(--surface) !important; color: var(--muted) !important; }

/* === PRODUCT CARDS (no bordo grigio, no sfondo bianco fuori) === */
.product-card {
    background: var(--card-bg) !important;
    border: 1px solid var(--border) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2) !important;
}
.product-card:hover { border-color: var(--border-light) !important; box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important; }
.product-card__image-wrap {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
}
.product-card__image-placeholder { background: var(--surface) !important; color: var(--muted) !important; }
.product-card__title,
.product-card__name { color: var(--text) !important; }
.product-card__desc { color: var(--muted) !important; }
.product-card__price { color: var(--primary) !important; }
.product-card__stock { color: var(--muted) !important; }
.product-card__details-btn { color: var(--primary) !important; background: transparent !important; }
.product-card__details-btn:hover { background: rgba(196,146,74,0.1) !important; }
.add-to-cart { background: var(--gradient-btn) !important; color: #fff !important; border: none !important; }
.add-to-cart:hover { box-shadow: 0 4px 12px rgba(196,146,74,0.3) !important; }
.qty-input { background: var(--input-bg) !important; color: var(--text) !important; border-color: var(--border) !important; }
.chip { background: var(--surface) !important; color: var(--muted) !important; border: 1px solid var(--border) !important; }

/* === SEC-CARD === */
.sec-card { background: var(--card-bg) !important; border: 1px solid var(--border) !important; box-shadow: var(--shadow) !important; }
.sec-card p { color: var(--text) !important; }
.sec-card hr { border-color: var(--border) !important; background: var(--border) !important; }

/* === SEC-HEADER === */
.sec-header__icon { border: 1px solid var(--border) !important; }
.sec-header__icon--yellow  { background: rgba(196,146,74,0.15) !important; }
.sec-header__icon--green   { background: rgba(76,175,80,0.12) !important; }
.sec-header__icon--blue    { background: rgba(66,165,245,0.12) !important; }
.sec-header__icon--red     { background: rgba(239,83,80,0.12) !important; }
.sec-header__icon--purple  { background: rgba(186,104,200,0.12) !important; }
.sec-header__subtitle { color: var(--muted) !important; }

/* === FORM === */
.form-field input, .form-field textarea, .form-field select, .sec-form__input {
    background: var(--input-bg) !important; color: var(--text) !important; border: 1px solid var(--border) !important;
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus, .sec-form__input:focus {
    background: var(--card-bg) !important; border-color: var(--primary) !important; box-shadow: 0 0 0 3px rgba(196,146,74,0.15) !important; color: var(--text) !important;
}
.form-field input::placeholder, .form-field textarea::placeholder, .sec-form__input::placeholder {
    color: var(--muted) !important; opacity: 0.7;
}
.form-field label, .sec-form__label { color: var(--text) !important; }
.form-field select:disabled { background: var(--surface) !important; color: var(--muted) !important; }
.sec-form__submit { background: var(--gradient-btn) !important; color: #fff !important; border: none !important; }
.sec-form__submit:hover { box-shadow: 0 4px 16px rgba(196,146,74,0.35) !important; }

/* === CART DRAWER === */
.cart-drawer { background: var(--bg) !important; }
.cart-drawer__header { background: #1e160e !important; border-bottom: 1px solid var(--border) !important; }
.cart-drawer__close { color: var(--muted) !important; }
.cart-drawer__close:hover { color: var(--text) !important; background: var(--surface) !important; }
.cart-line { border-bottom-color: var(--border) !important; }
.cart-line__remove { background: var(--surface) !important; color: var(--muted) !important; }
.cart-qty-btn { background: var(--surface) !important; color: var(--text) !important; border-color: var(--border) !important; }
.cart-bar__button { background: var(--gradient-btn) !important; color: #fff !important; }

/* === CHECKOUT === */
.checkout-error { background: rgba(239,83,80,0.1) !important; border-color: rgba(239,83,80,0.3) !important; }
.checkout-error__title { color: #ef5350 !important; }
.checkout-error__text { color: var(--text) !important; }
.secondary-btn { background: var(--surface) !important; color: var(--text) !important; border: 1px solid var(--border) !important; }
.secondary-btn:hover { background: var(--card-bg) !important; }
.payment-option { background: var(--card-bg) !important; border-color: var(--border) !important; }
.payment-option:hover { border-color: var(--border-light) !important; }
.payment-option--selected { border-color: var(--primary) !important; background: rgba(196,146,74,0.08) !important; }

/* === TIME PICKER === */
.time-picker-container { background: var(--card-bg) !important; border-color: var(--border) !important; }
.time-slot-btn { background: var(--surface) !important; border: 1px solid var(--border) !important; }
.time-slot-btn:hover { border-color: var(--primary) !important; }
.time-slot-btn.active, .time-slot-btn--active { background: var(--gradient-btn) !important; color: #fff !important; border-color: var(--primary) !important; }
.time-group { border-color: var(--border) !important; }
.time-group-header { color: var(--muted) !important; }
.time-group--mattina .time-group-header { background: rgba(255,152,0,0.08) !important; }
.time-group--sera .time-group-header { background: rgba(66,165,245,0.08) !important; }
.flatpickr-calendar { background: var(--card-bg) !important; border-color: var(--border) !important; box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important; }
.flatpickr-months .flatpickr-month { background: var(--card-bg) !important; color: var(--text) !important; }
.flatpickr-weekdays { background: var(--surface) !important; }
.flatpickr-day { color: var(--text) !important; }
.flatpickr-day:hover { background: var(--surface) !important; border-color: var(--border) !important; }
.flatpickr-day.selected { background: var(--primary) !important; border-color: var(--primary) !important; color: #1a1309 !important; }
.flatpickr-day.today { border-color: var(--primary) !important; }

/* === ORDER SUCCESS === */
.order-success__tickets-cta { background: var(--card-bg) !important; border-color: var(--border) !important; }
.order-success__tickets-cta p { color: var(--text) !important; }
.order-success__tickets-btn { background: var(--gradient-btn) !important; color: #fff !important; }
.order-success__table th { background: var(--surface) !important; color: var(--muted) !important; border-color: var(--border) !important; }
.order-success__table td { color: var(--text) !important; border-color: var(--border) !important; }
.order-success__mail-status { background: var(--surface) !important; color: var(--muted) !important; }

/* === TICKETS (sfondo giallo mantenuto — testo SCURO per contrasto) === */
.ticket-card {
    background: #ffd76a !important;
    border: none !important;
    color: #1a1309 !important;
}
.ticket-card__title {
    color: #1a1309 !important;
}
.ticket-card__body {
    color: #1a1309 !important;
}
.ticket-card__remaining-main {
    color: #991b1b !important; /* rosso scuro, leggibile su giallo */
}
.ticket-card__remaining-sub {
    color: #44370a !important;
}
.ticket-card__purchased {
    color: #1a1309 !important;
}
/* Fori laterali: devono essere del colore dello sfondo pagina */
.ticket-card::before,
.ticket-card::after {
    background: var(--bg) !important;
}
/* QR: sfondo bianco per leggibilità scanner */
.ticket-card__qr-img {
    background: #fff !important;
    border-radius: 14px !important;
    padding: 6px !important;
}
/* Stub bordo tratteggiato */
.ticket-card__stub {
    border-right-color: rgba(0,0,0,0.15) !important;
}
/* Ticket esaurito: grigio scuro */
.ticket-card--used {
    background: #5a4a38 !important;
    color: var(--muted) !important;
}
.ticket-card--used .ticket-card__title { color: var(--muted) !important; }
.ticket-card--used .ticket-card__remaining-main { color: #9c8b78 !important; }
.ticket-card--used .ticket-card__remaining-sub { color: #9c8b78 !important; }
.ticket-card--used .ticket-card__stub { border-right-color: rgba(255,255,255,0.1) !important; }
.ticket-card--used .ticket-card__used-inner { background: var(--surface) !important; border-color: var(--border) !important; }
.ticket-card--used .ticket-card__used-icon { color: #ef5350 !important; }
.ticket-card--used .ticket-card__used-text { color: #ef5350 !important; }

/* Pagina ticket: titolo e summary */
.tickets-hero { color: var(--text) !important; }
.tickets-title { color: var(--heading-color) !important; font-family: 'Playfair Display', serif !important; font-style: italic !important; }
.tickets-summary-card { background: var(--card-bg) !important; border: 1px solid var(--border) !important; color: var(--text) !important; }
.tickets-summary-card p { color: var(--text) !important; }
.ticket-card__btn { background: var(--gradient-btn) !important; color: #fff !important; }

/* Validità e info sotto il ticket */
.ticket-card__footer,
.ticket-card__validity {
    color: #44370a !important;
}
.ticket-card__footer strong,
.ticket-card__validity strong {
    color: #1a1309 !important;
}
.ticket-card__usage {
    color: #6b5d14 !important;
}

/* === BANNER "RIPRENDI CARRELLO" + "ULTIMO ORDINE" === */
.resume-cart-banner {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
}
.resume-cart-banner__text {
    color: var(--text) !important;
}
.resume-cart-banner__btn {
    background: var(--gradient-btn) !important;
    color: #fff !important;
}
.banner-dismiss {
    color: var(--muted) !important;
    background: transparent !important;
    border: none !important;
    font-size: 20px !important;
}
.banner-dismiss:hover {
    color: var(--text) !important;
}
.banner-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.last-order-banner {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
}

/* === RECOVER TICKETS — override stili INLINE del PHP === */
.recover-tabs { background: var(--surface) !important; border: 2px solid var(--border) !important; }
.recover-tab { color: var(--muted) !important; background: transparent !important; }
.recover-tab:not(.active):hover { background: var(--card-bg) !important; color: var(--text) !important; }
.recover-tab.active { background: var(--gradient-btn) !important; color: #fff !important; }
.phone-display { background: rgba(196,146,74,0.1) !important; border-color: rgba(196,146,74,0.3) !important; color: var(--primary) !important; }
.otp-timer { color: var(--muted) !important; }
.change-number { color: var(--primary) !important; }
.sec-form__captcha span { color: var(--text) !important; }

/* === MODAL === */
.desc-modal__dialog { background: var(--card-bg) !important; border: 1px solid var(--border) !important; color: var(--text) !important; }

/* === PWA BANNER === */
.pwa-banner { background: var(--card-bg) !important; border-color: var(--border) !important; }
.pwa-banner__btn--ghost { color: var(--primary) !important; border-color: var(--primary) !important; }

/* === STATUS MESSAGES === */
.sec-form-status--success { background: rgba(76,175,80,0.12) !important; color: #81c784 !important; border-color: rgba(76,175,80,0.3) !important; }
.sec-form-status--error { background: rgba(239,83,80,0.12) !important; color: #ef9a9a !important; border-color: rgba(239,83,80,0.3) !important; }
.sec-form-status--info { background: rgba(196,146,74,0.12) !important; color: var(--primary) !important; border-color: rgba(196,146,74,0.3) !important; }

/* === LEGAL / INFO === */
.sec-legal { color: var(--text) !important; }
.sec-legal h1, .sec-legal h2, .sec-legal h3 { color: var(--heading-color) !important; font-family: 'Playfair Display', serif !important; font-style: italic !important; }
.sec-contact-row__icon { background: rgba(196,146,74,0.12) !important; color: var(--primary) !important; }
.sec-social a { background: var(--surface) !important; color: var(--primary) !important; }
.sec-social a:hover { background: var(--card-bg) !important; }
.legend-item { color: var(--text) !important; }

/* === FOOTER === */
.footer, footer { background: #1e160e !important; color: var(--muted) !important; border-top: 1px solid var(--border) !important; }
.footer a, footer a { color: var(--primary) !important; }

/* === ALLERGEN LIST === */
.sec-allergen {
    color: var(--text) !important;
    border-bottom-color: var(--border) !important;
}
.sec-allergen:last-child { border-bottom: none !important; }
.sec-allergen__icon {
    background: rgba(196,146,74,0.12) !important;
}

/* === CONTACT ROWS === */
.sec-contact-row {
    color: var(--text) !important;
    border-bottom-color: var(--border) !important;
}
.sec-contact-row:last-child { border-bottom: none !important; }
.sec-contact-row a {
    color: var(--text) !important;
}
.sec-contact-row a:hover {
    color: var(--primary) !important;
}
.sec-contact-row__icon {
    background: rgba(196,146,74,0.12) !important;
    color: var(--primary) !important;
}

/* === SOCIAL ICONS === */
.sec-social a {
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
}
.sec-social a:hover {
    background: var(--card-bg) !important;
    color: var(--primary) !important;
    border-color: var(--primary) !important;
}

/* === SEC-CARD testi interni completi === */
.sec-card p { color: var(--text) !important; }
.sec-card h3 { color: var(--muted) !important; }
.sec-card li { color: var(--text) !important; }
.sec-card strong { color: var(--text) !important; }
.sec-card a { color: var(--primary) !important; }
.sec-back-link { color: var(--muted) !important; }
.sec-back-link:hover { color: var(--primary) !important; }
.sec-header__text p { color: var(--muted) !important; }

/* === CMS CONTENT: box avviso con sfondo chiaro (generati da CMS) === */
.sec-card div[style*="background"],
.sec-card .alert,
.sec-card .notice,
.sec-card .info-box {
    background: rgba(196,146,74,0.1) !important;
    border: 1px solid rgba(196,146,74,0.25) !important;
    border-left: 4px solid var(--primary) !important;
    color: var(--text) !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
}

/* === SCROLLBAR === */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--muted); }