/*
Theme Name: Tam Tam Custom
Theme URI: https://example.com
Author: Alessio Bellucci
Author URI: https://example.com
Description: Tema custom dark, moderno, con supporto WooCommerce.
Version: 1.0.0
Text Domain: tamtam
*/

/* ============================================================
   GLOBAL DARK PREMIUM UI – BASE THEME + WOO
============================================================ */
/* =========================================================
   WPFORMS – STILE CUSTOM (DARK THEME)
   ========================================================= */
:root {
    --bg: #000000;
    --bg-elev: #0b0b0f;
    --bg-card: #111116;

    --text: #ffffff;
    --text-soft: #cfcfd6;
    --text-dim: #8b8b98;

    --primary: #3b2cff;
    --primary-soft: #5c4bff;
    --primary-glow: rgba(91, 75, 255, 0.45);

    --border: rgba(255,255,255,0.06);
    --border-strong: rgba(255,255,255,0.12);

    --radius: 18px;
    --radius-lg: 26px;

    --transition: 0.3s cubic-bezier(.4,0,.2,1);
}



/* CONTENITORE GENERALE */
.wpforms-container {
  max-width: 100%;
  margin: 0;
}

/* FORM */
.wpforms-container .wpforms-form {
  color: #ffffff;
}

/* LABEL */
.wpforms-container .wpforms-form label {
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 6px;
}

/* INPUT + TEXTAREA */
.wpforms-container .wpforms-form input[type="text"],
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="tel"],
.wpforms-container .wpforms-form textarea {
  width: 100%;
  background: #ffffff !important;
  color: #000000 !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  font-size: 14px;
  outline: none !important;
  box-shadow: none !important;
}

/* PLACEHOLDER */
.wpforms-container .wpforms-form input::placeholder,
.wpforms-container .wpforms-form textarea::placeholder {
  color: #888888;
}

/* FOCUS */
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form textarea:focus {
  box-shadow: 0 0 0 2px rgba(30, 144, 255, 0.35) !important;
}

/* CAMPI AFFIANCATI (FIRST / LAST NAME) */
.wpforms-container .wpforms-field-name {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* TEXTAREA */
.wpforms-container .wpforms-form textarea {
  min-height: 160px;
  resize: vertical;
}

/* BOTTONE SUBMIT – COERENTE CON IL SITO */
.wpforms-container .wpforms-submit {
  background: #1e90ff !important;        /* colore brand */
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 36px !important;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* HOVER BOTTONE */
.wpforms-container .wpforms-submit:hover {
  background: #187bcd !important;
  transform: translateY(-1px);
}

/* DISABLED */
.wpforms-container .wpforms-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ERRORI */
.wpforms-container .wpforms-error {
  color: #ff6b6b !important;
  font-size: 13px;
}

/* MESSAGGIO SUCCESSO */
.wpforms-container .wpforms-confirmation-container-full {
  background: rgba(30, 144, 255, 0.15) !important;
  border: 1px solid rgba(30, 144, 255, 0.4) !important;
  color: #ffffff !important;
  border-radius: 14px;
  padding: 20px;
}

/* MOBILE */
@media (max-width: 768px) {
  .wpforms-container .wpforms-field-name {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   WPFORMS – CAMPI TUTTI A LARGHEZZA PIENA
   ========================================================= */

/* FORZA TUTTI I CAMPI A 100% */
.wpforms-container .wpforms-form .wpforms-field {
  width: 100% !important;
}

/* RIMUOVE IL LAYOUT A DUE COLONNE (FIRST / LAST NAME) */
.wpforms-container .wpforms-field-name {
  display: block !important;
}

/* INPUT + TEXTAREA = STESSA LARGHEZZA */
.wpforms-container .wpforms-form input[type="text"],
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="tel"],
.wpforms-container .wpforms-form textarea {
  width: 100% !important;
  box-sizing: border-box;
}

/* SPAZIATURA VERTICALE COERENTE */
.wpforms-container .wpforms-field {
  margin-bottom: 20px;
}



/* ========== RESET BASE ========== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    background: var(--bg);
    color: var(--text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Inter", sans-serif;
    line-height: 1.4;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    display: block;
    border-radius: var(--radius);
}

a {
    color: var(--text);
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--primary);
}

/* ========== TIPOGRAFIA ========== */

h1, h2, h3, h4 {
    font-weight: 700;
    margin: 0 0 20px;
    line-height: 1.1;
}

h1 {
    font-size: clamp(2.8rem, 5vw, 4rem);
    letter-spacing: -0.04em;
}

h2 {
    font-size: clamp(2rem, 3.2vw, 3rem);
}

p {
    margin: 0 0 16px;
    font-size: 1.02rem;
    color: var(--text-dim);
}

/* ========== LAYOUT GENERALE ========== */

.wrapper,
.container,
section {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 20px;
}

/* Header / navbar */

header,
.navbar {
    background: var(--bg);
    border-bottom: 1px solid var(--border);
    padding: 20px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.navbar-menu {
    display: flex;
    gap: 24px;
}

.navbar-menu a {
    font-size: 0.95rem;
    color: var(--text-dim);
}

.navbar-menu a:hover {
    color: var(--primary);
}
/* --- BASE --- */
.hamburger {
    display: none;
    flex-direction: column;
    width: 28px;
    height: 20px;
    justify-content: space-between;
    cursor: pointer;
}

.hamburger span {
    width: 100%;
    height: 3px;
    background: white;
    display: block;
}

.mobile-menu {
    display: none;
}

.mobile-menu.open {
    display: block;
}

@media (max-width: 900px) {
    .desktop-menu { display: none; }
    .hamburger { display: flex; }
}

/* ANIMAZIONE X */
.hamburger.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}
.hamburger.active span:nth-child(2) {
    opacity: 0;
}
.hamburger.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* --- MOBILE MENU --- */
.mobile-menu {
    display: none;
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    background: #fff;
    padding: 25px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.mobile-menu.open {
    display: block;
}
.mobile-menu-items li {
    margin-bottom: 15px;
}
.mobile-menu-items a {
    color: #000;
    font-size: 1.2rem;
}

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
    .desktop-menu { display: none; }
    .hamburger { display: flex; }
}


/* Icone account / carrello */

.nav-icons {
    display: flex;
    gap: 16px;
    align-items: center;
}

.nav-icons img,
.nav-icons svg {
    width: 22px;
    height: 22px;
    opacity: 0.8;
    transition: var(--transition);
}

.nav-icons img:hover,
.nav-icons svg:hover {
    opacity: 1;
}

/* ========== CARD E CONTAINER “GLASS” ========== */

.card,
.glass-card {
    background: var(--glass);
    border-radius: var(--radius-lg);
    padding: 30px;
    border: 1px solid var(--border);
    backdrop-filter: blur(20px);
    transition: var(--transition);
}

.card:hover,
.glass-card:hover {
    border-color: var(--border-strong);
    transform: translateY(-4px);
}

/* Glow di sfondo */

.glow {
    position: relative;
}

.glow::before {
    content: "";
    position: absolute;
    inset: -20%;
    background: radial-gradient(circle, rgba(143,123,255,0.28), transparent 70%);
    filter: blur(60px);
    z-index: -1;
}

/* ========== BOTTONI (INCLUSI WOO) ========== */

.button,
.btn,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce input[type="submit"].button {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    border-radius: var(--radius);
    padding: 12px 22px;
    border: none;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 0 16px rgba(143,123,255,0.35);
    transition: var(--transition);
}

.button:hover,
.btn:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce input[type="submit"].button:hover {
    filter: brightness(1.05);
    transform: translateY(-2px);
}

/* Stato disabilitato */

.woocommerce button.button:disabled,
.woocommerce button.button.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* ========== FORM / INPUT (ANCHE WOO) ========== */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
textarea,
select,
.woocommerce-input-wrapper .input-text {
    width: 100%;
    background: #050505;
    border-radius: 12px;
    border: 1px solid var(--border);
    padding: 10px 12px;
    color: var(--text);
    font-size: 0.95rem;
    transition: var(--transition);
}

input:focus,
textarea:focus,
select:focus,
.woocommerce-input-wrapper .input-text:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 1px rgba(143,123,255,0.4);
}

/* ============================================================
   HOOK BASE PER WOO (griglia molto light, il resto in shop.css)
============================================================ */

.woocommerce .page-title {
    margin-bottom: 30px;
}

.woocommerce .woocommerce-breadcrumb {
    font-size: 0.85rem;
    color: var(--text-dim);
    margin-bottom: 20px;
}

.woocommerce ul.products {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Mantengo il grosso della griglia in shop.css, qui solo fallback */
.woocommerce ul.products li.product {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: 18px;
    border: 1px solid var(--border);
}

/* Messaggi Woo */

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    background: #050505;
    border-radius: 12px;
    border-left: 3px solid var(--primary);
    padding: 14px 18px;
    color: var(--text);
    margin: 20px 0;
}

/* Checkout / carrello titoli */

.woocommerce-cart h1,
.woocommerce-checkout h1 {
    font-size: 2rem;
}

/* Footer */

footer {
    background: var(--bg-soft);
    border-top: 1px solid var(--border);
    padding: 60px 40px;
    font-size: 0.9rem;
    color: var(--text-dim);
}

/* Responsive */

@media (max-width: 768px) {
    header,
    .navbar {
        padding: 16px 20px;
    }

    .wrapper,
    .container,
    section {
        padding: 60px 20px;
    }
}
/* ============================================================
   HEADER LAYOUT FIX + ICON SIZE FIX
============================================================ */

/* CONTAINER GENERALE HEADER */
.site-header {
    width: 100%;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
    padding: 14px 40px;
}

.header-inner {
    display: flex;
    justify-content: space-between; /* 3 zone: sinistra - centro - destra */
    align-items: center;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

/* SINISTRA: LOGO */
.site-logo img {
    height: 100px; /* dimensione corretta logo */
    width: auto;
    display: block;
}

/* CENTRO: MENU */
.header-center {
    flex: 1;
    display: flex;
    justify-content: center;
}

.menu-center-items {
    display: flex;
    gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu-center-items li a {
    color: var(--text);
    font-size: 1rem;
    font-weight: 500;
    transition: var(--transition);
}

.menu-center-items li a:hover {
    color: var(--primary);
}

/* DESTRA: ICONE ACCOUNT + CARRELLO */
.header-right {
    display: flex;
    align-items: center;
    gap: 22px;
}

/* RIDUZIONE ICONA (SVG) */
.header-icon svg {
    width: 24px;
    height: 24px;
    fill: var(--text);
    opacity: 0.85;
    transition: var(--transition);
}

.header-icon:hover svg {
    opacity: 1;
    fill: var(--primary);
}

/* BADGE QUANTITÀ CARRELLO */
.header-icon.cart svg {
    position: relative;
}

.cart-icon-badge, .header-icon .cart-count-badge {
    position: absolute;
    top: -6px;
    right: -10px;
    background: var(--primary);
    color: #fff;
    font-size: 0.65rem;
    padding: 2px 6px;
    border-radius: 50px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 0 10px rgba(143,123,255,0.5);
}

/* MOBILE FIX */
@media (max-width: 768px) {
    .menu-center-items {
        gap: 24px;
    }

    .site-header {
        padding: 14px 20px;
    }

    .header-inner {
        flex-wrap: nowrap;
    }

    .header-center {
        display: none; /* nascondiamo il menu su mobile (possiamo aggiungere hamburger dopo) */
    }

    .header-right svg {
        width: 22px;
        height: 22px;
    }
}

/* ============================================================
   FOOTER ICON FIX
============================================================ */

footer svg,
footer img {
    width: 20px !important;
    height: 20px !important;
    opacity: 0.7;
    transition: var(--transition);
}

footer svg:hover,
footer img:hover {
    opacity: 1;
    transform: scale(1.1);
}



/* LAYOUT ACCOUNT */
.tt-account-page {
  display: grid;
  grid-template-columns: 260px 1fr;
  min-height: 80vh;
}

/* SIDEBAR */
.tt-account-sidebar {
  border-right: 1px solid rgba(255,255,255,0.1);
  padding: 40px 20px;
}

.tt-account-menu ul {
  list-style: none;
  padding: 0;
}

.tt-account-menu li {
  margin-bottom: 12px;
}

.tt-account-menu a {
  text-decoration: none;
  color: white;
  opacity: 0.8;
}

.tt-account-menu li.is-active a {
  opacity: 1;
  font-weight: bold;
}

/* CONTENUTO */
.tt-account-main {
  padding: 60px;
}

/* PROFILO */
.tt-account-profile {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 40px;
}

.tt-account-avatar img {
  border-radius: 50%;
}

.tt-account-info h2 {
  margin: 0;
  font-size: 28px;
}

.tt-account-info p {
  margin: 5px 0 0;
  opacity: 0.7;
}



.tt-dashboard-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
}

.tt-dashboard-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}

.tt-card {
  padding: 20px;
  border: 1px solid rgba(255,255,255,0.1);
}

.tt-card-value {
  font-size: 32px;
  font-weight: bold;
}

.tt-last-order .tt-order-box {
  padding: 20px;
  border: 1px solid rgba(255,255,255,0.1);
}



.tt-account-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 40px;
}

.tt-account-sidebar {
  border-right: 1px solid rgba(255,255,255,0.1);
}

.tt-account-content {
  padding: 40px 0;
}


/* VIDEO GUTENBERG */
.wp-block-video video,
.wp-block-embed iframe {
    width: 70%;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: var(--radius);
}

h1 {
    text-align: center;
    width: 100%;
}
/* ============================================================
   DOKAN – LAYOUT STRUTTURATO (TAM TAM THEME)
============================================================ */

/* WRAPPER GENERALE */
.dokan-dashboard,
.dokan-store,
.dokan-store-wrap,
.dokan-dashboard-wrap {
    padding: 80px 20px;
}

/* CONTAINER CENTRALE */
.dokan-dashboard-content,
.dokan-single-store,
.dokan-store-products {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 50px;
    background: var(--bg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
}

/* Spazio tra sezioni interne */
.dokan-dashboard-content > *,
.dokan-single-store > * {
    margin-bottom: 40px;
}

.dokan-dashboard-content > *:last-child,
.dokan-single-store > *:last-child {
    margin-bottom: 0;
}

/* ============================================================
   HEADER STORE & DASHBOARD
============================================================ */

.dokan-dashboard-header,
.dokan-store-header {
    margin-bottom: 50px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--border);
}

.dokan-dashboard-header h1,
.dokan-store-header h1 {
    margin-bottom: 12px;
}

/* ============================================================
   PROFILE FRAME STORE
============================================================ */

.dokan-single-store .profile-frame {
    padding: 50px;
    margin-bottom: 50px;
    border-radius: var(--radius-lg);
    background: var(--glass);
    border: 1px solid var(--border);
}

/* ============================================================
   STORE TABS (Products / Reviews)
============================================================ */

.dokan-store-tabs {
    margin-top: 40px;
    padding: 40px;
    border-radius: var(--radius);
    background: var(--bg-card);
    border: 1px solid var(--border);
}

/* ============================================================
   AREA PRODOTTI
============================================================ */

.dokan-store-products {
    margin-top: 40px;
}

.dokan-store-products ul.products {
    margin-top: 40px;
    gap: 40px;
}

/* ============================================================
   CARD INTERNE DASHBOARD
============================================================ */

.dokan-dashboard-content .dokan-panel,
.dokan-orders-area,
.dokan-products-area,
.dokan-withdraw-content,
.dokan-reviews-content {
    padding: 40px;
    margin-bottom: 40px;
    border-radius: var(--radius);
    background: var(--bg-card);
    border: 1px solid var(--border);
}

/* ============================================================
   SIDEBAR
============================================================ */

.dokan-dashboard .dokan-dash-sidebar {
    padding: 50px 25px;
    border-right: 1px solid var(--border);
}

.dokan-dashboard-menu li a {
    padding: 16px 20px;
    border-radius: 14px;
    margin-bottom: 8px;
    display: block;
    transition: 0.2s ease;
}

.dokan-dashboard-menu li.active a,
.dokan-dashboard-menu li a:hover {
    background: var(--glass);
}

/* ============================================================
   FORM
============================================================ */

.dokan-form-group {
    margin-bottom: 28px;
}

.dokan-form-control {
    padding: 14px 16px;
}

/* ============================================================
   TABELLE
============================================================ */

.dokan-dashboard-content table {
    margin-top: 30px;
}

.dokan-dashboard-content table th,
.dokan-dashboard-content table td {
    padding: 16px 18px;
}

/* ============================================================
   BOTTONI
============================================================ */

.dokan-btn,
.dokan-btn-theme {
    padding: 14px 26px;
}

/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 900px) {

    .dokan-dashboard,
    .dokan-store,
    .dokan-store-wrap,
    .dokan-dashboard-wrap {
        padding: 50px 15px;
    }

    .dokan-dashboard-content,
    .dokan-single-store,
    .dokan-store-products {
        padding: 30px 20px;
    }

    .dokan-single-store .profile-frame {
        padding: 30px;
    }

    .dokan-store-tabs {
        padding: 25px;
    }

}
/* FIX SOLO BARRA FILTRO STORE LISTING */

#dokan-store-listing-filter-wrap {
    background: #000 !important;
    border: none !important;
    box-shadow: none !important;
}

#dokan-store-listing-filter-wrap * {
    color: var(--text-soft) !important;
}

/* ============================================================
   FORCE DARK MODE – STORE LISTING
============================================================ */

/* Barra superiore filtro */
.dokan-store-wrap,
.dokan-store-list-filter,
.dokan-store-listing-filter-wrap,
.dokan-store-listing-filter-wrap form {
    background: #000 !important;
}

/* Container totale lista store */
.dokan-store-listing,
.dokan-store-list {
    background: #000 !important;
}

/* Card singolo store */
.dokan-single-store,
.dokan-store-wrap .store-content,
.dokan-store-wrap .store-content-wrap {
    background: #000 !important;
}

