
/* ============================================================
   INOX Account Dashboard – v1.0.0
   Weblandia | Design System: Industrial Luxe
   ============================================================ */

:root {
    --iad-primary:        #a10412;
    --iad-action:         #dc3935;
    --iad-tertiary:       #006d9e;
    --iad-error:          #ba1a1a;
    --iad-surface:        #fff8f7;
    --iad-surface-low:    #fff0ee;
    --iad-surface-card:   #ffffff;
    --iad-surface-dark:   #3e2c2a;
    --iad-text:           #271816;
    --iad-text-muted:     #5b403d;
    --iad-outline:        #8f706c;
    --iad-outline-var:    #e3beba;
    --iad-font-head:      'Hanken Grotesk', sans-serif;
    --iad-font-body:      'Inter', sans-serif;
    --iad-radius:         0.5rem;
    --iad-radius-lg:      1rem;
    --iad-radius-xl:      1.5rem;
    --iad-radius-full:    9999px;
    --iad-shadow:         0 10px 30px rgba(137,114,111,0.08);
    --iad-shadow-hover:   0 20px 50px rgba(137,114,111,0.16);
}

/* ── Wrap ── */
.iad-wrap {
    background-color: var(--iad-surface);
    font-family: var(--iad-font-body);
    color: var(--iad-text);
    padding: 40px 24px 80px;
    box-sizing: border-box;
}
.iad-wrap *, .iad-wrap *::before, .iad-wrap *::after { box-sizing: inherit; }

/* ── Grid 12 col ── */
.iad-grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 32px;
    max-width: 1300px;
    margin: 0 auto;
    align-items: start;
}

/* ════════════════════════════
   SIDEBAR
════════════════════════════ */
.iad-sidebar-inner {
    position: sticky;
    top: 100px;
}
.iad-sidebar-title {
    font-family: var(--iad-font-head);
    font-size: 20px;
    font-weight: 600;
    color: var(--iad-text);
    margin: 0 0 20px 16px;
}
.iad-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.iad-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: var(--iad-radius) 0 0 var(--iad-radius);
    color: var(--iad-text-muted);
    text-decoration: none;
    font-family: var(--iad-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: background 0.2s, color 0.2s;
    border-right: 4px solid transparent;
    cursor: pointer;
}
.iad-nav-item:hover {
    background-color: rgba(161,4,18,0.05);
    color: var(--iad-primary);
}
.iad-nav-item.iad-nav-active {
    background-color: rgba(161,4,18,0.06);
    color: var(--iad-primary);
    font-weight: 800;
    border-right-color: var(--iad-primary);
}
.iad-nav-item .material-symbols-outlined { font-size: 20px; flex-shrink: 0; }
.iad-nav-logout { color: var(--iad-error) !important; }
.iad-nav-logout:hover { background-color: rgba(186,26,26,0.05) !important; }

/* ════════════════════════════
   MAIN
════════════════════════════ */
.iad-main { display: flex; flex-direction: column; gap: 24px; }

/* ── Welcome Banner ── */
.iad-banner {
    background-color: var(--iad-surface-dark);
    border-radius: var(--iad-radius-lg);
    padding: 40px 48px;
    overflow: hidden;
    position: relative;
}
.iad-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 80% 50%, rgba(220,57,53,0.15) 0%, transparent 60%);
    pointer-events: none;
}
.iad-banner-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.iad-banner-prefix {
    font-family: var(--iad-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ffb4ac;
    margin: 0 0 8px;
}
.iad-banner-name {
    font-family: var(--iad-font-head);
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 8px;
    line-height: 1.1;
}
.iad-banner-sub {
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    margin: 0;
    max-width: 480px;
}
.iad-banner-cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    flex-shrink: 0;
}
.iad-banner-email {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    text-align: center;
    width: 100%;
}

/* ── Bento Grid ── */
.iad-bento {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 24px;
    align-items: start;
}
.iad-col-right { display: flex; flex-direction: column; gap: 24px; }

/* ── Card base ── */
.iad-card {
    background: var(--iad-surface-card);
    border: 1px solid var(--iad-outline-var);
    border-radius: var(--iad-radius-lg);
    padding: 32px;
    box-shadow: var(--iad-shadow);
}