/* Footer card store */
.dokan-store-wrap .store-footer {
    background: #000 !important;
}

/* Area interna tabs store */
.dokan-store-tabs,
.dokan-store-products {
    background: #000 !important;
}

/* Se WooCommerce forza il bianco */
.woocommerce,
.woocommerce-page {
    background: #000 !important;
}
/* ============================================================
   WORDPRESS IMAGES – CENTER FIX
============================================================ */

/* Immagini Gutenberg */
.wp-block-image {
    display: flex;
    justify-content: center;
}

/* Immagini singole */
.wp-block-image img {
    margin: 0 auto;
}

/* Compatibilità classica WP */
.aligncenter {
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Rimuove eventuali float */
.alignleft,
.alignright {
    float: none !important;
}


/* ============================================================
   MEGA MENU – TAM TAM STREET
============================================================ */

/* Base */
.menu-center-items li {
    position: relative;
}
.menu-center-items li a {
    color: var(--text);
    font-size: 1.2rem;   /* 👈 QUI */
    font-weight: 500;
    transition: var(--transition)
}

/* Mega panel */
.menu-center-items > li > ul {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    


    background: #0a0a0a;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 30px 40px;

    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;

    z-index: 9999;
    min-width: 700px;
    justify-content: center;
}
/* ============================================================
   DROPDOWN VERTICALE – TAM TAM STREET
============================================================ */

.menu-center-items > li {
    position: relative;
}

.menu-center-items > li > ul {
    position: absolute;
    top: 110%;
    left: 50%;
    transform: translateX(-50%);
    
    display: flex;
    flex-direction: column;   /* 🔥 verticale */
    gap: 12px;

    background: #0a0a0a;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 25px 30px;

    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;

    z-index: 9999;
    min-width: 260px;
}

/* Mostra dropdown */
.menu-center-items > li:hover > ul {
    opacity: 1;
    visibility: visible;
}

/* Voci interne */
.menu-center-items > li > ul > li {
    list-style: none;
}

/* Link verticali */
.menu-center-items > li > ul > li > a {
    display: block;
    padding: 10px 14px;
    font-size: 0.9rem;
    font-weight: 500;
    border-radius: 10px;
    transition: var(--transition);
}

/* Hover elegante */
.menu-center-items > li > ul > li > a:hover {
    background: rgba(255,255,255,0.05);
    color: var(--primary);
}
/* Mostra mega menu */
.menu-center-items > li:hover > ul {
    opacity: 1;
    visibility: visible;
}

/* Ogni voce figlia */
.menu-center-items > li > ul > li {
    list-style: none;
    min-width: 160px;
}

/* Link */
.menu-center-items > li > ul > li > a {
    font-size: 0.9rem;
    font-weight: 600;
    display: block;
    padding: 10px 0;
    text-align: center;
    color: var(--text);
    transition: var(--transition);
}

/* Hover */
.menu-center-items > li > ul > li > a:hover {
    color: var(--primary);
}

/* Rimuove dropdown laterali vecchi */
.menu-center-items li ul li ul {
    display: none;
}

.area-associazioni {
    display: flex;
    gap: 15px;
    align-items: center;
}

.area-associazioni a {
    text-decoration: none;
    font-weight: 600;
    padding: 6px 12px;
    border: 1px solid #000;
    transition: 0.3s ease;
}

.area-associazioni a:hover {
    background: #000;
    color: #fff;
}

.area-associazioni-section {
    padding: 60px 0;
    text-align: center;

}

.assoc-box {
    margin-top: 20px;
}

.assoc-btn {
    display: inline-block;
    margin: 10px;
    padding: 10px 18px;
    background: #000;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s ease;
}

.assoc-btn.outline {
    background: transparent;
    color: #ffffff;
    border: 1px solid #ffffff;
}

.assoc-btn:hover {
    opacity: 0.8;
}

/* ============================================================
   MARKET SWITCH – STILE MIGLIORATO
============================================================ */

.market-wrapper {
    max-width: 1400px;
    margin: auto;
    padding: 40px 20px;
}

/* CENTRATURA */
.market-switch {
    display: flex;
    justify-content: center;   /* centra i bottoni */
    align-items: center;
    gap: 16px;
    margin-bottom: 50px;
}

/* BOTTONI BASE (cliccabili) */
.switch-btn {
    padding: 12px 28px;
    border-radius: 50px; /* effetto pill */
    border: 1px solid #d0d5dd;
    background: #f2f4f7;  /* grigetto */
    color: #344054;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.25s ease;
}

/* HOVER */
.switch-btn:hover {
    background: #e4e7ec;
    border-color: #cbd5e1;
}

/* STATO ATTIVO (pagina corrente) */
.switch-btn.active {
    background: #1e3a8a;   /* blu elegante */
    border-color: #1e3a8a;
    color: #ffffff;
    cursor: default;
}

/* Disabilita hover quando attivo */
.switch-btn.active:hover {
    background: #1e3a8a;
}

/* ============================================================
   STORE CARD – REMOVE SHADOW
============================================================ */

.dokan-single-seller,
.dokan-single-seller .store-wrapper {
    box-shadow: none !important;
    filter: none !important;
}

/* =====================================================
   WPUF FORM → STILE DOKAN DARK PREMIUM
===================================================== */

.wpuf-form {
    background: transparent;
    padding: 0;
}

/* LABEL */

.wpuf-form .wpuf-label label {
    color: #aaa;
    font-size: 14px;
    margin-bottom: 6px;
    display: block;
}

/* INPUT + SELECT + TEXTAREA */

.wpuf-form input[type="text"],
.wpuf-form input[type="email"],
.wpuf-form input[type="password"],
.wpuf-form input[type="number"],
.wpuf-form select,
.wpuf-form textarea {

    background: #111;
    border: 1px solid rgba(255,255,255,0.15);
    color: #fff;
    border-radius: 6px;
    padding: 12px 14px;
    font-size: 15px;
    width: 100%;
    transition: 0.2s ease;
}

/* FOCUS EFFECT */

.wpuf-form input:focus,
.wpuf-form select:focus,
.wpuf-form textarea:focus {
    border-color: #5c4bff;
    box-shadow: 0 0 0 2px rgba(92,75,255,0.3);
    outline: none;
}

/* RADIO + CHECKBOX */

.wpuf-form input[type="radio"],
.wpuf-form input[type="checkbox"] {
    accent-color: #5c4bff;
}

/* SUBMIT BUTTON */

.wpuf-submit-button,
.wpuf-form input[type="submit"] {
    background: linear-gradient(135deg, #3b2cff, #5c4bff);
    border: none;
    border-radius: 40px;
    padding: 12px 28px;
    font-weight: 600;
    color: #fff;
    transition: 0.3s ease;
    cursor: pointer;
}

.wpuf-submit-button:hover,
.wpuf-form input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(92,75,255,0.4);
}

/* SPACING */

.wpuf-form .wpuf-el {
    margin-bottom: 20px;
}




.account-auth {
    max-width: 600px;
    margin: 0 auto;
}

.auth-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.tab-btn {
    flex: 1;
    padding: 10px;
    background: #111;
    color: white;
    border: 1px solid #333;
    cursor: pointer;
}

.tab-btn.active {
    background: #27129e;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}
/* ============================================================
   ARCHIVE ASSOCIAZIONI – GRID LAYOUT
============================================================ */

.grid-associazioni {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 per riga */
    gap: 40px;
    margin-top: 60px;
}

.card-associazione {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 25px;
    transition: var(--transition);
}

.card-associazione:hover {
    transform: translateY(-6px);
    border-color: var(--border-strong);
}

/* Responsive */

@media (max-width: 1024px) {
    .grid-associazioni {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .grid-associazioni {
        grid-template-columns: 1fr;
    }
}


.dashboard-section {
    margin-bottom: 60px;
}

.custom-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.list-item {
    width: 250px;
    background: #111;
    padding: 20px;
    border-radius: 15px;
}

.list-item img {
    width: 100%;
    border-radius: 10px;
}

/* ============================================================
   GLOBAL LAYOUT FIX – STICKY FOOTER STRUCTURE
============================================================ */

html, body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.content-container {
    flex: 1;
    width: 100%;
}

/* ============================================================
   LAYOUT CON SIDEBAR INTELLIGENTE
============================================================ */

.content-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 20px;
}

.main-content {
    min-width: 0;
}

.sidebar-associazione {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.widget-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 25px;
}

.widget-card h3 {
    font-size: 1.1rem;
    margin-bottom: 20px;
}

.sidebar-link {
    display: block;
    margin-bottom: 12px;
    font-size: 0.95rem;
    color: var(--text-soft);
    transition: var(--transition);
}

.sidebar-link:hover {
    color: var(--primary);
}

/* Responsive */
@media (max-width: 900px) {
    .content-layout {
        grid-template-columns: 1fr;
    }
}
.assoc-sidebar a.active {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 0 10px var(--primary-glow);
}

.assoc-profile-card {
    display: flex;
    gap: 30px;
    align-items: center;
}

.assoc-profile-image img {
    width: 220px;
    height: 220px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--border);
}

.assoc-placeholder {
    width: 220px;
    height: 220px;
    background: var(--bg-elev);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--text-dim);
}

.assoc-profile-info h2 {
    margin-bottom: 10px;
}

.assoc-edit-btn {
    display: inline-block;
    margin-top: 15px;
    padding: 10px 18px;
    background: var(--primary);
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    transition: 0.3s;
}

.assoc-edit-btn:hover {
    box-shadow: 0 0 12px var(--primary-glow);
}

@media (max-width: 900px) {
    .assoc-profile-card {
        flex-direction: column;
        align-items: flex-start;
    }
}

.assoc-list {
    list-style: none;
    padding: 0;
    margin: 15px 0 0 0;
}

.assoc-list li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
}

.assoc-status {
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 6px;
    background: var(--bg-elev);
    color: var(--text-dim);
    text-transform: capitalize;
}

.assoc-media-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.assoc-media-item img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
}

.tt-associazione-dashboard {
    max-width: 1200px;
    margin: 60px auto;
    padding: 20px;
}

.tt-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.tt-profile-area {
    display: flex;
    align-items: center;
    gap: 20px;
}

.tt-profile-image img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 12px;
}

.tt-placeholder {
    width: 120px;
    height: 120px;
    background: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #888;
}

.tt-logout-btn {
    padding: 10px 18px;
    background: #3b2cff;
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
}

.tt-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.tt-stat-card {
    background: #111;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}

.tt-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.tt-dashboard-card {
    background: #111;
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    transition: 0.3s ease;
}

.tt-dashboard-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 20px rgba(59,44,255,0.4);
}

.tt-content-sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.tt-content-card {
    background: #111;
    padding: 25px;
    border-radius: 12px;
}

.tt-content-card ul {
    list-style: none;
    padding: 0;
}

.tt-content-card li {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    align-items: center;
}

.tt-status {
    font-size: 12px;
    color: #aaa;
}

.tt-saas-dashboard {
    display: flex;
    min-height: 100vh;
    background: #0a0a0f;
}

.tt-saas-sidebar {
    width: 250px;
    background: linear-gradient(180deg,#3b2cff,#27129e);
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tt-saas-logo {
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 40px;
}

.tt-saas-sidebar nav a {
    display: block;
    color: #ddd;
    padding: 12px;
    margin-bottom: 8px;
    text-decoration: none;
    border-radius: 8px;
    transition: 0.3s;
}

.tt-saas-sidebar nav a.active,
.tt-saas-sidebar nav a:hover {
    background: rgba(255,255,255,0.15);
    color: #fff;
}

.tt-saas-content {
    flex: 1;
    padding: 40px;
}

.tt-saas-topbar {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

.tt-saas-alert {
    background: #2c1f1f;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.tt-saas-stats {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.tt-saas-card {
    background: #111;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
}

.tt-saas-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.tt-saas-box {
    background: #111;
    padding: 25px;
    border-radius: 12px;
}

.tt-saas-box ul {
    list-style: none;
    padding: 0;
}

.tt-saas-box li {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #222;
}
/* --- TESTI SOTTO DASHBOARD: 2 COLONNE --- */
.dashboard-notes{
  width: min(1100px, 100%);
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 48px; /* row gap | column gap */
}

.dashboard-notes h6{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  letter-spacing: 0.2px;
}

/* Se vuoi un look più “note” */
.dashboard-notes h6{
  padding-left: 14px;
  border-left: 2px solid rgba(255,255,255,0.10);
}

/* Responsive: torna a 1 colonna */
@media (max-width: 768px){
  .dashboard-notes{
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
/* ============================================================
   FIX: le tue regole globali su "section" mettono padding enorme
   Qui neutralizziamo SOLO assoc-news / assoc-eventi
============================================================ */

.assoc-news,
.assoc-eventi{
  max-width: none;       /* evita che "section {max-width:1200px}" rompa la griglia */
  padding: 40px 0 0;     /* evita "section {padding:80px 20px}" */
  width: 100%;
}

/* ============================================================
   ASSOC NEWS / EVENTI – CARD GRID (thumb + title)
============================================================ */

.tt-cards-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 18px;
}

/* card */
.tt-media-card{
  display: flex;
  flex-direction: column;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition);
  text-decoration: none;
}

.tt-media-card:hover{
  transform: translateY(-6px);
  border-color: var(--border-strong);
  box-shadow: 0 0 22px rgba(91, 75, 255, 0.18);
}

/* THUMB QUADRATA */
.tt-media-card__thumb{
  aspect-ratio: 1 / 1;      /* 🔥 square */
  width: 100%;
  background: var(--bg-elev);
  overflow: hidden;
}

/* immagine dentro: riempie e taglia in modo pulito */
.tt-media-card__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* riempie il quadrato */
  object-position: center;  /* centra il soggetto */
  display: block;
  border-radius: 0 !important;
}

/* IMPORTANT: override del tuo img globale (che mette border-radius) */
.tt-media-card__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important;
}

.tt-media-card__placeholder{
  width: 100%;
  height: 100%;
  background:
    radial-gradient(circle at 30% 20%, rgba(91, 75, 255, 0.20), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,0.06), transparent);
}

/* body */
.tt-media-card__body{
  padding: 16px 18px 18px;
}

.tt-media-card__title{
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.2;
  color: var(--text);
}

/* responsive */
@media (max-width: 1100px){
  .tt-cards-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px){
  .tt-cards-grid{ grid-template-columns: 1fr; }
}

/* CENTRA TUTTO IL BLOCCO NEWS + EVENTI (titolo + griglia) */
.assoc-news,
.assoc-eventi{
  max-width: 980px;     /* regola la larghezza del blocco */
  margin: 0 auto;       /* centra */
  width: 100%;
}

/* opzionale: centra anche i titoli */
.assoc-news > h2,
.assoc-eventi > h2{
  text-align: center;
}

/* opzionale: la griglia resta centrata dentro al blocco */
.assoc-news .tt-cards-grid,
.assoc-eventi .tt-cards-grid{
  margin-left: auto;
  margin-right: auto;
}
/* ============================================================
   SINGLE NEWS / EVENTI – LAYOUT CENTRALE PULITO
============================================================ */

.tt-single-wrap{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 20px;
}

.tt-single-card{
  max-width: 920px;
  margin: 0 auto;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.tt-single-header{
  padding: 26px 28px 0;
}

.tt-single-title{
  margin: 0 0 14px;
  text-align: left;
  font-size: clamp(2rem, 3.2vw, 3rem);
}

.tt-single-actions{
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}

.tt-back-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-soft);
  font-weight: 600;
}

.tt-back-link:hover{
  color: var(--primary);
}

/* immagine hero centrata e controllata */
.tt-single-hero{
  margin: 0;
  padding: 22px 28px 0;
}

.tt-single-hero img{
  width: 100%;
  height: 420px;          /* uguale per tutte */
  object-fit: contain;    /* ✅ non taglia mai */
  object-position: center;
  border-radius: var(--radius);
  display: block;
  background: #000;       /* ✅ colore delle bande */
}
/* contenuto */
.tt-single-content{
  padding: 22px 28px 30px;
}

.tt-single-content p{
  color: var(--text-soft);
}

/* responsive */
@media (max-width: 640px){
  .tt-single-header,
  .tt-single-hero,
  .tt-single-content{
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* ============================================================
   MY ACCOUNT (CUSTOMER) – DOKAN-LIKE LAYOUT
============================================================ */

.woocommerce-account .woocommerce{
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 16px;
}

/* 2 colonne come Dokan */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  float: none;
  width: 100%;
}

@media (min-width: 992px){
  .woocommerce-account .woocommerce{
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 18px;
    align-items: start;
  }
}

/* Colonna sinistra */
.woocommerce-account .woocommerce-MyAccount-navigation{
  background: var(--bg-card, #111116);
  border: 1px solid var(--border, rgba(255,255,255,0.06));
  border-radius: 18px;
  padding: 14px;
  position: sticky;
  top: 18px;
}

/* Menu */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 14px;
  color: var(--text-soft, #cfcfd6);
  text-decoration: none;
  border: 1px solid transparent;
  background: transparent;
  transition: 180ms ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background: rgba(255,255,255,0.04);
  border-color: var(--border, rgba(255,255,255,0.06));
  color: var(--text, #fff);
}

/* Voce attiva */
.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a{
  background: rgba(91, 75, 255, 0.16);
  border-color: rgba(91, 75, 255, 0.35);
  color: #fff;
  box-shadow: 0 0 0 1px rgba(91, 75, 255, 0.15) inset;
}

/* Contenuto */
.woocommerce-account .woocommerce-MyAccount-content{
  background: var(--bg-card, #111116);
  border: 1px solid var(--border, rgba(255,255,255,0.06));
  border-radius: 18px;
  padding: 18px;
  min-height: 420px;
}

/* Messaggio “Hello …” e testi */
.woocommerce-account .woocommerce-MyAccount-content p{
  color: var(--text-soft, #cfcfd6);
  line-height: 1.6;
}

.woocommerce-account .woocommerce-MyAccount-content a{
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.25);
}

.woocommerce-account .woocommerce-MyAccount-content a:hover{
  border-bottom-color: rgba(91, 75, 255, 0.7);
}

/* Bottoni */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]{
  background: var(--primary, #3b2cff);
  border: 1px solid rgba(91, 75, 255, 0.35);
  color: #fff;
  border-radius: 14px;
  padding: 10px 14px;
  box-shadow: 0 10px 24px rgba(91, 75, 255, 0.18);
  transition: 180ms ease;
}

.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content button:hover,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
}

/* Tabelle (Orders/Downloads ecc) */
.woocommerce-account .woocommerce-MyAccount-content table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid var(--border, rgba(255,255,255,0.06));
  background: rgba(255,255,255,0.02);
}

.woocommerce-account .woocommerce-MyAccount-content th,
.woocommerce-account .woocommerce-MyAccount-content td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--border, rgba(255,255,255,0.06));
  color: var(--text-soft, #cfcfd6);
}

.woocommerce-account .woocommerce-MyAccount-content th{
  color: #fff;
  font-weight: 600;
  background: rgba(255,255,255,0.03);
}

.woocommerce-account .woocommerce-MyAccount-content tr:last-child td{
  border-bottom: 0;
}
/* ============================================================
   MY ACCOUNT – LAYOUT DOKAN (SIDEBAR LEFT + CONTENT RIGHT)
============================================================ */

/* wrapper generale */
.woocommerce-account .woocommerce{
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 16px;

  display: flex;
  gap: 18px;
  align-items: flex-start;
}

/* Sidebar sinistra */
.woocommerce-account .woocommerce-MyAccount-navigation{
  width: 280px;
  flex: 0 0 280px;

  background: var(--bg-card, #111116);
  border: 1px solid var(--border, rgba(255,255,255,0.06));
  border-radius: 18px;
  padding: 14px;

  position: sticky;
  top: 18px;
}

/* Contenuto a destra */
.woocommerce-account .woocommerce-MyAccount-content{
  flex: 1;
  min-width: 0;

  background: var(--bg-card, #111116);
  border: 1px solid var(--border, rgba(255,255,255,0.06));
  border-radius: 18px;
  padding: 18px;
  min-height: 420px;
}

/* Reset float Woo default (important) */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  float: none !important;
  width: auto !important;
}

/* Menu stile sidebar */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 14px;
  color: var(--text-soft, #cfcfd6);
  text-decoration: none;
  border: 1px solid transparent;
  background: transparent;
  transition: 180ms ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background: rgba(255,255,255,0.04);
  border-color: var(--border, rgba(255,255,255,0.06));
  color: var(--text, #fff);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a{
  background: rgba(91, 75, 255, 0.16);
  border-color: rgba(91, 75, 255, 0.35);
  color: #fff;
  box-shadow: 0 0 0 1px rgba(91, 75, 255, 0.15) inset;
}

/* Mobile: stack */
@media (max-width: 991px){
  .woocommerce-account .woocommerce{
    flex-direction: column;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation{
    width: 100%;
    flex-basis: auto;
    position: relative;
    top: auto;
  }
}

/* ============================================================
   MY ACCOUNT – MINI CARDS (DASHBOARD)
============================================================ */

.woocommerce-account .acct-cards{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 16px 0 18px;
}

@media (min-width: 640px){
  .woocommerce-account .acct-cards{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1100px){
  .woocommerce-account .acct-cards{
    grid-template-columns: repeat(3, 1fr);
  }
}

.woocommerce-account .acct-card{
  display: block;
  padding: 14px 14px;
  border-radius: 16px;

  border: 1px solid var(--border, rgba(255,255,255,0.06));
  background: rgba(255,255,255,0.02);

  text-decoration: none;
  transition: 180ms ease;
}

.woocommerce-account .acct-card:hover{
  transform: translateY(-1px);
  border-color: rgba(91, 75, 255, 0.35);
  box-shadow: 0 14px 30px rgba(0,0,0,0.35);
}

.woocommerce-account .acct-card__title{
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  margin-bottom: 6px;
}

.woocommerce-account .acct-card__desc{
  color: var(--text-dim, #8b8b98);
  font-size: 13px;
  line-height: 1.4;
}

/* opzionale: piccolo “chevron” a destra */
.woocommerce-account .acct-card{
  position: relative;
  padding-right: 40px;
}

.woocommerce-account .acct-card::after{
  content: "›";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.55;
  font-size: 22px;
  color: #fff;
}

.woocommerce-account .acct-card:hover::after{
  opacity: 0.9;
}

/* se vuoi nascondere la lista testuale vecchia della dashboard (non le tabelle ordini ecc.) */
.woocommerce-account .woocommerce-MyAccount-content > p ~ ul,
.woocommerce-account .woocommerce-MyAccount-content > p ~ ol{
  display: none;
}

/* ============================================================
   WOOCOMMERCE – SINGLE PRODUCT (DETTAGLIO PRODOTTO)
   Dark premium UI (coerente con Tam Tam Custom)
============================================================ */

.woocommerce div.product,
.woocommerce-page div.product{
  color: var(--text);
}

.woocommerce .woocommerce-breadcrumb{
  margin: 10px 0 18px;
  color: var(--text-dim);
  font-size: 13px;
}
.woocommerce .woocommerce-breadcrumb a{
  color: var(--text-soft);
  text-decoration: none;
}
.woocommerce .woocommerce-breadcrumb a:hover{
  color: var(--text);
}

/* Container generale */
.woocommerce div.product{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 16px 60px;
}

/* Layout: gallery + summary */
.woocommerce div.product .product{
  width: 100%;
}

.woocommerce div.product{
  display: block;
}

/* Wrapper flessibile (Woo usa .woocommerce-product-gallery + .summary) */
.woocommerce div.product{
  --card-pad: 18px;
}

.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary{
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.35);
}

/* Griglia desktop */
@media (min-width: 980px){
  .woocommerce div.product{
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 18px;
    align-items: start;
  }

  /* Tabs + related sotto a tutta larghezza */
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related,
  .woocommerce div.product .up-sells{
    grid-column: 1 / -1;
  }
}

/* Gallery */
.woocommerce div.product .woocommerce-product-gallery{
  padding: var(--card-pad);
  overflow: hidden;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper{
  border-radius: 14px;
  overflow: hidden;
}

/* Immagine principale: look “premium” */
.woocommerce div.product .woocommerce-product-gallery__image img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--bg-elev);
}

/* Thumbnails */
.woocommerce div.product .flex-control-thumbs{
  margin-top: 12px !important;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}
@media (max-width: 520px){
  .woocommerce div.product .flex-control-thumbs{
    grid-template-columns: repeat(4, 1fr);
  }
}
.woocommerce div.product .flex-control-thumbs li{
  margin: 0 !important;
}
.woocommerce div.product .flex-control-thumbs img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--bg-elev);
  opacity: 0.8;
  transition: transform .18s ease, opacity .18s ease, border-color .18s ease;
}
.woocommerce div.product .flex-control-thumbs img:hover{
  opacity: 1;
  transform: translateY(-1px);
  border-color: var(--border-strong);
}
.woocommerce div.product .flex-control-thumbs img.flex-active{
  opacity: 1;
  border-color: rgba(91,75,255,0.45);
  box-shadow: 0 0 0 4px rgba(91,75,255,0.14);
}

/* Summary */
.woocommerce div.product .summary{
  padding: calc(var(--card-pad) + 2px);
}

/* Titolo */
.woocommerce div.product .product_title{
  margin: 0 0 10px;
  font-size: clamp(22px, 2.2vw, 34px);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* Rating */
.woocommerce div.product .woocommerce-product-rating{
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.woocommerce .star-rating{
  color: #ffd36b;
  font-size: 14px;
}
.woocommerce .woocommerce-review-link{
  color: var(--text-dim);
  text-decoration: none;
}
.woocommerce .woocommerce-review-link:hover{
  color: var(--text);
}

/* Prezzo */
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-size: 24px;
  color: var(--text);
  margin: 10px 0 14px;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del{
  opacity: .55;
  margin-right: 8px;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins{
  text-decoration: none;
  color: var(--text);
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description{
  color: var(--text-soft);
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 16px;
}

/* Messaggi stock */
.woocommerce div.product .stock{
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--text-dim);
}
.woocommerce div.product .stock.in-stock{
  color: rgba(120, 255, 190, 0.9);
}
.woocommerce div.product .stock.out-of-stock{
  color: rgba(255, 120, 120, 0.95);
}

/* Variations (se prodotto variabile) */
.woocommerce div.product form.cart{
  margin: 16px 0 18px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--bg-elev);
}
.woocommerce div.product form.cart table.variations{
  margin: 0 0 10px;
}
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th{
  padding: 8px 6px;
  color: var(--text-soft);
}
.woocommerce div.product form.cart table.variations select{
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  color: var(--text);
  padding: 10px 12px;
  outline: none;
}
.woocommerce div.product form.cart .reset_variations{
  color: var(--text-dim);
}
.woocommerce div.product form.cart .reset_variations:hover{
  color: var(--text);
}

/* Quantity + Add to cart */
.woocommerce div.product form.cart .quantity{
  margin: 0 10px 0 0;
}
.woocommerce .quantity .qty{
  width: 90px;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  color: var(--text);
  padding: 10px 12px;
  outline: none;
}

.woocommerce div.product form.cart .single_add_to_cart_button{
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(91,75,255,0.45);
  background: linear-gradient(180deg, var(--primary-soft), var(--primary));
  color: #fff;
  font-weight: 700;
  padding: 12px 16px;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: 0 16px 34px rgba(91,75,255,0.18);
}
.woocommerce div.product form.cart .single_add_to_cart_button:active{
  transform: translateY(0px);
}

/* Wishlist / extra (se presenti plugin) */
.woocommerce div.product .yith-wcwl-add-to-wishlist,
.woocommerce div.product .compare,
.woocommerce div.product .tinv-wraper{
  margin-top: 10px;
}

/* Meta: SKU, categorie, tag */
.woocommerce div.product .product_meta{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  color: var(--text-dim);
  font-size: 13px;
}
.woocommerce div.product .product_meta a{
  color: var(--text-soft);
  text-decoration: none;
}
.woocommerce div.product .product_meta a:hover{
  color: var(--text);
}

/* Tabs: Descrizione / Info aggiuntive / Recensioni */
.woocommerce div.product .woocommerce-tabs{
  margin-top: 18px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(0,0,0,0.35);
}

/* Nav tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  margin: 0;
  padding: 10px;
  display: flex;
  gap: 10px;
  background: rgba(255,255,255,0.02);
  border-bottom: 1px solid var(--border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{
  display: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  color: var(--text-soft);
  text-decoration: none;
  font-weight: 600;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color: var(--text);
  border-color: rgba(91,75,255,0.45);
  box-shadow: 0 0 0 4px rgba(91,75,255,0.12);
}

/* Panel tabs */
.woocommerce div.product .woocommerce-tabs .panel{
  margin: 0;
  padding: 16px 16px 18px;
  color: var(--text-soft);
  line-height: 1.6;
}
.woocommerce div.product .woocommerce-tabs .panel h2{
  margin: 0 0 10px;
  color: var(--text);
  font-size: 18px;
}

/* Tabelle (info aggiuntive) */
.woocommerce table.shop_attributes{
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  margin: 12px 0 0;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
  border-bottom: 1px solid var(--border);
  padding: 10px 12px;
}
.woocommerce table.shop_attributes th{
  color: var(--text-dim);
  background: rgba(255,255,255,0.02);
  font-weight: 600;
}
.woocommerce table.shop_attributes td{
  color: var(--text-soft);
}

/* Reviews */
.woocommerce #reviews #comments ol.commentlist li .comment_container{
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,0.02);
  padding: 12px;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar{
  border-radius: 12px;
  border: 1px solid var(--border);
}
.woocommerce #review_form_wrapper{
  margin-top: 14px;
}
.woocommerce #respond input[type="text"],
.woocommerce #respond input[type="email"],
.woocommerce #respond textarea{
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  color: var(--text);
  padding: 10px 12px;
  outline: none;
}
.woocommerce #respond input[type="submit"]{
  margin-top: 10px;
  border-radius: 12px;
  border: 1px solid rgba(91,75,255,0.45);
  background: linear-gradient(180deg, var(--primary-soft), var(--primary));
  color: #fff;
  font-weight: 700;
  padding: 11px 14px;
}

/* Related / Upsells */
.woocommerce div.product .related,
.woocommerce div.product .up-sells{
  margin-top: 18px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.35);
}
.woocommerce div.product .related > h2,
.woocommerce div.product .up-sells > h2{
  margin: 0 0 12px;
  color: var(--text);
  font-size: 18px;
}

/* Cards prodotti (riuso stile shop) */
.woocommerce ul.products li.product{
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255,255,255,0.02);
  overflow: hidden;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.woocommerce ul.products li.product:hover{
  transform: translateY(-2px);
  border-color: rgba(91,75,255,0.35);
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
}
.woocommerce ul.products li.product a{
  color: inherit;
  text-decoration: none;
}
.woocommerce ul.products li.product img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: var(--bg-elev);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding: 10px 12px 0;
  color: var(--text);
  font-size: 14px;
  line-height: 1.3;
}
.woocommerce ul.products li.product .price{
  padding: 6px 12px 12px;
  color: var(--text-soft);
}

/* Mobile: spaziature */
@media (max-width: 979px){
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary,
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related,
  .woocommerce div.product .up-sells{
    margin-bottom: 14px;
  }
}
.dokan-store-sidebar,
#dokan-secondary {
    display: none !important;
}

.dokan-store-wrap.layout-left #dokan-primary,
.dokan-store-wrap.layout-right #dokan-primary {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}
.woocommerce-shop-page-wrapper .woocommerce-products-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
}

.woocommerce-shop-page-wrapper .woocommerce-products-header__title.page-title {
    margin: 0;
    width: 100%;
}

.woocommerce-shop-page-wrapper .market-switch {
    align-self: center;
}

/* ============================================================
   STEP 2 — SHOP / ARCHIVE REFINED
============================================================ */

/* wrapper generale shop */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-notices-wrapper,
.woocommerce .woocommerce-products-header,
.woocommerce .tt-market-page,
.woocommerce .woocommerce-no-products-found,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
    width: min(1320px, calc(100% - 48px));
    margin-left: auto;
    margin-right: auto;
}

/* header shop */
.woocommerce-shop-page-wrapper .woocommerce-products-header,
.woocommerce-products-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    padding: 18px 0 8px;
}

.woocommerce-shop-page-wrapper .woocommerce-products-header__title.page-title,
.woocommerce-products-header__title.page-title {
    margin: 0;
    width: 100%;
    text-align: left;
    font-size: clamp(42px, 5vw, 78px);
    line-height: 0.95;
    letter-spacing: -0.05em;
}

.woocommerce-shop-page-wrapper .market-switch,
.woocommerce-products-header .market-switch {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    margin: 0;
    border-radius: 999px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--border);
}

/* pagina market */
.tt-market-page {
    margin-top: 22px;
    margin-bottom: 50px;
}

/* sezioni */
.tt-market-section + .tt-market-section {
    margin-top: 56px;
}

.tt-market-section__head {
    margin-bottom: 22px;
}

.tt-market-section__title {
    margin: 0 0 8px;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1;
    text-align: left;
    letter-spacing: -0.03em;
}

.tt-market-section__subtitle {
    margin: 0;
    color: var(--text-dim);
    font-size: 15px;
    line-height: 1.5;
}

/* =========================
   CATEGORIE
========================= */
.tt-market-categories-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.tt-market-category-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 24px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    transition: var(--transition);
}

.tt-market-category-card:hover {
    transform: translateY(-4px);
    border-color: rgba(91,75,255,0.35);
    box-shadow: 0 18px 40px rgba(0,0,0,0.35);
}

.tt-market-category-card__thumb {
    aspect-ratio: 1 / 1;
    background: var(--bg-elev);
    overflow: hidden;
}

.tt-market-category-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 !important;
}

.tt-market-category-card__body {
    padding: 16px 18px 18px;
}

.tt-market-category-card__title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    font-size: 28px;
    line-height: 1.02;
    letter-spacing: -0.03em;
    color: var(--text);
}

.tt-market-category-card__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
    padding: 0 10px;
    border-radius: 999px;
    background: #efff00;
    color: #000;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}

/* =========================
   PRODOTTI
========================= */
.tt-market-section-products .woocommerce-result-count,
.tt-market-section-products .woocommerce-ordering {
    margin-bottom: 20px;
}

.tt-market-section-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
}

.tt-market-section-products ul.products li.product {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0 0 16px;
    border-radius: 24px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    transition: var(--transition);
}

.tt-market-section-products ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: rgba(91,75,255,0.35);
    box-shadow: 0 18px 40px rgba(0,0,0,0.35);
}

.tt-market-section-products ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 0 !important;
    background: var(--bg-elev);
}

.tt-market-section-products ul.products li.product .woocommerce-loop-product__title {
    padding: 16px 18px 0;
    margin: 0;
    color: var(--text);
    font-size: 28px;
    line-height: 1.02;
    letter-spacing: -0.03em;
}

.tt-market-section-products ul.products li.product .price {
    padding: 10px 18px 0;
    margin: 0;
    color: var(--text-soft);
    font-size: 18px;
    font-weight: 600;
}

.tt-market-section-products ul.products li.product .button {
    margin: 16px 18px 0;
    min-height: 48px;
    border-radius: 16px;
}

/* count / ordering alignment */
.tt-market-section-products .woocommerce-ordering select {
    min-height: 46px;
    border-radius: 14px;
}

/* paginazione */
.woocommerce nav.woocommerce-pagination {
    margin-top: 28px;
}

.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 14px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    color: var(--text-soft);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    color: #fff;
    border-color: rgba(91,75,255,0.35);
    box-shadow: 0 0 0 3px rgba(91,75,255,0.12);
}