/* ── Card Ordini ── */
.iad-card-orders { }
.iad-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}
.iad-card-title {
    font-family: var(--iad-font-head);
    font-size: 20px;
    font-weight: 600;
    color: var(--iad-text);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.iad-card-title .material-symbols-outlined { font-size: 22px; }
.iad-table-wrap { overflow-x: auto; }
.iad-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.iad-table thead tr {
    border-bottom: 1px solid var(--iad-outline-var);
}
.iad-table th {
    padding: 0 16px 14px 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--iad-text-muted);
    text-align: left;
    white-space: nowrap;
}
.iad-table-row { border-bottom: 1px solid rgba(227,190,186,0.2); transition: background 0.15s; }
.iad-table-row:hover { background-color: rgba(161,4,18,0.03); }
.iad-table-row:last-child { border-bottom: none; }
.iad-table td { padding: 14px 16px 14px 0; vertical-align: middle; }
.iad-order-id { font-weight: 700; }
.iad-order-total { font-weight: 700; }
.iad-order-action { text-align: right; }

/* Status badges */
.iad-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: var(--iad-radius-full);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: var(--iad-surface-low);
    color: var(--iad-text-muted);
}
.iad-status-completed  { background: #dcfce7; color: #166534; }
.iad-status-processing { background: #dbeafe; color: #1e40af; }
.iad-status-on-hold    { background: #fef9c3; color: #854d0e; }
.iad-status-pending    { background: #fff7ed; color: #9a3412; }
.iad-status-cancelled  { background: #fee2e2; color: #991b1b; }

/* ── Card Indirizzo ── */
.iad-card-address { border-left: 4px solid var(--iad-tertiary); }
.iad-card-label {
    font-family: var(--iad-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--iad-tertiary);
    margin: 0 0 16px;
}
.iad-address-body {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--iad-text-muted);
    margin-bottom: 20px;
}
.iad-address-body .material-symbols-outlined { color: var(--iad-text-muted); font-size: 18px; margin-top: 2px; flex-shrink: 0; }
.iad-address-company { font-weight: 700; color: var(--iad-text); }

/* ── Card Stats ── */
.iad-card-stats { position: relative; overflow: hidden; }
.iad-stats-bg {
    position: absolute;
    right: -16px;
    bottom: -16px;
    font-size: 96px !important;
    color: var(--iad-primary);
    opacity: 0.05;
    pointer-events: none;
}
.iad-stats-row { display: flex; align-items: baseline; gap: 8px; margin: 8px 0 6px; }
.iad-stats-num { font-family: var(--iad-font-head); font-size: 36px; font-weight: 800; line-height: 1; }
.iad-stats-label { font-size: 13px; color: var(--iad-text-muted); }
.iad-stats-sub { font-size: 12px; color: var(--iad-text-muted); margin: 6px 0 0; }
.iad-progress-wrap { margin: 12px 0 4px; }
.iad-progress-bar { height: 6px; background: var(--iad-surface-low); border-radius: var(--iad-radius-full); overflow: hidden; }
.iad-progress-fill { height: 100%; border-radius: var(--iad-radius-full); transition: width 0.6s ease; }

/* ── Card Download ── */
.iad-card-download {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
.iad-download-icon {
    width: 48px; height: 48px;
    background: rgba(161,4,18,0.08);
    border-radius: var(--iad-radius);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.iad-download-icon .material-symbols-outlined { font-size: 24px; }
.iad-download-title { font-family: var(--iad-font-head); font-size: 18px; font-weight: 600; margin: 0 0 6px; }
.iad-download-text { font-size: 14px; color: var(--iad-text-muted); margin: 0 0 12px; line-height: 1.6; }

/* ════════════════════════════
   PULSANTI & LINK
════════════════════════════ */
.iad-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: var(--iad-action);
    color: #ffffff;
    font-family: var(--iad-font-body);
    font-size: 13px;
    font-weight: 700;
    padding: 12px 24px;
    border-radius: var(--iad-radius);
    text-decoration: none;
    transition: background 0.2s, transform 0.15s;
    white-space: nowrap;
}
.iad-btn-primary:hover { background-color: var(--iad-primary); transform: translateY(-1px); }
.iad-btn-primary .material-symbols-outlined { font-size: 18px; }

.iad-btn-outline {
    display: block;
    width: 100%;
    padding: 10px;
    text-align: center;
    border: 1px solid var(--iad-outline);
    border-radius: var(--iad-radius);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--iad-text);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.iad-btn-outline:hover { background-color: var(--iad-tertiary); color: #fff; border-color: var(--iad-tertiary); }

.iad-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--iad-primary);
    text-decoration: none;
    padding: 4px;
}
.iad-btn-icon .material-symbols-outlined { font-size: 20px; }

.iad-link-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--iad-primary);
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: gap 0.15s;
}
.iad-link-primary:hover { gap: 10px; }
.iad-link-primary .material-symbols-outlined { font-size: 16px; }

.iad-link-tertiary {
    color: var(--iad-tertiary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none;
}
.iad-link-tertiary:hover { text-decoration: underline; }

/* ════════════════════════════
   UTILITY
════════════════════════════ */
.iad-primary  { color: var(--iad-primary) !important; }
.iad-bg-primary { background-color: var(--iad-primary) !important; }
.iad-border-primary { border-color: var(--iad-primary) !important; }

.iad-empty {
    font-size: 14px;
    color: var(--iad-text-muted);
    padding: 20px 0;
    margin: 0;
}
.iad-empty a { color: var(--iad-primary); }

/* Override Elementor flexbox */
.elementor-widget-inox_account_dashboard,
.elementor .e-flexbox-base:has(.iad-wrap) {
    display: block !important;
    padding: 0 !important;
}

/* ════════════════════════════
   RESPONSIVE
════════════════════════════ */
@media (max-width: 1024px) {
    .iad-grid { grid-template-columns: 1fr; }
    .iad-sidebar-inner { position: static; }
    .iad-nav { flex-direction: row; flex-wrap: wrap; gap: 4px; }
    .iad-nav-item { border-radius: var(--iad-radius); border-right: none; border-bottom: 3px solid transparent; }
    .iad-nav-item.iad-nav-active { border-bottom-color: var(--iad-primary); }
    .iad-bento { grid-template-columns: 1fr; }
    .iad-banner { padding: 28px 24px; }
}

@media (max-width: 600px) {
    .iad-wrap { padding: 20px 16px 60px; }
    .iad-nav-item span:last-child { display: none; }
    .iad-banner-name { font-size: 26px; }
    .iad-card { padding: 20px; }
    .iad-card-download { flex-direction: column; }
}

/* ════════════════════════════
   PAGE HEADER
════════════════════════════ */
.iad-page-header {
    margin-bottom: 8px;
}
.iad-page-title {
    font-family: var(--iad-font-head);
    font-size: clamp(22px,3vw,32px);
    font-weight: 700;
    color: var(--iad-text);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.iad-page-title .material-symbols-outlined {
    font-size: 28px;
    color: var(--iad-primary);
}

/* ════════════════════════════
   ORDINI - azioni
════════════════════════════ */
.iad-order-actions { display: flex; gap: 8px; align-items: center; }
.iad-btn-sm {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border: 1px solid var(--iad-outline);
    border-radius: var(--iad-radius);
    font-size: 12px;
    font-weight: 700;
    color: var(--iad-text);
    text-decoration: none;
    transition: background 0.2s;
    white-space: nowrap;
}
.iad-btn-sm:hover { background: var(--iad-surface-low); }
.iad-btn-sm-primary {
    background-color: var(--iad-action);
    color: #fff;
    border-color: var(--iad-action);
}
.iad-btn-sm-primary:hover { background-color: var(--iad-primary); border-color: var(--iad-primary); }

/* ════════════════════════════
   EMPTY STATE
════════════════════════════ */
.iad-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 60px 20px;
    gap: 16px;
    text-align: center;
}
.iad-empty-icon {
    font-size: 64px !important;
    color: var(--iad-outline-var);
}

/* ════════════════════════════
   DOWNLOAD
════════════════════════════ */
.iad-downloads-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.iad-dl-card {
    background: var(--iad-surface-card);
    border: 1px solid var(--iad-outline-var);
    border-radius: var(--iad-radius-lg);
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: var(--iad-shadow);
    transition: box-shadow 0.2s;
}
.iad-dl-card:hover { box-shadow: var(--iad-shadow-hover); }
.iad-dl-card.iad-dl-expired { opacity: 0.6; }
.iad-dl-icon {
    width: 48px; height: 48px;
    background: rgba(161,4,18,0.08);
    border-radius: var(--iad-radius);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.iad-dl-icon .material-symbols-outlined { color: var(--iad-primary); font-size: 24px; }
.iad-dl-body { flex: 1; min-width: 0; }
.iad-dl-name { font-weight: 700; font-size: 15px; color: var(--iad-text); margin: 0 0 4px; }
.iad-dl-product { font-size: 13px; color: var(--iad-text-muted); margin: 0 0 8px; }
.iad-dl-product a { color: var(--iad-primary); text-decoration: none; }
.iad-dl-meta { display: flex; gap: 8px; flex-wrap: wrap; }
.iad-dl-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: var(--iad-radius-full);
    font-size: 11px;
    font-weight: 700;
    background: var(--iad-surface-low);
    color: var(--iad-text-muted);
}
.iad-dl-badge-green { background: #dcfce7; color: #166534; }
.iad-dl-badge-red   { background: #fee2e2; color: #991b1b; }
.iad-dl-action { flex-shrink: 0; }
.iad-dl-disabled { display: inline-flex; align-items: center; color: var(--iad-outline); }

/* ════════════════════════════
   INDIRIZZI
════════════════════════════ */
.iad-addresses-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.iad-addr-card {
    background: var(--iad-surface-card);
    border: 1px solid var(--iad-outline-var);
    border-radius: var(--iad-radius-lg);
    padding: 28px;
    box-shadow: var(--iad-shadow);
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.iad-addr-billing  { border-top: 4px solid var(--iad-primary); }
.iad-addr-shipping { border-top: 4px solid var(--iad-tertiary); }
.iad-addr-header { display: flex; align-items: center; gap: 12px; }
.iad-addr-icon {
    width: 40px; height: 40px;
    border-radius: var(--iad-radius);
    display: flex; align-items: center; justify-content: center;
    background: rgba(161,4,18,0.08);
}
.iad-addr-billing  .iad-addr-icon { background: rgba(161,4,18,0.08); }
.iad-addr-billing  .iad-addr-icon .material-symbols-outlined { color: var(--iad-primary); }
.iad-addr-shipping .iad-addr-icon { background: rgba(0,84,123,0.08); }
.iad-addr-shipping .iad-addr-icon .material-symbols-outlined { color: var(--iad-tertiary); }
.iad-addr-title {
    font-family: var(--iad-font-head);
    font-size: 17px;
    font-weight: 700;
    color: var(--iad-text);
    margin: 0;
}
.iad-addr-body { font-size: 14px; line-height: 1.7; color: var(--iad-text-muted); flex: 1; }
.iad-addr-body p { margin: 0; }
.iad-addr-name { font-weight: 700; color: var(--iad-text); }
.iad-addr-country { font-weight: 600; color: var(--iad-text); margin-top: 4px !important; }
.iad-addr-extra {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px !important;
    font-size: 13px;
}
.iad-addr-extra .material-symbols-outlined { font-size: 15px; color: var(--iad-outline); }
.iad-btn-outline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 10px;
    border: 1px solid var(--iad-outline);
    border-radius: var(--iad-radius);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--iad-text);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.iad-btn-outline:hover { background-color: var(--iad-primary); color: #fff; border-color: var(--iad-primary); }
.iad-btn-outline .material-symbols-outlined { font-size: 16px; }

/* ════════════════════════════
   FORM DETTAGLI ACCOUNT
════════════════════════════ */
.iad-form { display: flex; flex-direction: column; gap: 24px; }
.iad-form-section { }
.iad-form-section-title {
    font-family: var(--iad-font-head);
    font-size: 18px;
    font-weight: 700;
    color: var(--iad-text);
    margin: 0 0 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--iad-outline-var);
}
.iad-form-section-title .material-symbols-outlined { color: var(--iad-primary); font-size: 20px; }
.iad-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.iad-form-field { display: flex; flex-direction: column; gap: 6px; }
.iad-form-field-full { grid-column: 1 / -1; }
.iad-label {
    font-family: var(--iad-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--iad-text-muted);
}
.iad-required { color: var(--iad-error); }
.iad-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--iad-outline);
    border-radius: var(--iad-radius);
    font-family: var(--iad-font-body);
    font-size: 15px;
    color: var(--iad-text);
    background: var(--iad-surface-card);
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
    box-sizing: border-box;
}
.iad-input:focus {
    border-color: var(--iad-action);
    box-shadow: 0 0 0 3px rgba(220,57,53,0.12);
}
.iad-input-pw-wrap { position: relative; }
.iad-input-pw-wrap .iad-input { padding-right: 48px; }
.iad-pw-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--iad-outline);
    display: flex;
    align-items: center;
    padding: 4px;
}
.iad-pw-toggle:hover { color: var(--iad-primary); }
.iad-pw-toggle .material-symbols-outlined { font-size: 20px; }
.iad-field-hint { font-size: 12px; color: var(--iad-text-muted); margin: 0; }
.iad-form-note { font-size: 13px; color: var(--iad-text-muted); margin: 0 0 20px; }
.iad-form-footer { display: flex; justify-content: flex-end; padding-top: 4px; }

/* ════════════════════════════
   WISHLIST
════════════════════════════ */
.iad-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}
.iad-wl-card {
    background: var(--iad-surface-card);
    border: 1px solid var(--iad-outline-var);
    border-radius: var(--iad-radius-lg);
    overflow: hidden;
    box-shadow: var(--iad-shadow);
    transition: box-shadow 0.2s, transform 0.2s;
    display: flex;
    flex-direction: column;
}
.iad-wl-card:hover { box-shadow: var(--iad-shadow-hover); transform: translateY(-3px); }
.iad-wl-img-wrap { display: block; aspect-ratio: 1/1; overflow: hidden; background: var(--iad-surface-low); }
.iad-wl-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; display: block; }
.iad-wl-card:hover .iad-wl-img-wrap img { transform: scale(1.05); }
.iad-wl-body { padding: 16px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.iad-wl-name { font-weight: 700; font-size: 14px; color: var(--iad-text); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.iad-wl-name:hover { color: var(--iad-primary); }
.iad-wl-price { font-family: var(--iad-font-head); font-size: 18px; font-weight: 800; color: var(--iad-text); }
.iad-wl-actions { margin-top: auto; }
.iad-wishlist-shortcode { min-height: 100px; }

/* Shortcode overrides: forza stile coerente */
.iad-wishlist-shortcode table { width: 100%; border-collapse: collapse; font-size: 14px; }
.iad-wishlist-shortcode th { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--iad-text-muted); padding: 0 16px 12px 0; border-bottom: 1px solid var(--iad-outline-var); }
.iad-wishlist-shortcode td { padding: 14px 16px 14px 0; border-bottom: 1px solid rgba(227,190,186,0.2); vertical-align: middle; }
.iad-wishlist-shortcode .button { background: var(--iad-action); color: #fff; border: none; padding: 8px 16px; border-radius: var(--iad-radius); font-weight: 700; cursor: pointer; text-decoration: none; font-size: 13px; }
.iad-wishlist-shortcode .button:hover { background: var(--iad-primary); }
.iad-wishlist-shortcode .shopengine-wishlist-product-image { display: inline-block; width: 56px; height: 56px; margin-right: 12px; vertical-align: middle; border-radius: var(--iad-radius); overflow: hidden; }
.iad-wishlist-shortcode .shopengine-wishlist-product-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.iad-wishlist-shortcode .wishlist-product-name { display: inline-block; vertical-align: middle; margin: 0; }
.iad-wishlist-shortcode .wishlist-product-name a { font-weight: 700; color: var(--iad-text); text-decoration: none; }
.iad-wishlist-shortcode .wishlist-product-name a:hover { color: var(--iad-primary); }
.iad-wishlist-shortcode .remove-from-wishlist {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 50%;
    background: var(--iad-surface-low); color: var(--iad-text-muted);
    cursor: pointer; font-weight: 700; font-size: 13px;
}
.iad-wishlist-shortcode .remove-from-wishlist:hover { background: var(--iad-error); color: #fff; }

/* ════════════════════════════
   RESPONSIVE
════════════════════════════ */
@media (max-width: 768px) {
    .iad-addresses-grid { grid-template-columns: 1fr; }
    .iad-form-grid { grid-template-columns: 1fr; }
    .iad-dl-card { flex-wrap: wrap; }
    .iad-dl-action { width: 100%; }
    .iad-dl-action .iad-btn-primary { width: 100%; justify-content: center; }
}

/* ════════════════════════════
   WC NATIVE FORMS OVERRIDE
   Stilizza i form nativi WooCommerce
   mantenendo il design system
════════════════════════════ */
.iad-wc-native { padding: 32px; }

/* Label */
.iad-wc-native label,
.iad-wc-native .woocommerce-form__label {
    font-family: var(--iad-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: var(--iad-text-muted) !important;
    display: block !important;
    margin-bottom: 6px !important;
}

/* Input, select, textarea */
.iad-wc-native input[type="text"],
.iad-wc-native input[type="email"],
.iad-wc-native input[type="tel"],
.iad-wc-native input[type="password"],
.iad-wc-native input[type="number"],
.iad-wc-native select,
.iad-wc-native textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid var(--iad-outline) !important;
    border-radius: var(--iad-radius) !important;
    font-family: var(--iad-font-body) !important;
    font-size: 15px !important;
    color: var(--iad-text) !important;
    background: #ffffff !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    outline: none !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}
.iad-wc-native input:focus,
.iad-wc-native select:focus,
.iad-wc-native textarea:focus {
    border-color: var(--iad-action) !important;
    box-shadow: 0 0 0 3px rgba(220,57,53,0.12) !important;
}

/* Fieldset / form row */
.iad-wc-native .woocommerce-address-fields,
.iad-wc-native .woocommerce-address-fields__field-wrapper,
.iad-wc-native fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.iad-wc-native .woocommerce-form-row,
.iad-wc-native p.form-row {
    margin-bottom: 18px !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
}

/* Grid 2 colonne sui form address */
.iad-wc-native .woocommerce-address-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}
.iad-wc-native .woocommerce-address-fields__field-wrapper .form-row-wide,
.iad-wc-native .woocommerce-address-fields__field-wrapper .form-row-last,
.iad-wc-native .woocommerce-address-fields__field-wrapper .form-row-first {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
.iad-wc-native .woocommerce-address-fields__field-wrapper .form-row-wide {
    grid-column: 1 / -1 !important;
}

/* Pulsante submit */
.iad-wc-native button[type="submit"],
.iad-wc-native input[type="submit"],
.iad-wc-native .woocommerce-Button,
.iad-wc-native .button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background-color: var(--iad-action) !important;
    color: #ffffff !important;
    font-family: var(--iad-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 14px 28px !important;
    border-radius: var(--iad-radius) !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.15s !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
    -webkit-appearance: none !important;
}
.iad-wc-native button[type="submit"]:hover,
.iad-wc-native input[type="submit"]:hover,
.iad-wc-native .button:hover {
    background-color: var(--iad-primary) !important;
    transform: translateY(-1px) !important;
}

/* Titoli sezione form */
.iad-wc-native h3,
.iad-wc-native .woocommerce-column__title {
    font-family: var(--iad-font-head) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--iad-text) !important;
    margin: 0 0 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--iad-outline-var) !important;
}

/* Password strength meter */
.iad-wc-native .woocommerce-password-strength {
    margin: 8px 0 !important;
    padding: 6px 12px !important;
    border-radius: var(--iad-radius) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}
.iad-wc-native .woocommerce-password-hint {
    font-size: 12px !important;
    color: var(--iad-text-muted) !important;
}

/* Required asterisk */
.iad-wc-native .required { color: var(--iad-error) !important; }

/* Select2 override se presente */
.iad-wc-native .select2-container--default .select2-selection--single {
    height: auto !important;
    padding: 12px 16px !important;
    border: 1px solid var(--iad-outline) !important;
    border-radius: var(--iad-radius) !important;
    font-size: 15px !important;
}
.iad-wc-native .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    padding: 0 !important;
    color: var(--iad-text) !important;
}
.iad-wc-native .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* Messaggi errore/successo WC */
.iad-wc-native .woocommerce-error,
.iad-wc-native ul.woocommerce-error {
    background: #fee2e2 !important;
    border-left: 4px solid var(--iad-error) !important;
    color: #991b1b !important;
    padding: 14px 18px !important;
    border-radius: var(--iad-radius) !important;
    list-style: none !important;
    margin: 0 0 20px !important;
}
.iad-wc-native .woocommerce-error::before,
.iad-wc-native .woocommerce-message::before {
    display: none !important;
}
.iad-wc-native .woocommerce-message {
    background: #dcfce7 !important;
    border-left: 4px solid #16a34a !important;
    color: #166534 !important;
    padding: 14px 18px !important;
    border-radius: var(--iad-radius) !important;
    margin: 0 0 20px !important;
}

/* Indirizzi – my-address.php template */
.iad-wc-native .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
}
.iad-wc-native .woocommerce-Address {
    background: var(--iad-surface-card) !important;
    border: 1px solid var(--iad-outline-var) !important;
    border-radius: var(--iad-radius-lg) !important;
    padding: 24px !important;
}
.iad-wc-native .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--iad-outline-var) !important;
}
.iad-wc-native .woocommerce-Address-title h3 {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
}
.iad-wc-native address {
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: var(--iad-text-muted) !important;
    font-style: normal !important;
    margin-bottom: 16px !important;
}