/* responsive */
@media (max-width: 1100px) {
    .tt-market-categories-grid,
    .tt-market-section-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .woocommerce .woocommerce-breadcrumb,
    .woocommerce .woocommerce-notices-wrapper,
    .woocommerce .woocommerce-products-header,
    .woocommerce .tt-market-page,
    .woocommerce .woocommerce-no-products-found,
    .woocommerce .woocommerce-info,
    .woocommerce .woocommerce-message,
    .woocommerce .woocommerce-error {
        width: min(100%, calc(100% - 24px));
    }

    .tt-market-categories-grid,
    .tt-market-section-products ul.products {
        grid-template-columns: 1fr;
    }

    .tt-market-section__title {
        font-size: 30px;
    }

    .tt-market-category-card__title,
    .tt-market-section-products ul.products li.product .woocommerce-loop-product__title {
        font-size: 22px;
    }
}

/* ============================================================
   FIX SHOP HERO CENTRATO
============================================================ */

.woocommerce-shop-page-wrapper .woocommerce-products-header,
.woocommerce-products-header {
    display: flex;
    flex-direction: column;
    align-items: center !important;
    justify-content: center;
    text-align: center;
    gap: 18px;
    padding: 32px 0 18px;
}

.woocommerce-shop-page-wrapper .woocommerce-products-header__title.page-title,
.woocommerce-products-header__title.page-title {
    width: 100%;
    margin: 0;
    text-align: center !important;
}

.woocommerce-shop-page-wrapper .page-description,
.woocommerce-products-header .page-description,
.woocommerce-shop-page-wrapper .term-description,
.woocommerce-products-header .term-description {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.woocommerce-shop-page-wrapper .market-switch,
.woocommerce-products-header .market-switch {
    align-self: center !important;
    justify-content: center;
    margin: 0 auto;
}

/* ============================================================
   FIX GRID SHOP: CARD CORRETTE
============================================================ */

.tt-market-section-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0 !important;
    padding: 0 !important;
    align-items: start;
}

.tt-market-section-products ul.products li.product,
.tt-market-section-products ul.products li.product-category {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-self: start;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
    padding: 0 !important;
    border-radius: 24px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    transition: var(--transition);
}

.tt-market-section-products ul.products li.product:hover,
.tt-market-section-products ul.products li.product-category:hover {
    transform: translateY(-4px);
    border-color: rgba(91,75,255,0.35);
    box-shadow: 0 18px 40px rgba(0,0,0,0.35);
}

/* link card */
.tt-market-section-products ul.products li.product > a,
.tt-market-section-products ul.products li.product-category > a {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

/* immagine */
.tt-market-section-products ul.products li.product a img,
.tt-market-section-products ul.products li.product-category a img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    display: block;
    background: var(--bg-elev);
    border-radius: 0 !important;
    margin: 0 !important;
}

/* titolo prodotto */
.tt-market-section-products ul.products li.product .woocommerce-loop-product__title,
.tt-market-section-products ul.products li.product-category .woocommerce-loop-category__title {
    margin: 0 !important;
    padding: 16px 18px 0 !important;
    color: var(--text);
    font-size: 28px;
    line-height: 1.02;
    letter-spacing: -0.03em;
    text-align: left;
}

/* count categoria */
.tt-market-section-products ul.products li.product-category .woocommerce-loop-category__title .count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 32px;
    margin-left: 8px;
    padding: 0 8px;
    border-radius: 999px;
    background: #efff00;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

/* prezzo prodotto */
.tt-market-section-products ul.products li.product .price {
    margin: 0 !important;
    padding: 10px 18px 0 !important;
    color: var(--text-soft);
    font-size: 18px;
    font-weight: 600;
    text-align: left;
}

/* bottone prodotto */
.tt-market-section-products ul.products li.product .button {
    margin: 16px 18px 18px !important;
    min-height: 48px;
    border-radius: 16px;
}

/* se è categoria, niente spazi strani sotto */
.tt-market-section-products ul.products li.product-category mark,
.tt-market-section-products ul.products li.product-category .button {
    display: none !important;
}

/* ordering + result count */
.tt-market-section-products .woocommerce-ordering,
.tt-market-section-products .woocommerce-result-count {
    margin-bottom: 20px;
}

.tt-market-section-products .woocommerce-ordering {
    float: right;
}

.tt-market-section-products .woocommerce-result-count {
    float: left;
}

.tt-market-section-products::after {
    content: "";
    display: block;
    clear: both;
}

/* ============================================================
   FIX ALTEZZE E SPAZI STRANI NEL LOOP
============================================================ */

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category {
    margin: 0 !important;
}

.woocommerce ul.products li.product-category.product {
    width: auto !important;
    float: none !important;
}

.woocommerce ul.products.columns-4 li.product,
.woocommerce ul.products.columns-4 li.product-category {
    width: auto !important;
    margin-right: 0 !important;
    float: none !important;
}

/* ============================================================
   HOTFIX SINGLE PRODUCT — RESET LAYOUT ROTTO
============================================================ */

/* 1. Il wrapper prodotto NON deve essere grid */
.single-product .woocommerce div.product,
.single-product .woocommerce-page div.product,
.single-product div.product.tt-single-product {
    display: block !important;
    max-width: 1200px;
    margin: 0 auto 32px !important;
    padding: 0 !important;
}

/* 2. La vera griglia è solo quella custom */
.single-product .tt-single-product-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.8fr) !important;
    gap: 24px !important;
    align-items: start !important;
    margin-bottom: 24px;
}

/* 3. Gallery e summary */
.single-product .tt-single-product-gallery,
.single-product .tt-single-product-summary {
    min-width: 0;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}

.single-product .tt-single-product-gallery {
    padding: 18px;
}

.single-product .tt-single-product-summary {
    padding: 24px;
    position: relative !important;
    top: auto !important;
}

/* 4. Il blocco sotto deve stare sotto, non in colonna laterale */
.single-product .tt-single-product-bottom {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    margin-top: 24px !important;
}

/* 5. Tabs a tutta larghezza */
.single-product .tt-single-product-bottom .woocommerce-tabs {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}

/* 6. Reset di eventuali colonne WooCommerce legacy */
.single-product .woocommerce div.product .woocommerce-tabs,
.single-product .woocommerce div.product .related,
.single-product .woocommerce div.product .up-sells,
.single-product .woocommerce div.product .summary,
.single-product .woocommerce div.product .woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
}

/* 7. Però dentro la griglia custom gallery e summary tornano normali */
.single-product .tt-single-product-grid .tt-single-product-gallery {
    width: 100% !important;
}

.single-product .tt-single-product-grid .tt-single-product-summary {
    width: 100% !important;
}

/* 8. Titolo summary */
.single-product .tt-single-product-summary .product_title {
    margin: 0 0 14px !important;
    font-size: clamp(30px, 3vw, 48px) !important;
    line-height: 0.95 !important;
    text-align: left !important;
    max-width: 10ch;
}

/* 9. Immagine principale */
.single-product .tt-single-product-gallery .woocommerce-product-gallery {
    margin: 0 !important;
}

.single-product .tt-single-product-gallery .woocommerce-product-gallery__wrapper {
    border-radius: 18px;
    overflow: hidden;
}

.single-product .tt-single-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: cover;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: var(--bg-elev);
}

/* 10. Thumbs */
.single-product .tt-single-product-gallery .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 90px));
    gap: 12px;
    justify-content: start;
    margin-top: 14px !important;
}

.single-product .tt-single-product-gallery .flex-control-thumbs li {
    margin: 0 !important;
}

.single-product .tt-single-product-gallery .flex-control-thumbs img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: var(--bg-elev);
}

/* 11. Tabs nav */
.single-product .tt-single-product-bottom .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 !important;
    padding: 14px !important;
    border-bottom: 1px solid var(--border);
    background: rgba(255,255,255,0.02);
}

.single-product .tt-single-product-bottom .woocommerce-tabs ul.tabs::before {
    display: none !important;
}

.single-product .tt-single-product-bottom .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.single-product .tt-single-product-bottom .woocommerce-tabs ul.tabs li a {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,0.03);
    color: var(--text-soft);
    font-size: 14px;
    font-weight: 600;
}

.single-product .tt-single-product-bottom .woocommerce-tabs ul.tabs li.active a {
    color: var(--text);
    border-color: rgba(91,75,255,0.45);
    box-shadow: 0 0 0 4px rgba(91,75,255,0.12);
}

/* 12. Pannello tabs */
.single-product .tt-single-product-bottom .woocommerce-tabs .panel {
    margin: 0 !important;
    padding: 24px !important;
}

/* 13. Responsive */
@media (max-width: 1100px) {
    .single-product .tt-single-product-grid {
        grid-template-columns: 1fr !important;
    }

    .single-product .tt-single-product-summary .product_title {
        max-width: none;
    }
}

/* nasconde il contatto venditore */
.dokan-store-support-btn,
.vendor-contact-btn,
a.contact-seller,
button.contact-seller {
    display: none !important;
}

/* ============================================================
   CART BLOCK — RESET + LAYOUT CORRETTO
============================================================ */

/* wrapper generale del blocco cart */
.wp-block-woocommerce-cart.alignwide {
    width: min(1320px, calc(100% - 48px)) !important;
    margin: 28px auto 60px !important;
    max-width: none !important;
}

/* il cart block non deve avere width strane interne */
.wp-block-woocommerce-cart .wc-block-cart,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
    width: 100% !important;
    max-width: none !important;
}

/* layout reale: colonna prodotti + sidebar */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 24px !important;
    align-items: start !important;
}

/* reset dei children interni */
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-components-sidebar {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    margin: 0 !important;
}

/* card sinistra e destra */
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-components-sidebar {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}

/* colonna sinistra */
.wp-block-woocommerce-cart .wc-block-cart__main {
    padding: 18px 20px 20px;
}

/* colonna destra */
.wp-block-woocommerce-cart .wc-block-components-sidebar {
    padding: 20px;
    position: sticky;
    top: 24px;
}

/* tabella prodotti */
.wp-block-woocommerce-cart .wc-block-cart-items {
    margin: 0 !important;
    border: 0 !important;
}

/* header tabella */
.wp-block-woocommerce-cart .wc-block-cart-items thead th {
    color: var(--text-dim) !important;
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--border) !important;
}

/* riga prodotto */
.wp-block-woocommerce-cart .wc-block-cart-items__row {
    border-bottom: 1px solid var(--border) !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items tbody tr:last-child {
    border-bottom: 0 !important;
}

/* celle */
.wp-block-woocommerce-cart .wc-block-cart-item__image,
.wp-block-woocommerce-cart .wc-block-cart-item__product,
.wp-block-woocommerce-cart .wc-block-cart-item__total {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    vertical-align: top !important;
}

/* immagine */
.wp-block-woocommerce-cart .wc-block-cart-item__image img {
    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;
    object-fit: cover;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: var(--bg-elev);
}

/* nome prodotto */
.wp-block-woocommerce-cart .wc-block-components-product-name {
    color: var(--text) !important;
    font-size: 24px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    margin-bottom: 8px !important;
    display: inline-block;
}

/* prezzo e meta */
.wp-block-woocommerce-cart .wc-block-components-product-price,
.wp-block-woocommerce-cart .wc-block-cart-item__prices,
.wp-block-woocommerce-cart .wc-block-components-product-metadata,
.wp-block-woocommerce-cart .wc-block-components-product-badge {
    color: var(--text-soft) !important;
}

/* prezzo colonna destra della riga */
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
    color: var(--text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

/* quantity */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
    width: 124px !important;
    min-height: 46px !important;
    border-radius: 14px !important;
    border: 1px solid var(--border) !important;
    background: var(--bg-elev) !important;
    overflow: hidden;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector input {
    background: transparent !important;
    border: 0 !important;
    color: var(--text) !important;
    font-size: 15px !important;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector button {
    background: transparent !important;
    border: 0 !important;
    color: var(--text) !important;
}

/* remove */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
    color: var(--text-dim) !important;
    text-decoration: none !important;
    font-size: 14px !important;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: var(--text) !important;
}

/* sidebar titolo */
.wp-block-woocommerce-cart .wc-block-components-title,
.wp-block-woocommerce-cart .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-components-panel__button {
    color: var(--text) !important;
}

/* righe totals */
.wp-block-woocommerce-cart .wc-block-components-totals-item {
    padding: 14px 0 !important;
    border-top: 1px solid var(--border) !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-item:first-child {
    border-top: 0 !important;
}

/* totale finale */
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item {
    margin-top: 10px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--border-strong) !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
    font-size: 30px !important;
    font-weight: 800 !important;
    color: var(--text) !important;
}

/* bottone checkout */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-button {
    width: 100% !important;
    min-height: 54px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(91,75,255,0.35) !important;
    background: linear-gradient(180deg, var(--primary-soft), var(--primary)) !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: 0 16px 34px rgba(91,75,255,0.18);
}

/* coupon/input */
.wp-block-woocommerce-cart .wc-block-components-text-input input,
.wp-block-woocommerce-cart .wc-block-components-form .wc-block-components-text-input input {
    min-height: 48px !important;
    border-radius: 14px !important;
    border: 1px solid var(--border) !important;
    background: var(--bg-elev) !important;
    color: var(--text) !important;
}

/* notices */
.wp-block-woocommerce-cart .wc-block-components-notice-banner {
    border-radius: 16px !important;
    border: 1px solid var(--border) !important;
    background: var(--bg-card) !important;
    color: var(--text) !important;
}

/* mobile */
@media (max-width: 980px) {
    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr !important;
    }

    .wp-block-woocommerce-cart .wc-block-components-sidebar {
        position: relative;
        top: auto;
    }
}

@media (max-width: 640px) {
    .wp-block-woocommerce-cart.alignwide {
        width: min(100%, calc(100% - 24px)) !important;
        margin: 24px auto 42px !important;
    }

    .wp-block-woocommerce-cart .wc-block-cart__main,
    .wp-block-woocommerce-cart .wc-block-components-sidebar {
        border-radius: 18px;
        padding: 16px;
    }

    .wp-block-woocommerce-cart .wc-block-components-product-name {
        font-size: 19px !important;
    }

    .wp-block-woocommerce-cart .wc-block-cart-item__image img {
        width: 78px !important;
        height: 78px !important;
        min-width: 78px !important;
    }
}

/* ============================================================
   ACCOUNT AUTH — SOLO LOGIN / REGISTER
============================================================ */

/* wrapper pagina account auth */
.woocommerce-account #customer_login {
    width: min(1180px, calc(100% - 48px));
    margin: 40px auto 70px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

/* reset colonne Woo */
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2,
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-width: 0 !important;
}

/* card */
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2,
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 28px 24px 24px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}

/* titoli */
.woocommerce-account #customer_login h2 {
    margin: 0 0 22px;
    font-size: clamp(32px, 3vw, 48px);
    line-height: 0.95;
    letter-spacing: -0.04em;
    text-align: left;
    color: var(--text);
}

/* form */
.woocommerce-account #customer_login form.login,
.woocommerce-account #customer_login form.register {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

/* righe */
.woocommerce-account #customer_login .form-row {
    width: 100% !important;
    margin: 0 0 18px !important;
}

/* label */
.woocommerce-account #customer_login .form-row label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-soft);
    font-size: 14px;
    font-weight: 500;
}

/* input */
.woocommerce-account #customer_login .form-row input.input-text,
.woocommerce-account #customer_login .form-row textarea,
.woocommerce-account #customer_login .form-row select {
    width: 100% !important;
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: var(--bg-elev);
    color: var(--text);
    box-shadow: none;
}

.woocommerce-account #customer_login .form-row input.input-text:focus,
.woocommerce-account #customer_login .form-row textarea:focus,
.woocommerce-account #customer_login .form-row select:focus {
    outline: none;
    border-color: rgba(91,75,255,0.45);
    box-shadow: 0 0 0 4px rgba(91,75,255,0.12);
}

/* checkbox */
.woocommerce-account #customer_login .woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--text-soft);
    font-size: 14px;
}

/* bottoni */
.woocommerce-account #customer_login button.button,
.woocommerce-account #customer_login .button,
.woocommerce-account #customer_login input[type="submit"] {
    min-height: 52px;
    padding: 0 22px;
    border-radius: 16px;
    border: 1px solid rgba(91,75,255,0.35);
    background: linear-gradient(180deg, var(--primary-soft), var(--primary));
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 16px 34px rgba(91,75,255,0.18);
}

/* ultima riga login/register */
.woocommerce-account #customer_login .woocommerce-form-login .form-row:last-child,
.woocommerce-account #customer_login .register .form-row:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin-top: 8px !important;
}

/* testi secondari */
.woocommerce-account #customer_login p,
.woocommerce-account #customer_login .woocommerce-password-hint,
.woocommerce-account #customer_login .woocommerce-password-strength {
    color: var(--text-dim);
    line-height: 1.55;
}

/* link */
.woocommerce-account #customer_login a {
    color: var(--text-soft);
}

.woocommerce-account #customer_login a:hover {
    color: var(--text);
}

/* notices */
.woocommerce-account .woocommerce-notices-wrapper,
.woocommerce-account #customer_login .woocommerce-message,
.woocommerce-account #customer_login .woocommerce-error,
.woocommerce-account #customer_login .woocommerce-info {
    width: min(1180px, calc(100% - 48px));
    margin-left: auto;
    margin-right: auto;
    border-radius: 16px;
}

/* responsive */
@media (max-width: 980px) {
    .woocommerce-account #customer_login {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .woocommerce-account #customer_login,
    .woocommerce-account .woocommerce-notices-wrapper,
    .woocommerce-account #customer_login .woocommerce-message,
    .woocommerce-account #customer_login .woocommerce-error,
    .woocommerce-account #customer_login .woocommerce-info {
        width: min(100%, calc(100% - 24px));
    }

    .woocommerce-account #customer_login {
        margin: 26px auto 46px;
    }

    .woocommerce-account #customer_login .u-column1,
    .woocommerce-account #customer_login .u-column2,
    .woocommerce-account #customer_login .col-1,
    .woocommerce-account #customer_login .col-2 {
        padding: 22px 18px 20px;
        border-radius: 20px;
    }

    .woocommerce-account #customer_login h2 {
        font-size: 34px;
    }
}
/* ============================================================
   ACCOUNT LOGIN / REGISTER ONLY
   Agisce solo quando è presente #customer_login
============================================================ */