@media (max-width: 600px) {
    .iad-wc-native .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr !important; }
    .iad-wc-native .woocommerce-Addresses { grid-template-columns: 1fr !important; }
}

/* ════════════════════════════
   FIX my-address.php template
════════════════════════════ */
.iad-wc-native .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
}
.iad-wc-native .woocommerce-Address {
    background: var(--iad-surface-card) !important;
    border: 1px solid var(--iad-outline-var) !important;
    border-radius: var(--iad-radius-lg) !important;
    padding: 24px !important;
    position: relative !important;
}
.iad-wc-native .woocommerce-Address-title {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--iad-outline-var) !important;
}
.iad-wc-native .woocommerce-Address-title h3 {
    font-family: var(--iad-font-head) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--iad-text) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    flex: 1 !important;
    line-height: 1.3 !important;
}
/* Link "Aggiungi / Modifica" allineato a destra */
.iad-wc-native .woocommerce-Address-title a,
.iad-wc-native .woocommerce-Address-title .edit {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--iad-primary) !important;
    text-decoration: none !important;
    border: 1px solid var(--iad-primary) !important;
    padding: 4px 10px !important;
    border-radius: var(--iad-radius-full) !important;
    transition: background 0.2s, color 0.2s !important;
    flex-shrink: 0 !important;
}
.iad-wc-native .woocommerce-Address-title a:hover,
.iad-wc-native .woocommerce-Address-title .edit:hover {
    background: var(--iad-primary) !important;
    color: #fff !important;
}
.iad-wc-native address {
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: var(--iad-text-muted) !important;
    font-style: normal !important;
    margin: 0 !important;
}