/* reset del wrapper solo nella pagina login/register */
.woocommerce-account .woocommerce:has(#customer_login) {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin: 40px auto 70px !important;
    padding: 0 !important;
    display: block !important;
    float: none !important;
}

/* notices sopra login/register */
.woocommerce-account .woocommerce-notices-wrapper:has(+ #customer_login),
.woocommerce-account .woocommerce:has(#customer_login) .woocommerce-notices-wrapper {
    width: min(1180px, calc(100% - 48px)) !important;
    margin: 0 auto 18px !important;
}

/* wrapper diretto login/register */
.woocommerce-account #customer_login {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: start !important;
}

/* reset colonne woo */
.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2,
.woocommerce-account #customer_login > .col-1,
.woocommerce-account #customer_login > .col-2 {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
}

/* card */
.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2,
.woocommerce-account #customer_login > .col-1,
.woocommerce-account #customer_login > .col-2 {
    background: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 24px !important;
    padding: 28px 24px 24px !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.35) !important;
}

/* titoli */
.woocommerce-account #customer_login > .u-column1 > h2,
.woocommerce-account #customer_login > .u-column2 > h2,
.woocommerce-account #customer_login > .col-1 > h2,
.woocommerce-account #customer_login > .col-2 > h2 {
    margin: 0 0 22px !important;
    font-size: clamp(32px, 3vw, 48px) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.04em !important;
    text-align: left !important;
    color: var(--text) !important;
}

/* form */
.woocommerce-account #customer_login form.login,
.woocommerce-account #customer_login form.register {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* righe */
.woocommerce-account #customer_login .form-row {
    width: 100% !important;
    margin: 0 0 18px !important;
}

/* label */
.woocommerce-account #customer_login .form-row label {
    display: block !important;
    margin-bottom: 8px !important;
    color: var(--text-soft) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* input */
.woocommerce-account #customer_login .form-row input.input-text,
.woocommerce-account #customer_login .form-row textarea,
.woocommerce-account #customer_login .form-row select {
    width: 100% !important;
    min-height: 52px !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    border: 1px solid var(--border) !important;
    background: var(--bg-elev) !important;
    color: var(--text) !important;
    box-shadow: none !important;
}

.woocommerce-account #customer_login .form-row input.input-text:focus,
.woocommerce-account #customer_login .form-row textarea:focus,
.woocommerce-account #customer_login .form-row select:focus {
    outline: none !important;
    border-color: rgba(91,75,255,0.45) !important;
    box-shadow: 0 0 0 4px rgba(91,75,255,0.12) !important;
}

/* checkbox login */
.woocommerce-account #customer_login .woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--text-soft) !important;
    font-size: 14px !important;
}

/* bottoni */
.woocommerce-account #customer_login button.button,
.woocommerce-account #customer_login .button,
.woocommerce-account #customer_login input[type="submit"] {
    min-height: 52px !important;
    padding: 0 22px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(91,75,255,0.35) !important;
    background: linear-gradient(180deg, var(--primary-soft), var(--primary)) !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: 0 16px 34px rgba(91,75,255,0.18) !important;
}

/* ultima riga login/register */
.woocommerce-account #customer_login .woocommerce-form-login .form-row:last-child,
.woocommerce-account #customer_login .register .form-row:last-child {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    align-items: center !important;
    margin-top: 8px !important;
}

/* testi secondari */
.woocommerce-account #customer_login p,
.woocommerce-account #customer_login .woocommerce-password-hint,
.woocommerce-account #customer_login .woocommerce-password-strength {
    color: var(--text-dim) !important;
    line-height: 1.55 !important;
}

/* link */
.woocommerce-account #customer_login a {
    color: var(--text-soft) !important;
}

.woocommerce-account #customer_login a:hover {
    color: var(--text) !important;
}

/* mobile */
@media (max-width: 980px) {
    .woocommerce-account .woocommerce:has(#customer_login),
    .woocommerce-account .woocommerce-notices-wrapper:has(+ #customer_login),
    .woocommerce-account .woocommerce:has(#customer_login) .woocommerce-notices-wrapper {
        width: min(100%, calc(100% - 24px)) !important;
    }

    .woocommerce-account #customer_login {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .woocommerce-account .woocommerce:has(#customer_login) {
        margin: 26px auto 46px !important;
    }

    .woocommerce-account #customer_login > .u-column1,
    .woocommerce-account #customer_login > .u-column2,
    .woocommerce-account #customer_login > .col-1,
    .woocommerce-account #customer_login > .col-2 {
        padding: 22px 18px 20px !important;
        border-radius: 20px !important;
    }

    .woocommerce-account #customer_login > .u-column1 > h2,
    .woocommerce-account #customer_login > .u-column2 > h2,
    .woocommerce-account #customer_login > .col-1 > h2,
    .woocommerce-account #customer_login > .col-2 > h2 {
        font-size: 34px !important;
    }
}
/* ============================================================
   FORCE LOGIN + REGISTER SIDE BY SIDE
============================================================ */

.woocommerce-account #customer_login {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
}

/* rimuove elementi fantasma che possono sballare la grid */
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after {
    display: none !important;
    content: none !important;
}

/* forza i due blocchi nelle due colonne corrette */
.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .col-1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.woocommerce-account #customer_login > .u-column2,
.woocommerce-account #customer_login > .col-2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

/* reset completo dei due box */
.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2,
.woocommerce-account #customer_login > .col-1,
.woocommerce-account #customer_login > .col-2 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    align-self: start !important;
}

/* mobile */
@media (max-width: 980px) {
    .woocommerce-account #customer_login {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-account #customer_login > .u-column1,
    .woocommerce-account #customer_login > .u-column2,
    .woocommerce-account #customer_login > .col-1,
    .woocommerce-account #customer_login > .col-2 {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}
/* ============================================================
   MARKETPLACE – SEARCH + DROPDOWN FILTRO
============================================================ */

.tt-market-section-toolbar {
    margin: 40px 0 56px;
    padding: 32px;
    background: linear-gradient(180deg, #0f0f14 0%, #09090c 100%);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 28px;
    box-shadow:
        0 20px 60px rgba(0,0,0,0.35),
        inset 0 1px 0 rgba(255,255,255,0.04);
}

.tt-market-section-toolbar .tt-market-section__head {
    margin-bottom: 24px;
}

.tt-market-section-toolbar .tt-market-section__title {
    margin: 0 0 8px;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #ffffff;
}

.tt-market-section-toolbar .tt-market-section__subtitle {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255,255,255,0.68);
    max-width: 720px;
}

.tt-market-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 16px;
    align-items: center;
}

/* SEARCH */
.tt-market-toolbar__search {
    min-width: 0;
}

.tt-market-toolbar__search form.woocommerce-product-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 14px;
    align-items: center;
    margin: 0;
    padding: 18px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 22px;
    backdrop-filter: blur(8px);
}

.tt-market-toolbar__search .screen-reader-text {
    display: none;
}

.tt-market-toolbar__search input[type="search"] {
    width: 100%;
    min-width: 0;
    min-height: 68px;
    padding: 0 22px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.08);
    background: #0c0d16;
    color: #ffffff;
    font-size: 18px;
    outline: none;
    transition: all 0.25s ease;
    box-shadow: none;
}

.tt-market-toolbar__search input[type="search"]::placeholder {
    color: rgba(255,255,255,0.38);
}

.tt-market-toolbar__search input[type="search"]:focus {
    border-color: #6f5cff;
    box-shadow: 0 0 0 4px rgba(111,92,255,0.14);
    background: #121321;
}

.tt-market-toolbar__search button,
.tt-market-toolbar__search input[type="submit"],
.tt-market-toolbar__search button[type="submit"] {
    width: 100%;
    min-height: 68px;
    padding: 0 22px;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(135deg, #6f5cff 0%, #5a4df0 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 12px 30px rgba(90,77,240,0.30);
}

.tt-market-toolbar__search button:hover,
.tt-market-toolbar__search input[type="submit"]:hover,
.tt-market-toolbar__search button[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 38px rgba(90,77,240,0.38);
}

/* DROPDOWN */
.tt-market-toolbar__filters {
    min-width: 0;
}

.tt-market-category-filter {
    margin: 0;
}

.tt-market-category-filter .screen-reader-text {
    display: none;
}

.tt-market-category-filter select {
    width: 100%;
    min-height: 104px;
    padding: 0 56px 0 22px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.07);
    background-color: rgba(255,255,255,0.03);
    color: #ffffff;
    font-size: 17px;
    font-weight: 600;
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    backdrop-filter: blur(8px);
    transition: all 0.25s ease;
    background-image:
        linear-gradient(45deg, transparent 50%, #b8b2ff 50%),
        linear-gradient(135deg, #b8b2ff 50%, transparent 50%);
    background-position:
        calc(100% - 24px) calc(50% - 4px),
        calc(100% - 16px) calc(50% - 4px);
    background-size: 8px 8px, 8px 8px;
    background-repeat: no-repeat;
}

.tt-market-category-filter select:focus {
    border-color: #6f5cff;
    box-shadow: 0 0 0 4px rgba(111,92,255,0.14);
    background-color: rgba(255,255,255,0.05);
}

.tt-market-category-filter select option {
    background: #111119;
    color: #ffffff;
}

/* responsive */
@media (max-width: 1024px) {
    .tt-market-toolbar {
        grid-template-columns: 1fr;
    }

    .tt-market-category-filter select {
        min-height: 68px;
        border-radius: 18px;
    }
}

@media (max-width: 767px) {
    .tt-market-section-toolbar {
        padding: 20px;
        border-radius: 22px;
    }

    .tt-market-toolbar__search form.woocommerce-product-search {
        grid-template-columns: 1fr;
        padding: 14px;
        border-radius: 18px;
    }

    .tt-market-toolbar__search input[type="search"],
    .tt-market-toolbar__search button,
    .tt-market-toolbar__search input[type="submit"],
    .tt-market-category-filter select {
        min-height: 60px;
        font-size: 16px;
        border-radius: 16px;
    }
}
.tt-cart-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.tt-cart-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.tt-cart-count {
    position: absolute;
    top: -8px;
    right: -10px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #6f5cff;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    box-shadow: 0 6px 18px rgba(111, 92, 255, 0.35);
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
}

.tt-cart-count.is-visible {
    opacity: 1;
    transform: scale(1);
}
/* =========================================================
   TAM TAM SHOP TOOLBAR — REGOLE DEFINITIVE
========================================================= */

/* 1) sezione toolbar più compatta */
.tt-market-page .tt-market-section.tt-market-section-toolbar {
    padding: 20px 28px 10px !important;
    margin: 0 !important;
}

/* 2) titolo e testo intro più compatti */
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-section__head {
    margin-bottom: 14px !important;
}

.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-section__head h2,
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-section__head p {
    margin-bottom: 0 !important;
}

/* 3) wrapper principale: 70 / 30 */
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar {
    display: grid !important;
    grid-template-columns: 70% 30% !important;
    gap: 14px !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 4) i due blocchi occupano tutto */
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__search,
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__filters {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
}

/* 5) form search: input + bottone */
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__search form.woocommerce-product-search {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 190px !important;
    gap: 12px !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 6) input ricerca */
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__search .search-field,
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__search input[type="search"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* 7) bottone search */
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__search button {
    width: 190px !important;
    min-width: 190px !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    align-self: stretch !important;
}

/* 8) select categorie: stessa altezza */
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__filters select,
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__filters .nice-select,
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__filters .select2-container,
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__filters .select2-container--default .select2-selection--single {
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* 9) testo verticale centrato nel select */
.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__filters .nice-select {
    display: flex !important;
    align-items: center !important;
    line-height: 1 !important;
}

.tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 64px !important;
}

/* 10) avvicina prodotti sotto */
.tt-market-page .tt-market-section.tt-market-section-products {
    margin-top: 8px !important;
    padding-top: 8px !important;
}

/* 11) mobile */
@media (max-width: 900px) {
    .tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar {
        grid-template-columns: 1fr !important;
    }

    .tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__search form.woocommerce-product-search {
        grid-template-columns: minmax(0, 1fr) 170px !important;
    }

    .tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__search button {
        width: 170px !important;
        min-width: 170px !important;
    }
}

@media (max-width: 640px) {
    .tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__search form.woocommerce-product-search {
        grid-template-columns: 1fr !important;
    }

    .tt-market-page .tt-market-section.tt-market-section-toolbar .tt-market-toolbar__search button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

.market-switch .switch-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 120px !important;
    min-height: 52px !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    background: #1a1a22 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: none !important;
    transition: all 0.25s ease !important;
}

/* BOTTONI SELEZIONE — STATO ATTIVO BLU */

.market-switch .switch-btn.active,
.market-switch .switch-btn[aria-current="page"] {
    background: linear-gradient(135deg, #2f6bff, #5b8cff) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(47, 107, 255, 0.24) !important;
}

.market-switch .switch-btn.active:hover,
.market-switch .switch-btn[aria-current="page"]:hover {
    background: linear-gradient(135deg, #245cf0, #4d7fff) !important;
}

/* =========================================================
   TAM TAM STREET — MARKET PAGE UI SYSTEM
   Pagina shop / marketplace
========================================================= */

/* ---------- TOKENS ---------- */
:root {
    --tt-market-bg: #000000;
    --tt-market-surface: #0a0d16;
    --tt-market-surface-2: #0f1320;
    --tt-market-surface-3: #13192a;
    --tt-market-field: #0d1220;

    --tt-market-text: #ffffff;
    --tt-market-text-soft: #c6cad7;
    --tt-market-text-dim: #9198ab;

    --tt-market-border: rgba(255, 255, 255, 0.07);
    --tt-market-border-strong: rgba(255, 255, 255, 0.12);

    --tt-market-accent: #2f6bff;
    --tt-market-accent-2: #5b8cff;
    --tt-market-accent-hover: #245cf0;

    --tt-market-shadow: 0 12px 32px rgba(0, 0, 0, 0.34);
    --tt-market-glow: 0 12px 28px rgba(47, 107, 255, 0.22);

    --tt-radius-xs: 12px;
    --tt-radius-sm: 16px;
    --tt-radius-md: 22px;
    --tt-radius-lg: 30px;

    --tt-space-1: 8px;
    --tt-space-2: 12px;
    --tt-space-3: 16px;
    --tt-space-4: 24px;
    --tt-space-5: 32px;
    --tt-space-6: 40px;
}

/* =========================================================
   PAGE WRAPPER
========================================================= */

body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.woocommerce-shop {
    background: var(--tt-market-bg);
}

.tt-market-page {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    color: var(--tt-market-text);
}

/* =========================================================
   BREADCRUMB
========================================================= */

.woocommerce-breadcrumb {
    width: min(1320px, calc(100% - 48px));
    margin: 18px auto 10px;
    color: var(--tt-market-text-dim);
    font-size: 14px;
}

.woocommerce-breadcrumb a {
    color: var(--tt-market-text-soft);
    text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
    color: var(--tt-market-text);
}

/* =========================================================
   HEADER MARKETPLACE
========================================================= */

.woocommerce-products-header {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    padding: 22px 0 14px;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.woocommerce-products-header__title.page-title {
    margin: 0 0 10px;
    color: var(--tt-market-text);
    font-size: clamp(42px, 6vw, 76px);
    line-height: 0.95;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.woocommerce-products-header .page-description,
.woocommerce-products-header .page-description p {
    margin: 0 auto;
    max-width: 980px;
    color: var(--tt-market-text-soft);
    font-size: 17px;
    line-height: 1.45;
}

/* =========================================================
   SWITCH PRODOTTI / VENDITORI
========================================================= */

.market-switch {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center;
    gap: 8px !important;
    margin: 22px auto 0 !important;
    padding: 8px !important;
    background: #111117 !important;
    border: 1px solid var(--tt-market-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

.market-switch .switch-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 126px !important;
    min-height: 54px !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    background: #eef1f7 !important;
    color: #1c2230 !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: transform 0.22s ease, opacity 0.22s ease, background 0.22s ease !important;
}

.market-switch .switch-btn:hover {
    opacity: 0.94 !important;
    transform: translateY(-1px) !important;
}

.market-switch .switch-btn.active,
.market-switch .switch-btn[aria-current="page"] {
    background: linear-gradient(135deg, var(--tt-market-accent), var(--tt-market-accent-2)) !important;
    color: #ffffff !important;
    box-shadow: var(--tt-market-glow) !important;
}

/* =========================================================
   SECTION BASE
========================================================= */

.tt-market-section {
    background: linear-gradient(180deg, rgba(10,13,22,0.98) 0%, rgba(8,10,18,0.98) 100%);
    border: 1px solid var(--tt-market-border);
    border-radius: var(--tt-radius-lg);
    box-shadow: var(--tt-market-shadow);
}

.tt-market-section + .tt-market-section {
    margin-top: 16px;
}

.tt-market-section__head {
    margin-bottom: 16px;
}

.tt-market-section__head h2,
.tt-market-section__head h3 {
    margin: 0 0 8px;
    color: var(--tt-market-text);
    font-size: clamp(32px, 4.2vw, 56px);
    line-height: 0.95;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.tt-market-section__head p {
    margin: 0;
    max-width: 760px;
    color: var(--tt-market-text-soft);
    font-size: 16px;
    line-height: 1.45;
}

/* =========================================================
   TOOLBAR SECTION
========================================================= */

.tt-market-section.tt-market-section-toolbar {
    padding: 26px 28px 14px !important;
    margin: 18px 0 10px !important;
}

.tt-market-section.tt-market-section-toolbar .tt-market-section__head {
    margin-bottom: 14px !important;
}

.tt-market-section.tt-market-section-toolbar .tt-market-section__head h2,
.tt-market-section.tt-market-section-toolbar .tt-market-section__head h3 {
    font-size: clamp(30px, 4vw, 54px) !important;
    margin-bottom: 6px !important;
}

.tt-market-section.tt-market-section-toolbar .tt-market-section__head p {
    color: var(--tt-market-text-dim) !important;
}

/* ---------- Toolbar grid ---------- */
.tt-market-toolbar {
    display: grid !important;
    grid-template-columns: 70% 30% !important;
    gap: 14px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tt-market-toolbar__search,
.tt-market-toolbar__filters {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* ---------- Search form ---------- */
.tt-market-toolbar__search form.woocommerce-product-search {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 190px !important;
    gap: 12px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tt-market-toolbar__search .screen-reader-text {
    display: none !important;
}

.tt-market-toolbar__search .search-field,
.tt-market-toolbar__search input[type="search"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    box-sizing: border-box !important;
    background: var(--tt-market-field) !important;
    color: var(--tt-market-text) !important;
    border: 1px solid var(--tt-market-border-strong) !important;
    border-radius: 20px !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: 16px !important;
}

.tt-market-toolbar__search .search-field::placeholder,
.tt-market-toolbar__search input[type="search"]::placeholder {
    color: var(--tt-market-text-dim) !important;
    opacity: 1 !important;
}

.tt-market-toolbar__search .search-field:focus,
.tt-market-toolbar__search input[type="search"]:focus {
    border-color: rgba(91, 140, 255, 0.58) !important;
    box-shadow: 0 0 0 4px rgba(47, 107, 255, 0.10) !important;
}

.tt-market-toolbar__search button {
    width: 190px !important;
    min-width: 190px !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, var(--tt-market-accent), var(--tt-market-accent-2)) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: var(--tt-market-glow) !important;
    transition: transform 0.22s ease, filter 0.22s ease !important;
}

.tt-market-toolbar__search button:hover {
    transform: translateY(-1px);
    filter: brightness(1.02);
}

/* ---------- Filters block ---------- */
.tt-market-toolbar__filters select,
.tt-market-toolbar__filters .nice-select,
.tt-market-toolbar__filters .select2-container,
.tt-market-toolbar__filters .select2-container--default .select2-selection--single {
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.tt-market-toolbar__filters select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 0 52px 0 22px !important;
    background: var(--tt-market-field) !important;
    color: var(--tt-market-text) !important;
    border: 1px solid var(--tt-market-border-strong) !important;
    border-radius: 20px !important;
    outline: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    background-image:
        linear-gradient(45deg, transparent 50%, #b7c8ff 50%),
        linear-gradient(135deg, #b7c8ff 50%, transparent 50%);
    background-position:
        calc(100% - 28px) calc(50% - 4px),
        calc(100% - 18px) calc(50% - 4px);
    background-size: 10px 10px, 10px 10px;
    background-repeat: no-repeat;
}

.tt-market-toolbar__filters select:focus {
    border-color: rgba(91, 140, 255, 0.58) !important;
    box-shadow: 0 0 0 4px rgba(47, 107, 255, 0.10) !important;
}

.tt-market-toolbar__filters .nice-select {
    display: flex !important;
    align-items: center !important;
    padding: 0 52px 0 22px !important;
    background: var(--tt-market-field) !important;
    color: var(--tt-market-text) !important;
    border: 1px solid var(--tt-market-border-strong) !important;
    border-radius: 20px !important;
    line-height: 1 !important;
}

.tt-market-toolbar__filters .nice-select:after {
    right: 22px !important;
    border-color: #b7c8ff !important;
}

.tt-market-toolbar__filters .select2-container--default .select2-selection--single {
    display: flex !important;
    align-items: center !important;
    background: var(--tt-market-field) !important;
    color: var(--tt-market-text) !important;
    border: 1px solid var(--tt-market-border-strong) !important;
    border-radius: 20px !important;
    padding: 0 22px !important;
    box-shadow: none !important;
}

.tt-market-toolbar__filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--tt-market-text) !important;
    line-height: 64px !important;
    padding-left: 0 !important;
    padding-right: 28px !important;
}

.tt-market-toolbar__filters .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 64px !important;
    right: 12px !important;
}

/* =========================================================
   PRODUCTS SECTION
========================================================= */

.tt-market-section.tt-market-section-products {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin-top: 6px !important;
    padding-top: 8px !important;
}

.tt-market-section.tt-market-section-products .tt-market-section__head {
    margin-bottom: 12px !important;
}

.tt-market-section.tt-market-section-products .tt-market-section__head h2,
.tt-market-section.tt-market-section-products .tt-market-section__head h3 {
    font-size: clamp(34px, 4vw, 58px) !important;
    margin-bottom: 8px !important;
}

.tt-market-section.tt-market-section-products .tt-market-section__head p {
    color: var(--tt-market-text-soft) !important;
}

/* risultati + ordinamento */
.woocommerce-result-count {
    color: var(--tt-market-text-soft) !important;
    font-size: 15px !important;
    margin: 10px 0 22px !important;
}

.woocommerce-ordering {
    margin: 0 0 22px auto !important;
}

.woocommerce-ordering select {
    min-width: 220px !important;
    height: 54px !important;
    padding: 0 46px 0 18px !important;
    background: #0f121c !important;
    color: var(--tt-market-text) !important;
    border: 1px solid var(--tt-market-border) !important;
    border-radius: 18px !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: 15px !important;
}

/* =========================================================
   PRODUCT GRID
========================================================= */

.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    background: linear-gradient(180deg, #0c101a 0%, #0b0e17 100%) !important;
    border: 1px solid var(--tt-market-border) !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    box-shadow: var(--tt-market-shadow) !important;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    transform: translateY(-3px);
    border-color: rgba(91, 140, 255, 0.22) !important;
    box-shadow: 0 16px 36px rgba(0,0,0,0.38);
}

.woocommerce ul.products li.product a,
.woocommerce-page ul.products li.product a {
    text-decoration: none !important;
}

.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
    margin: 0 !important;
    width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: #edf1f7;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    margin: 0 !important;
    padding: 20px 20px 8px !important;
    color: var(--tt-market-text) !important;
    font-size: 20px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    min-height: 72px;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    display: block;
    padding: 0 20px 18px !important;
    color: #dce5ff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .added_to_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    margin: 0 20px 20px !important;
    padding: 0 18px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--tt-market-accent), var(--tt-market-accent-2)) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: 0 !important;
    box-shadow: var(--tt-market-glow) !important;
}

/* =========================================================
   PAGINATION
========================================================= */

.woocommerce nav.woocommerce-pagination {
    margin: 30px 0 0 !important;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
    border: 0 !important;
    display: inline-flex !important;
    gap: 10px !important;
    background: transparent !important;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: 0 !important;
    overflow: visible !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    min-width: 44px;
    height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #101521;
    color: var(--tt-market-text) !important;
    border: 1px solid var(--tt-market-border);
    text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: linear-gradient(135deg, var(--tt-market-accent), var(--tt-market-accent-2));
    border-color: transparent;
}

/* =========================================================
   EMPTY / MESSAGES
========================================================= */

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    width: min(1320px, calc(100% - 48px));
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 18px !important;
    border: 1px solid var(--tt-market-border) !important;
    background: #111622 !important;
    color: var(--tt-market-text) !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
    .tt-market-page,
    .woocommerce-products-header,
    .woocommerce-breadcrumb {
        width: min(100%, calc(100% - 32px));
    }

    .tt-market-toolbar {
        grid-template-columns: 1fr !important;
    }

    .tt-market-toolbar__search form.woocommerce-product-search {
        grid-template-columns: minmax(0, 1fr) 180px !important;
    }

    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px !important;
    }
}

@media (max-width: 767px) {
    .tt-market-section.tt-market-section-toolbar {
        padding: 20px 18px 12px !important;
    }

    .tt-market-section__head h2,
    .tt-market-section__head h3 {
        font-size: clamp(28px, 9vw, 42px) !important;
    }

    .tt-market-toolbar__search form.woocommerce-product-search {
        grid-template-columns: 1fr !important;
    }

    .tt-market-toolbar__search button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .market-switch {
        width: 100% !important;
        justify-content: center !important;
    }

    .market-switch .switch-btn {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr;
    }

    .woocommerce-ordering {
        margin-left: 0 !important;
        width: 100%;
    }

    .woocommerce-ordering select {
        width: 100% !important;
    }
}

/* =========================================================
   STORE VIEW — NASCONDI SEARCH BAR SOPRA I NEGOZI
========================================================= */

/* nasconde il form search/filter superiore di Dokan */
#dokan-store-listing-filter-form-wrap,
form.store-lists-filter,
form[name="dokan_store_lists_filter_form"] {
    display: none !important;
}

/* compatta la barra rimasta sopra i negozi */
#dokan-store-listing-filter-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 14px 0 20px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#dokan-store-listing-filter-wrap .left,
#dokan-store-listing-filter-wrap .right {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* =========================================================
   STORE VIEW — MIGLIORA ZONA BOTTONI CARD
========================================================= */

/* footer card più pulito */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 14px 16px 16px !important;
    background: linear-gradient(180deg, rgba(8,11,18,0) 0%, rgba(8,11,18,0.65) 100%) !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    min-height: auto !important;
}

/* rimuove elementi inutili o troppo piccoli */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* bottone visit store */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 140px !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #2f6bff, #5b8cff) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    border: 0 !important;
    box-shadow: 0 10px 22px rgba(47,107,255,0.22) !important;
    transition: transform 0.22s ease, filter 0.22s ease !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.03) !important;
}

/* se il link contiene solo icona/freccia, rendilo bottone tondo */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a:has(svg):not(:has(span)),
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a:has(i):not(:has(span)) {
    min-width: 52px !important;
    width: 52px !important;
    padding: 0 !important;
    border-radius: 999px !important;
}

/* avatar logo in basso a destra più elegante */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar img,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer img.avatar {
    width: 58px !important;
    height: 58px !important;
    object-fit: cover !important;
    border-radius: 999px !important;
    border: 3px solid rgba(255,255,255,0.9) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,0.24) !important;
}

/* se vuoi tenere solo un bottone chiaro e pulito, nascondi il mini elemento ridondante */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar + a,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a + .seller-avatar {
    margin-left: auto !important;
}

/* migliora allineamento contenuti nel footer */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > * {
    flex-shrink: 0 !important;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
    #dokan-store-listing-filter-wrap {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    #dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer {
        justify-content: space-between !important;
    }

    #dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a {
        min-width: 120px !important;
    }
}

/* =========================================================
   TAM TAM STREET — STORE VIEW CLEAN
   nasconde search Dokan + sistema bottoni
========================================================= */

/* ---------------------------------------------------------
   1) NASCONDI SEARCH BAR DOKAN SOPRA I NEGOZI
--------------------------------------------------------- */

#dokan-store-listing-filter-form-wrap,
form.store-lists-filter,
form[name="dokan_store_lists_filter_form"],
#dokan-store-listing-filter-wrap form,
#dokan-store-listing-filter-wrap input[type="search"],
#dokan-store-listing-filter-wrap .search-field {
    display: none !important;
}

/* barra superiore pulita */
#dokan-store-listing-filter-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 14px 0 20px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#dokan-store-listing-filter-wrap .left,
#dokan-store-listing-filter-wrap .right {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#dokan-store-listing-filter-wrap,
#dokan-store-listing-filter-wrap span,
#dokan-store-listing-filter-wrap label,
#dokan-store-listing-filter-wrap p {
    color: #d2d8e5 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
}

/* bottone filter */
#dokan-store-listing-filter-wrap button,
#dokan-store-listing-filter-wrap .button,
#dokan-store-listing-filter-wrap input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #6d4dff, #8f63ff) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    box-shadow: 0 10px 24px rgba(109, 77, 255, 0.22) !important;
}

/* select sort */
#dokan-store-listing-filter-wrap select {
    min-width: 160px !important;
    min-height: 48px !important;
    padding: 0 42px 0 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    background: #101521 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* ---------------------------------------------------------
   2) CARD STORE
--------------------------------------------------------- */

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap::before,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap::after,
#dokan-seller-listing-wrap.grid-view .dokan-clearfix {
    display: none !important;
    content: none !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #0d111b 0%, #090d16 100%) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 26px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 32px rgba(0,0,0,0.34) !important;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(91,140,255,0.22) !important;
    box-shadow: 0 18px 38px rgba(0,0,0,0.42) !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-wrapper,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-content,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data-container,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* immagine */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-header {
    position: relative !important;
    height: 220px !important;
    min-height: 220px !important;
    background-color: #121826 !important;
    background-size: cover !important;
    background-position: center !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    overflow: hidden !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-header::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.42) 100%) !important;
    pointer-events: none !important;
}

/* testo */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-content {
    padding: 16px 16px 12px !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data h2,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data h2 a {
    margin: 0 0 10px !important;
    color: #ffffff !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    text-decoration: none !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data p,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data .store-address,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data .store-phone {
    margin: 0 0 8px !important;
    color: #c9d1e0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data i,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data svg {
    color: #8eb0ff !important;
    fill: currentColor !important;
}

/* ---------------------------------------------------------
   3) FOOTER CARD + BOTTONI
--------------------------------------------------------- */

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 14px 16px 16px !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    min-height: auto !important;
}

/* avatar/logo */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar img,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer img.avatar {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover !important;
    border-radius: 999px !important;
    border: 3px solid rgba(255,255,255,0.9) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,0.24) !important;
}

/* link visit store */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > a,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a[title="Visit Store"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 92px !important;
    min-width: 92px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #2f6bff, #5b8cff) !important;
    color: transparent !important;
    font-size: 0 !important;
    text-decoration: none !important;
    border: 0 !important;
    box-shadow: 0 10px 22px rgba(47,107,255,0.20) !important;
    position: relative !important;
    overflow: hidden !important;
}

/* freccia centrale */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > a::before,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a[title="Visit Store"]::before {
    content: "→" !important;
    color: #ffffff !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > a:hover,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a[title="Visit Store"]:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.03) !important;
}

/* se il footer contiene solo il link, allinealo a sinistra */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer:not(:has(.seller-avatar)) {
    justify-content: flex-start !important;
}

/* ---------------------------------------------------------
   4) RISPONDE ALLE VARIAZIONI DI MARKUP DOKAN
--------------------------------------------------------- */

/* se Dokan duplica link/avatar, ordine corretto */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > *:first-child {
    order: 1 !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > *:last-child {
    order: 2 !important;
}

/* niente spazio nero inutile */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer:empty,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > div:empty,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > span:empty {
    display: none !important;
}

/* ---------------------------------------------------------
   5) RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 1100px) {
    #dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    #dokan-store-listing-filter-wrap {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    #dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   STORE VIEW — VINCOLI EXTRA RICHIESTI
========================================================= */

/* ---------------------------------------------------------
   1) RIMUOVI COMPLETAMENTE BARRA FILTRI + ICONE SOPRA
--------------------------------------------------------- */

#dokan-store-listing-filter-wrap,
#dokan-store-listing-filter-form-wrap,
form.store-lists-filter,
form[name="dokan_store_lists_filter_form"],
#dokan-store-listing-wrap .store-lists-other-filter-wrap,
#dokan-store-listing-wrap .store-grid-view,
#dokan-store-listing-wrap .store-list-view,
#dokan-store-listing-wrap .fa-th,
#dokan-store-listing-wrap .fa-bars,
#dokan-store-listing-wrap .dashicons-screenoptions,
#dokan-store-listing-wrap .dashicons-menu,
#dokan-store-listing-wrap .store-lists-ordering,
#dokan-store-listing-wrap .dokan-icons,
#dokan-store-listing-wrap .toggle-view,
#dokan-store-listing-wrap .store-view {
    display: none !important;
}

/* elimina spazio lasciato dalla barra */
#dokan-seller-listing-wrap.grid-view,
#dokan-seller-listing-wrap.grid-view .seller-listing-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ---------------------------------------------------------
   2) TESTI DEI NEGOZI BIANCHI
--------------------------------------------------------- */

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data * {
    color: #ffffff !important;
    text-shadow: none !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data h2,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data h2 a {
    color: #ffffff !important;
    font-weight: 800 !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data p,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data .store-address,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data .store-phone {
    color: rgba(255,255,255,0.88) !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data i,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-data svg {
    color: rgba(255,255,255,0.92) !important;
    fill: currentColor !important;
}

/* ---------------------------------------------------------
   3) RIMUOVI IL BLU BRUTTO DAI BOTTONI
--------------------------------------------------------- */

/* bottone/cta footer card */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > a,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a[title="Visit Store"] {
    background: #ffffff !important;
    color: #111111 !important;
    box-shadow: none !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
}

/* freccia dentro bottone */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > a::before,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a[title="Visit Store"]::before {
    color: #111111 !important;
}

/* hover più elegante */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > a:hover,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a[title="Visit Store"]:hover {
    background: #f2f2f2 !important;
    color: #111111 !important;
    filter: none !important;
    transform: translateY(-1px) !important;
}

/* badge/logo in basso: niente barra blu dietro */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar a,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar::before,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar::after {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* ---------------------------------------------------------
   4) RIPULISCI GLI ERRORI GRAFICI RESIDUI DOKAN
--------------------------------------------------------- */

/* rimuove blocchi/icone decorative Dokan rimaste */
#dokan-seller-listing-wrap .featured-favourite,
#dokan-seller-listing-wrap .featured-favourite *,
#dokan-seller-listing-wrap .store-open-close,
#dokan-seller-listing-wrap .store-rating,
#dokan-seller-listing-wrap .store-social,
#dokan-seller-listing-wrap .store-social-profile,
#dokan-seller-listing-wrap .store-cat-stack-dokan,
#dokan-seller-listing-wrap .dokan-text-left .store-rating,
#dokan-seller-listing-wrap .store-lists-other-filter-wrap,
#dokan-seller-listing-wrap .seller-items,
#dokan-seller-listing-wrap .store-count {
    box-shadow: none !important;
}

/* nasconde elementi inutili/ridondanti se presenti */
#dokan-seller-listing-wrap .store-open-close,
#dokan-seller-listing-wrap .store-social,
#dokan-seller-listing-wrap .store-social-profile {
    display: none !important;
}

/* niente sfondi chiari sporchi nella card grigia */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-wrapper,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-content,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer {
    background-color: transparent !important;
}

/* footer più pulito */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer {
    justify-content: flex-start !important;
    gap: 12px !important;
}

/* se hai avatar + bottone, il bottone va prima e il logo dopo */
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer > a,
#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer a[title="Visit Store"] {
    order: 1 !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller .store-footer .seller-avatar {
    order: 2 !important;
    margin-left: auto !important;
}

/* ---------------------------------------------------------
   5) PICCOLO MIGLIORAMENTO CARD
--------------------------------------------------------- */

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller {
    border: 1px solid rgba(255,255,255,0.06) !important;
}

#dokan-seller-listing-wrap.grid-view ul.dokan-seller-wrap > li.dokan-single-seller:hover {
    border-color: rgba(255,255,255,0.12) !important;
}