@media (max-width: 600px) {
    .iad-wc-native .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
}

/* ════════════════════════════
   Login + Registrazione (#customer_login)
   ════════════════════════════ */
.iad-auth-card .woocommerce-notices-wrapper {
    max-width: 420px !important;
    margin: 0 auto !important;
}
.iad-auth-card #customer_login.col2-set {
    display: block !important;
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto !important;
}
.iad-auth-card #customer_login .u-column1,
.iad-auth-card #customer_login .u-column2 {
    width: 100% !important;
    float: none !important;
}
.iad-auth-card #customer_login .u-column2 {
    display: none;
    border-left: none !important;
    padding-left: 0 !important;
}
.iad-auth-card.iad-show-register #customer_login .u-column1 { display: none; }
.iad-auth-card.iad-show-register #customer_login .u-column2 { display: block; }
.iad-auth-card #customer_login h2 {
    font-family: var(--iad-font-head) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--iad-text) !important;
    margin: 0 0 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--iad-outline-var) !important;
}
.iad-auth-card .woocommerce-LostPassword {
    margin-top: 12px !important;
    font-size: 13px !important;
}
.iad-auth-card .woocommerce-privacy-policy-text {
    font-size: 12px !important;
    color: var(--iad-text-muted) !important;
    margin-bottom: 16px !important;
}
.iad-auth-actions {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    margin: 0 !important;
}
.iad-auth-toggle-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 20px !important;
    height: 48px !important;
    border: 1px solid var(--iad-outline-var) !important;
    border-radius: var(--iad-radius) !important;
    color: var(--iad-text) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
.iad-auth-toggle-link:hover { border-color: var(--iad-primary) !important; color: var(--iad-primary) !important; }
.iad-auth-toggle-back {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--iad-text-muted) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin-bottom: 20px !important;
}
.iad-auth-toggle-back:hover { color: var(--iad-primary) !important; }
.iad-auth-toggle-back .material-symbols-outlined { font-size: 18px !important; }
.iad-auth-narrow { max-width: 420px !important; margin: 0 auto !important; }
.iad-auth-narrow .form-row { margin: 0 0 20px !important; }