/* =========================================================
   MOBILE: griglia shop a 2 colonne
========================================================= */
@media (max-width: 767px) {

  /* contenitore lista prodotti/categorie */
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .tt-market-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* singola card */
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product-category,
  .woocommerce-page ul.products li.product,
  .woocommerce-page ul.products li.product-category,
  .tt-market-page ul.products li.product,
  .tt-market-page ul.products li.product-category {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }

  /* immagini */
  .woocommerce ul.products li.product img,
  .woocommerce ul.products li.product-category img,
  .woocommerce-page ul.products li.product img,
  .woocommerce-page ul.products li.product-category img {
    width: 100% !important;
    height: auto !important;
    display: block;
  }
}
@media (max-width: 767px) {
  ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  ul.products.columns-4 > li.product,
  ul.products.columns-4 > li.product-category {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
}
/* =========================================================
   WPUF FORM ASSOCIAZIONI — FIX VISIBILITÀ VALORI IN EDIT
========================================================= */

.tt-associazione-form-page .wpuf-form-add input[type="text"],
.tt-associazione-form-page .wpuf-form-add input[type="email"],
.tt-associazione-form-page .wpuf-form-add input[type="url"],
.tt-associazione-form-page .wpuf-form-add input[type="number"],
.tt-associazione-form-page .wpuf-form-add input[type="password"],
.tt-associazione-form-page .wpuf-form-add input[type="search"],
.tt-associazione-form-page .wpuf-form-add textarea,
.tt-associazione-form-page .wpuf-form-add select {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #444 !important;
}

.tt-associazione-form-page .wpuf-form-add input::placeholder,
.tt-associazione-form-page .wpuf-form-add textarea::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
}

/* label visibili su sfondo nero */
.tt-associazione-form-page .wpuf-form-add label,
.tt-associazione-form-page .wpuf-form-add .wpuf-label,
.tt-associazione-form-page .wpuf-form-add .wpuf-label-left,
.tt-associazione-form-page .wpuf-form-add .wpuf-label-right,
.tt-associazione-form-page .wpuf-form-add li .wpuf-label {
    color: #ffffff !important;
}

/* descrizioni / helper text */
.tt-associazione-form-page .wpuf-form-add .wpuf-help,
.tt-associazione-form-page .wpuf-form-add small,
.tt-associazione-form-page .wpuf-form-add p,
.tt-associazione-form-page .wpuf-form-add span {
    color: #dddddd;
}

/* editor testo */
.tt-associazione-form-page .wp-editor-wrap,
.tt-associazione-form-page .quicktags-toolbar,
.tt-associazione-form-page .mce-toolbar,
.tt-associazione-form-page .mce-panel {
    background: #f5f5f5 !important;
}

.tt-associazione-form-page textarea.wp-editor-area,
.tt-associazione-form-page .wp-editor-area {
    background: #ffffff !important;
    color: #111111 !important;
}

/* area contenuto editor classico */
.tt-associazione-form-page .mce-edit-area,
.tt-associazione-form-page .mce-edit-area iframe {
    background: #ffffff !important;
}

/* pulsanti upload / featured image */
.tt-associazione-form-page .wpuf-feat-image-upload,
.tt-associazione-form-page .wpuf-feat-image-upload a,
.tt-associazione-form-page .wpuf-feat-image-upload button,
.tt-associazione-form-page .wpuf-feature-image {
    color: #111111 !important;
}

/* messaggi form */
.tt-associazione-form-page .wpuf-success,
.tt-associazione-form-page .wpuf-error,
.tt-associazione-form-page .wpuf-message {
    color: #111111 !important;
}
/* NASCONDE LE CATEGORIE NELLA SHOP PAGE */
body.postid-7561 ul.products li.product-category,
body.page ul.products li.product-category,
body.woocommerce-page ul.products li.product-category,
body ul.products li.product-category.product {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.sezione-eventi .wp-block-cover,
.sezione-eventi .wp-block-cover__image-background,
.sezione-eventi .wp-block-cover img {
    border-radius: 20px;
}

.sezione-eventi .wp-block-cover {
    aspect-ratio: 1 / 1;
    min-height: unset !important;
    background: #111;
    overflow: hidden;
}

.sezione-eventi .wp-block-cover__image-background {
    object-fit: contain !important;
    object-position: center !important;
}
.modifica-associazione-form {
    max-width: 1100px;
}

.modifica-associazione-form form {
    width: 100%;
}

.modifica-associazione-form .wpuf-form,
.modifica-associazione-form .wpuf-form-layout,
.modifica-associazione-form .wpuf-form-add {
    background: transparent !important;
    color: #fff;
}

.modifica-associazione-form .wpuf-el {
    margin-bottom: 24px;
}

.modifica-associazione-form label {
    color: #fff !important;
    font-weight: 600;
}

.modifica-associazione-form input[type="text"],
.modifica-associazione-form input[type="email"],
.modifica-associazione-form input[type="number"],
.modifica-associazione-form input[type="url"],
.modifica-associazione-form input[type="password"],
.modifica-associazione-form textarea,
.modifica-associazione-form select {
    width: 100%;
    background: #111 !important;
    color: #fff !important;
    border: 1px solid #333 !important;
    border-radius: 10px;
    padding: 14px 16px;
}

.modifica-associazione-form textarea {
    min-height: 140px;
}

.modifica-associazione-form input[type="submit"],
.modifica-associazione-form button,
.modifica-associazione-form .wpuf-submit-button {
    background: #fff !important;
    color: #000 !important;
    border: none !important;
    border-radius: 999px;
    padding: 14px 24px;
    font-weight: 700;
    cursor: pointer;
}

.modifica-associazione-form .wpuf-info,
.modifica-associazione-form .wpuf-error,
.modifica-associazione-form .wpuf-success {
    border-radius: 12px;
    padding: 14px 18px;
}


/* PAGINA RESET PASSWORD WOOCOMMERCE */
body.woocommerce-lost-password .page-content .woocommerce {
    width: 100% !important;
    max-width: 620px !important;
    margin: 40px auto 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    float: none !important;
}

/* notice sopra, centrata */
body.woocommerce-lost-password .page-content .woocommerce .woocommerce-notices-wrapper {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto 24px !important;
    text-align: center !important;
}

/* form centrato */
body.woocommerce-lost-password .page-content .woocommerce form.woocommerce-ResetPassword {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    float: none !important;
}

/* ogni riga del form una sotto l'altra */
body.woocommerce-lost-password .page-content .woocommerce form.woocommerce-ResetPassword .form-row,
body.woocommerce-lost-password .page-content .woocommerce form.woocommerce-ResetPassword p {
    width: 100% !important;
    max-width: 620px !important;
    float: none !important;
    clear: both !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* label e testo */
body.woocommerce-lost-password .page-content .woocommerce form.woocommerce-ResetPassword label {
    display: block !important;
    text-align: center !important;
    margin-bottom: 10px !important;
}

/* input centrato */
body.woocommerce-lost-password .page-content .woocommerce form.woocommerce-ResetPassword input.input-text {
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto !important;
    display: block !important;
}

/* pulsante centrato */
body.woocommerce-lost-password .page-content .woocommerce form.woocommerce-ResetPassword button,
body.woocommerce-lost-password .page-content .woocommerce form.woocommerce-ResetPassword .button {
    display: inline-block !important;
    margin: 16px auto 0 !important;
    float: none !important;
}

/* eventuale layout Gutenberg attorno */
body.woocommerce-lost-password .page-content .wp-block-columns {
    display: block !important;
}

body.woocommerce-lost-password .page-content .wp-block-column {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
}

.tt-dashboard-subtitle{
    margin-top:8px;
    color:#666;
    font-size:15px;
}

.tt-dashboard-stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:20px;
    margin:30px 0;
}

.tt-stat-box{
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:18px;
    padding:24px 20px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,0.04);
}

.tt-stat-number{
    display:block;
    font-size:34px;
    font-weight:700;
    line-height:1;
    margin-bottom:10px;
}

.tt-stat-label{
    display:block;
    font-size:14px;
    color:#666;
}

.tt-dashboard-section{
    margin-top:35px;
    background:#fff;
    border:1px solid #ececec;
    border-radius:20px;
    padding:25px;
    box-shadow:0 10px 30px rgba(0,0,0,0.04);
}

.tt-dashboard-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
}

.tt-dashboard-section-head h3{
    margin:0;
}

.tt-dashboard-mini-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border-radius:999px;
    text-decoration:none;
    background:#111;
    color:#fff;
    font-size:14px;
    font-weight:600;
}

.tt-dashboard-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.tt-dashboard-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    border:1px solid #efefef;
    border-radius:16px;
    padding:18px 20px;
    background:#fafafa;
}

.tt-dashboard-row-main h4{
    margin:0 0 8px 0;
    font-size:18px;
}

.tt-dashboard-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    font-size:14px;
    color:#777;
}

.tt-dashboard-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.tt-dashboard-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border-radius:999px;
    text-decoration:none;
    border:1px solid #d9d9d9;
    color:#111;
    background:#fff;
    font-size:14px;
    font-weight:600;
}

.tt-dashboard-action-primary{
    background:#111;
    color:#fff;
    border-color:#111;
}

.tt-empty-box{
    border:1px dashed #d8d8d8;
    border-radius:16px;
    padding:24px;
    text-align:center;
    color:#777;
    background:#fcfcfc;
}

@media (max-width: 1024px){
    .tt-dashboard-stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .tt-dashboard-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .tt-dashboard-actions{
        width:100%;
    }
}

@media (max-width: 640px){
    .tt-dashboard-stats{
        grid-template-columns:1fr;
    }

    .tt-dashboard-section-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .tt-dashboard-actions{
        flex-direction:column;
        width:100%;
    }

    .tt-dashboard-action,
    .tt-dashboard-mini-btn{
        width:100%;
        text-align:center;
    }
}
/* ============================================================
   DASHBOARD ASSOCIAZIONE - FIX COLORI E LEGGIBILITÀ
============================================================ */

.tt-associazione-dashboard{
    color:#111;
}

/* reset colori testi dashboard */
.tt-associazione-dashboard h1,
.tt-associazione-dashboard h2,
.tt-associazione-dashboard h3,
.tt-associazione-dashboard h4,
.tt-associazione-dashboard h5,
.tt-associazione-dashboard h6,
.tt-associazione-dashboard p,
.tt-associazione-dashboard span,
.tt-associazione-dashboard a,
.tt-associazione-dashboard li,
.tt-associazione-dashboard strong{
    color:inherit;
}

/* sottotitolo */
.tt-dashboard-subtitle{
    margin-top:8px;
    color:#555 !important;
    font-size:15px;
}

/* ============================================================
   STATISTICHE IN ALTO
============================================================ */
.tt-dashboard-stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:20px;
    margin:30px 0;
}

.tt-stat-box{
    background:#f3f3f3;
    border:1px solid #dddddd;
    border-radius:18px;
    padding:24px 20px;
    text-align:center;
    box-shadow:none;
}

.tt-stat-number{
    display:block;
    font-size:34px;
    font-weight:700;
    line-height:1;
    margin-bottom:10px;
    color:#111 !important;
}

.tt-stat-label{
    display:block;
    font-size:14px;
    color:#444 !important;
}

/* ============================================================
   CARD PRINCIPALI
============================================================ */
.tt-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    margin-bottom:35px;
}

.tt-dashboard-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    min-height:260px;
    padding:30px 24px;
    border-radius:22px;
    text-decoration:none;
    background:#0d0d0d;
    color:#fff !important;
    border:1px solid rgba(255,255,255,0.06);
    box-shadow:none;
    transition:transform 0.2s ease, border-color 0.2s ease;
}

.tt-dashboard-card:hover{
    transform:translateY(-2px);
    border-color:rgba(255,255,255,0.16);
}

.tt-dashboard-card .tt-icon{
    display:block;
    font-size:28px;
    margin-bottom:16px;
    color:#d9d9d9 !important;
}

.tt-dashboard-card h3{
    margin:0 0 14px 0;
    font-size:20px;
    line-height:1.2;
    color:#ffffff !important;
}

.tt-dashboard-card p{
    margin:0;
    font-size:15px;
    line-height:1.6;
    color:rgba(255,255,255,0.82) !important;
    max-width:320px;
}

/* ============================================================
   SEZIONI NEWS / EVENTI
============================================================ */
.tt-dashboard-section{
    margin-top:35px;
    background:#f3f3f3;
    border:1px solid #dddddd;
    border-radius:20px;
    padding:25px;
    box-shadow:none;
    color:#111;
}

.tt-dashboard-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
}

.tt-dashboard-section-head h3{
    margin:0;
    color:#111 !important;
}

/* bottone nuova news / nuovo evento */
.tt-dashboard-mini-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border-radius:999px;
    text-decoration:none;
    background:#111;
    color:#fff !important;
    border:1px solid #111;
    font-size:14px;
    font-weight:600;
}

.tt-dashboard-mini-btn:hover{
    background:#000;
    color:#fff !important;
}

/* ============================================================
   LISTA ELEMENTI
============================================================ */
.tt-dashboard-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.tt-dashboard-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    border:1px solid #dcdcdc;
    border-radius:16px;
    padding:18px 20px;
    background:#ececec;
}

.tt-dashboard-row-main h4{
    margin:0 0 8px 0;
    font-size:18px;
    color:#111 !important;
}

.tt-dashboard-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    font-size:14px;
    color:#555 !important;
}

.tt-dashboard-meta span{
    color:#555 !important;
}

/* ============================================================
   AZIONI
============================================================ */
.tt-dashboard-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.tt-dashboard-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border-radius:999px;
    text-decoration:none;
    border:1px solid #cfcfcf;
    background:#ffffff;
    color:#111 !important;
    font-size:14px;
    font-weight:600;
}

.tt-dashboard-action:hover{
    background:#f7f7f7;
    color:#111 !important;
}

.tt-dashboard-action-primary{
    background:#111;
    color:#fff !important;
    border-color:#111;
}

.tt-dashboard-action-primary:hover{
    background:#000;
    color:#fff !important;
}

/* ============================================================
   BOX VUOTO
============================================================ */
.tt-empty-box{
    border:1px dashed #cfcfcf;
    border-radius:16px;
    padding:24px;
    text-align:center;
    color:#444 !important;
    background:#fafafa;
}

.tt-empty-box p{
    margin:0;
    color:#444 !important;
}

/* ============================================================
   NOTE FINALI
============================================================ */
.dashboard-notes{
    margin-top:30px;
}

.dashboard-notes h6,
.dashboard-notes p{
    color:#666 !important;
    line-height:1.5;
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1024px){
    .tt-dashboard-stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .tt-dashboard-grid{
        grid-template-columns:1fr;
    }

    .tt-dashboard-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .tt-dashboard-actions{
        width:100%;
    }
}

@media (max-width: 640px){
    .tt-dashboard-stats{
        grid-template-columns:1fr;
    }

    .tt-dashboard-section-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .tt-dashboard-actions{
        flex-direction:column;
        width:100%;
    }

    .tt-dashboard-action,
    .tt-dashboard-mini-btn{
        width:100%;
        text-align:center;
    }

    .tt-dashboard-card{
        min-height:220px;
        padding:24px 18px;
    }

    .tt-dashboard-card h3{
        font-size:18px;
    }

    .tt-dashboard-card p{
        font-size:14px;
    }
}
/* ============================================================
   DASHBOARD ASSOCIAZIONE
============================================================ */

.tt-associazione-dashboard{
    color:#111;
}

.tt-dashboard-subtitle{
    margin-top:8px;
    color:#555;
    font-size:15px;
}

.tt-dashboard-section-subtitle{
    margin:8px 0 0 0;
    color:#555;
    font-size:15px;
    line-height:1.5;
}

/* ============================================================
   STATS
============================================================ */
.tt-dashboard-stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:20px;
    margin:30px 0;
}

.tt-stat-box{
    background:#f3f3f3;
    border:1px solid #dddddd;
    border-radius:18px;
    padding:24px 20px;
    text-align:center;
}

.tt-stat-number{
    display:block;
    font-size:34px;
    font-weight:700;
    line-height:1;
    margin-bottom:10px;
    color:#111;
}

.tt-stat-label{
    display:block;
    font-size:14px;
    color:#444;
}

/* ============================================================
   SEZIONI
============================================================ */
.tt-dashboard-section{
    margin-top:35px;
    background:#f3f3f3;
    border:1px solid #dddddd;
    border-radius:20px;
    padding:25px;
    color:#111;
}

.tt-dashboard-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:20px;
}

.tt-dashboard-section-head h3{
    margin:0;
    color:#111;
    font-size:24px;
}

.tt-dashboard-top-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

/* ============================================================
   LISTA CONTENUTI
============================================================ */
.tt-dashboard-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.tt-dashboard-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    border:1px solid #dcdcdc;
    border-radius:16px;
    padding:18px 20px;
    background:#ececec;
}

.tt-dashboard-row-main h4{
    margin:0 0 8px 0;
    font-size:18px;
    color:#111;
}

.tt-dashboard-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    font-size:14px;
    color:#555;
}

/* ============================================================
   BOTTONI
============================================================ */
.tt-dashboard-mini-btn,
.tt-dashboard-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border-radius:999px;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    transition:0.2s ease;
}

.tt-dashboard-mini-btn{
    background:#111;
    color:#fff;
    border:1px solid #111;
}

.tt-dashboard-mini-btn:hover{
    background:#000;
    color:#fff;
}

.tt-dashboard-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.tt-dashboard-action{
    background:#fff;
    color:#111;
    border:1px solid #cfcfcf;
}

.tt-dashboard-action:hover{
    background:#f8f8f8;
    color:#111;
}

.tt-dashboard-action-primary{
    background:#111;
    color:#fff;
    border-color:#111;
}

.tt-dashboard-action-primary:hover{
    background:#000;
    color:#fff;
}

/* ============================================================
   EMPTY / NOTE
============================================================ */
.tt-empty-box{
    border:1px dashed #cfcfcf;
    border-radius:16px;
    padding:24px;
    text-align:center;
    color:#444;
    background:#fafafa;
}

.dashboard-notes{
    margin-top:30px;
}

.dashboard-notes h6{
    color:#666;
    line-height:1.5;
    margin:0 0 10px 0;
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1024px){
    .tt-dashboard-stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .tt-dashboard-section-head,
    .tt-dashboard-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .tt-dashboard-actions,
    .tt-dashboard-top-actions{
        width:100%;
    }
}

@media (max-width: 640px){
    .tt-dashboard-stats{
        grid-template-columns:1fr;
    }

    .tt-dashboard-actions,
    .tt-dashboard-top-actions{
        flex-direction:column;
        width:100%;
    }

    .tt-dashboard-action,
    .tt-dashboard-mini-btn{
        width:100%;
        text-align:center;
    }
}

/* ============================================================
   DASHBOARD - CARD RICCHE NEWS / EVENTI
============================================================ */

.tt-dashboard-row-rich{
    display:flex;
    align-items:stretch;
    justify-content:space-between;
    gap:24px;
    padding:22px;
}

.tt-dashboard-row-rich .tt-dashboard-row-main{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
}

.tt-dashboard-row-rich .tt-dashboard-row-main h4{
    margin:0 0 10px 0;
    font-size:20px;
    line-height:1.2;
    color:#111;
}

.tt-dashboard-row-rich .tt-dashboard-meta{
    margin-bottom:12px;
    font-size:14px;
    color:#666;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.tt-dashboard-description{
    margin:0 0 16px 0;
    font-size:15px;
    line-height:1.6;
    color:#4f4f4f;
    max-width:780px;
}

.tt-dashboard-thumb-wrap{
    flex:0 0 150px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.tt-dashboard-thumb{
    width:150px;
    height:110px;
    object-fit:cover;
    border-radius:14px;
    display:block;
    border:1px solid #d3d3d3;
    background:#e9e9e9;
}

.tt-dashboard-thumb-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:600;
    color:#666;
    background:#e6e6e6;
}

.tt-dashboard-row-rich .tt-dashboard-actions{
    margin-top:auto;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

/* responsive */
@media (max-width: 1024px){
    .tt-dashboard-row-rich{
        flex-direction:column-reverse;
        align-items:flex-start;
    }

    .tt-dashboard-thumb-wrap{
        flex:0 0 auto;
        width:100%;
    }

    .tt-dashboard-thumb{
        width:100%;
        max-width:260px;
        height:160px;
    }
}

@media (max-width: 640px){
    .tt-dashboard-row-rich{
        padding:18px;
        gap:16px;
    }

    .tt-dashboard-row-rich .tt-dashboard-row-main h4{
        font-size:18px;
    }

    .tt-dashboard-description{
        font-size:14px;
    }

    .tt-dashboard-thumb{
        max-width:100%;
        width:100%;
        height:180px;
    }
}
/* ============================================================
   DASHBOARD - CARD RICCHE NEWS / EVENTI
============================================================ */

.tt-dashboard-row-rich{
    display:flex;
    align-items:stretch;
    justify-content:space-between;
    gap:24px;
    padding:22px;
}

.tt-dashboard-row-rich .tt-dashboard-row-main{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
}

.tt-dashboard-row-rich .tt-dashboard-row-main h4{
    margin:0 0 10px 0;
    font-size:20px;
    line-height:1.2;
    color:#111;
}

.tt-dashboard-row-rich .tt-dashboard-meta{
    margin-bottom:12px;
    font-size:14px;
    color:#666;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.tt-dashboard-description{
    margin:0 0 16px 0;
    font-size:15px;
    line-height:1.6;
    color:#4f4f4f;
    max-width:780px;
}

.tt-dashboard-thumb-wrap{
    flex:0 0 150px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.tt-dashboard-thumb{
    width:150px;
    height:110px;
    object-fit:cover;
    border-radius:14px;
    display:block;
    border:1px solid #d3d3d3;
    background:#e9e9e9;
}

.tt-dashboard-thumb-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:600;
    color:#666;
    background:#e6e6e6;
}

.tt-dashboard-row-rich .tt-dashboard-actions{
    margin-top:auto;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

/* responsive */
@media (max-width: 1024px){
    .tt-dashboard-row-rich{
        flex-direction:column-reverse;
        align-items:flex-start;
    }

    .tt-dashboard-thumb-wrap{
        flex:0 0 auto;
        width:100%;
    }

    .tt-dashboard-thumb{
        width:100%;
        max-width:260px;
        height:160px;
    }
}

@media (max-width: 640px){
    .tt-dashboard-row-rich{
        padding:18px;
        gap:16px;
    }

    .tt-dashboard-row-rich .tt-dashboard-row-main h4{
        font-size:18px;
    }

    .tt-dashboard-description{
        font-size:14px;
    }

    .tt-dashboard-thumb{
        max-width:100%;
        width:100%;
        height:180px;
    }
}
/* ============================================================
   SINGLE ASSOCIAZIONE - TEMA CHIARO INTERNO / NERO ESTERNO
   come dashboard-associazione
============================================================ */

/* sfondo generale pagina */
.single-associazioni,
.single-associazioni body,
.single-associazioni .tt-associazione-single-page,
.single-associazioni .tt-associazione-single {
    background: #000;
    color: #fff;
}

/* titolo e testi fuori dai blocchi */
.single-associazioni .tt-associazione-title,
.single-associazioni .tt-associazione-hero-head,
.single-associazioni .tt-associazione-hero-head p,
.single-associazioni .tt-associazione-hero > *:not(.tt-associazione-layout) {
    color: #fff;
}

/* contenitori principali bianchi */
.single-associazioni .tt-associazione-cover-card,
.single-associazioni .tt-associazione-content-card,
.single-associazioni .tt-associazione-section {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 12px 35px rgba(0,0,0,0.10);
    color: #111;
}

/* contenuto interno nero */
.single-associazioni .tt-associazione-content-card,
.single-associazioni .tt-associazione-content-card p,
.single-associazioni .tt-associazione-content-card li,
.single-associazioni .tt-associazione-content-card strong,
.single-associazioni .tt-associazione-content-card span,
.single-associazioni .tt-associazione-content-card h2,
.single-associazioni .tt-associazione-content-card h3,
.single-associazioni .tt-associazione-content-card h4,
.single-associazioni .tt-associazione-section h3,
.single-associazioni .tt-dashboard-section-subtitle,
.single-associazioni .tt-dashboard-row-main h4,
.single-associazioni .tt-dashboard-meta,
.single-associazioni .tt-dashboard-description,
.single-associazioni .tt-empty-box p {
    color: #111 !important;
}

/* sottotitoli/meta più morbidi */
.single-associazioni .tt-dashboard-section-subtitle,
.single-associazioni .tt-dashboard-meta,
.single-associazioni .tt-dashboard-description {
    opacity: 0.72;
}

/* box immagine principale */
.single-associazioni .tt-associazione-cover-media,
.single-associazioni .tt-associazione-cover-placeholder {
    background: #f3f3f3;
    border: 1px solid rgba(0,0,0,0.06);
}

/* righe news/eventi stile dashboard ma su base chiara */
.single-associazioni .tt-associazione-row {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 8px 20px rgba(0,0,0,0.05);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.single-associazioni .tt-associazione-row:hover {
    transform: translateY(-2px);
    border-color: rgba(0,0,0,0.14);
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
    background: #fff;
}

/* thumbs laterali */
.single-associazioni .tt-dashboard-thumb {
    width: 180px;
    height: 128px;
    object-fit: cover;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,0.08);
    background: #f3f3f3;
}

.single-associazioni .tt-dashboard-thumb-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111;
    background: #f3f3f3;
    border: 1px solid rgba(0,0,0,0.08);
}

/* bottoni neutri */
.single-associazioni .tt-dashboard-action,
.single-associazioni .tt-dashboard-mini-btn {
    background: #111;
    color: #fff !important;
    border: 1px solid #111;
}

.single-associazioni .tt-dashboard-action:hover,
.single-associazioni .tt-dashboard-mini-btn:hover {
    background: #2a2a2a;
    color: #fff !important;
    border-color: #2a2a2a;
}

/* bottone primario bianco con testo nero */
.single-associazioni .tt-dashboard-action-primary {
    background: #fff;
    color: #111 !important;
    border: 1px solid rgba(0,0,0,0.14);
}

.single-associazioni .tt-dashboard-action-primary:hover {
    background: #f2f2f2;
    color: #111 !important;
    border-color: rgba(0,0,0,0.18);
}

/* bottone danger */
.single-associazioni .tt-dashboard-action-danger {
    background: #fff5f5;
    color: #b42318 !important;
    border: 1px solid rgba(180,35,24,0.20);
}

.single-associazioni .tt-dashboard-action-danger:hover {
    background: #feecec;
    color: #912018 !important;
    border-color: rgba(180,35,24,0.30);
}

/* box vuoti */
.single-associazioni .tt-empty-box {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 18px;
    padding: 18px 20px;
}

/* sezione head più pulita */
.single-associazioni .tt-dashboard-section-head h3 {
    color: #111 !important;
}

/* eventuali link nel contenuto */
.single-associazioni .tt-associazione-content-card a {
    color: #111;
    text-decoration: underline;
}

/* mobile */
@media (max-width: 768px) {
    .single-associazioni .tt-dashboard-thumb {
        width: 100%;
        max-width: 100%;
        height: 220px;
    }
}
.single-associazioni .tt-associazione-section {
    border-radius: 28px;
    padding: 26px;
}

.single-associazioni .tt-associazione-row {
    border-radius: 22px;
    padding: 6px;
}

.single-associazioni .tt-dashboard-row-rich {
    align-items: center;
}
/* ============================================================
   SINGLE ASSOCIAZIONE - HERO PIU' COMPATTA E ORDINATA
============================================================ */

.single-associazioni .tt-associazione-single-page {
    max-width: 1380px;
    margin: 0 auto;
    padding: 36px 24px 72px;
    background: #000;
}

.single-associazioni .tt-associazione-single {
    color: #fff;
}

/* header */
.single-associazioni .tt-associazione-hero-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 26px;
}

.single-associazioni .tt-associazione-title {
    margin: 0;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 0.95;
    letter-spacing: -0.04em;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff;
}

.single-associazioni .tt-associazione-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
}

/* griglia generale */
.single-associazioni .tt-associazione-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
    gap: 28px;
    align-items: start;
}

.single-associazioni .tt-associazione-main,
.single-associazioni .tt-associazione-side {
    min-width: 0;
}

.single-associazioni .tt-associazione-side {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* card principali bianche */
.single-associazioni .tt-associazione-cover-card,
.single-associazioni .tt-associazione-content-card,
.single-associazioni .tt-associazione-section {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    color: #111;
}

/* COVER: dimensione fissa e uguale per tutte */
.single-associazioni .tt-associazione-cover-card {
    padding: 18px;
}

.single-associazioni .tt-associazione-cover-media {
    width: 100%;
    height: 420px; /* altezza fissa */
    border-radius: 18px;
    overflow: hidden;
    background: #f3f3f3;
    border: 1px solid rgba(0,0,0,0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
}

.single-associazioni .tt-associazione-cover-image {
    width: 100%;
    height: 100%;
    object-fit: contain; /* mostra tutta l'immagine */
    object-position: center;
    display: block;
}

.single-associazioni .tt-associazione-cover-placeholder {
    width: 100%;
    height: 420px;
    border-radius: 18px;
    background: #f3f3f3;
    border: 1px solid rgba(0,0,0,0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: rgba(0,0,0,0.55);
    padding: 24px;
}

/* contenuto descrittivo sotto */
.single-associazioni .tt-associazione-content-card {
    margin-top: 20px;
    padding: 24px;
}

.single-associazioni .tt-associazione-content-card,
.single-associazioni .tt-associazione-content-card p,
.single-associazioni .tt-associazione-content-card li,
.single-associazioni .tt-associazione-content-card strong,
.single-associazioni .tt-associazione-content-card span,
.single-associazioni .tt-associazione-content-card h2,
.single-associazioni .tt-associazione-content-card h3,
.single-associazioni .tt-associazione-content-card h4 {
    color: #111 !important;
}

/* sezioni laterali */
.single-associazioni .tt-associazione-section {
    padding: 22px;
}

.single-associazioni .tt-dashboard-section-head {
    margin-bottom: 18px;
}

.single-associazioni .tt-dashboard-section-head h3 {
    margin: 0 0 8px 0;
    color: #111 !important;
}

.single-associazioni .tt-dashboard-section-subtitle {
    color: rgba(0,0,0,0.68) !important;
}

/* card news/eventi */
.single-associazioni .tt-associazione-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.single-associazioni .tt-associazione-row {
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 20px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.05);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.single-associazioni .tt-associazione-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.08);
}

.single-associazioni .tt-dashboard-row-rich {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 20px;
}

.single-associazioni .tt-dashboard-row-main {
    flex: 1 1 auto;
    min-width: 0;
}

.single-associazioni .tt-dashboard-row-main h4 {
    margin: 0 0 8px 0;
    font-size: 28px;
    line-height: 1.1;
    color: #111 !important;
}

.single-associazioni .tt-dashboard-meta {
    margin-bottom: 12px;
    color: rgba(0,0,0,0.62) !important;
    font-size: 15px;
}

.single-associazioni .tt-dashboard-description {
    margin: 0 0 16px 0;
    color: #111 !important;
    opacity: 0.82;
    line-height: 1.5;
}

/* miniatura laterale */
.single-associazioni .tt-dashboard-thumb-wrap {
    flex: 0 0 170px;
}

.single-associazioni .tt-dashboard-thumb {
    width: 170px;
    height: 120px;
    object-fit: cover;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,0.08);
    background: #f3f3f3;
    display: block;
}

.single-associazioni .tt-dashboard-thumb-placeholder {
    width: 170px;
    height: 120px;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,0.08);
    background: #f3f3f3;
    color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* bottoni */
.single-associazioni .tt-dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.single-associazioni .tt-dashboard-action,
.single-associazioni .tt-dashboard-mini-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.2s ease;
}

.single-associazioni .tt-dashboard-action,
.single-associazioni .tt-dashboard-mini-btn {
    background: #111;
    color: #fff !important;
    border: 1px solid #111;
}

.single-associazioni .tt-dashboard-action:hover,
.single-associazioni .tt-dashboard-mini-btn:hover {
    background: #2a2a2a;
    border-color: #2a2a2a;
}

.single-associazioni .tt-dashboard-action-primary {
    background: #fff;
    color: #111 !important;
    border: 1px solid rgba(0,0,0,0.14);
}

.single-associazioni .tt-dashboard-action-primary:hover {
    background: #f3f3f3;
}

.single-associazioni .tt-dashboard-action-danger {
    background: #fff5f5;
    color: #b42318 !important;
    border: 1px solid rgba(180,35,24,0.20);
}

.single-associazioni .tt-dashboard-action-danger:hover {
    background: #feecec;
}

/* responsive */
@media (max-width: 1100px) {
    .single-associazioni .tt-associazione-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .single-associazioni .tt-associazione-single-page {
        padding: 28px 16px 56px;
    }

    .single-associazioni .tt-associazione-cover-media,
    .single-associazioni .tt-associazione-cover-placeholder {
        height: 320px;
    }

    .single-associazioni .tt-dashboard-row-rich {
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    .single-associazioni .tt-dashboard-thumb-wrap {
        width: 100%;
        flex: 0 0 auto;
    }

    .single-associazioni .tt-dashboard-thumb,
    .single-associazioni .tt-dashboard-thumb-placeholder {
        width: 100%;
        height: 210px;
    }
}/* ============================================================
   POPUP LOGIN / REGISTRAZIONE
============================================================ */
.tt-login-popup-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.55);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:99999;
    padding:20px;
}

.tt-login-popup-box{
    position:relative;
    width:100%;
    max-width:520px;
    background:#fff;
    border-radius:20px;
    padding:32px 28px;
    box-shadow:0 20px 60px rgba(0,0,0,0.2);
    text-align:center;
}

.tt-login-popup-box h3{
    margin:0 0 12px 0;
    font-size:28px;
    line-height:1.2;
    color:#111;
}

.tt-login-popup-box p{
    margin:0 0 22px 0;
    font-size:16px;
    line-height:1.5;
    color:#444;
}

.tt-login-popup-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 22px;
    border-radius:12px;
    background:#111;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    transition:0.25s ease;
}

.tt-login-popup-btn:hover{
    background:#333;
    color:#fff;
}

.tt-login-popup-close{
    position:absolute;
    top:12px;
    right:14px;
    border:none;
    background:transparent;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    color:#111;
}

@media (max-width: 767px){
    .tt-login-popup-box{
        padding:26px 20px;
    }

    .tt-login-popup-box h3{
        font-size:22px;
    }

    .tt-login-popup-box p{
        font-size:15px;
    }

    .tt-login-popup-btn{
        width:100%;
    }
}