/* Blade views — CSS statico estratto da resources/views (esclusa cartella admin/).
 * Admin: public_html/css/admin.css (solo route admin*).
 * Rigenera: php scripts/consolidate-blade-pages-css.php
 * Non estrae blocchi con Blade/PHP nel CSS (restano inline nella vista).
 */

/* --- layouts/app.blade.php (shell statico, era nell’inline tema) --- */
.content-with-navbar {
    padding-top: 64px;
    transition: padding-left 0.3s ease;
}

@media (min-width: 960px) {
    .content-pl-expanded { padding-left: 16rem; }
    .content-pl-collapsed { padding-left: 4rem; }
}

@media (max-width: 959.98px) {
    .content-pl-expanded,
    .content-pl-collapsed { padding-left: 0 !important; }
}

#app-loader[hidden] { display: none !important; }

/* --- auth/forgot-password.blade.php --- */
/* --- Variabili Tema (allineate al Login/Register) --- */
  :root {
    --brand-blue: var(--theme-primary, var(--theme-primary, #e61a0a));
    --brand-blue-hover: color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 86%, #000);
    --dark-slate: color-mix(in srgb, var(--theme-secondary, #1e3a5a) 25%, #0f172a);
    --light-bg: var(--theme-bg, #fcfcfc);
    --input-bg: color-mix(in srgb, var(--theme-bg, #fcfcfc) 88%, #fff);
    --input-border: var(--spedire-border, #e0e3e4);
    --card-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
  }

  /* Layout & background */
  .auth-page-wrapper {
    --dark-slate-color: var(--dark-slate);
    --brand-primary-color: var(--brand-blue);
    min-height: 100vh;
    background: var(--light-bg);
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .bg-gradient-azure-light {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, color-mix(in srgb, var(--theme-secondary, #1e3a5a) 20%, #ffffff) 0%, #ffffff 70%);
  }
  .grid-overlay {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(0,0,0,0.03) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.8;
  }

  .fw-black { font-weight: var(--sw-weight-bold, 700); }
  .ls-1 { letter-spacing: 0.05em; }

  .card-solid {
    background: #fff;
    border: 1px solid var(--input-border);
    border-radius: 1.25rem;
    box-shadow: var(--card-shadow);
  }
  .shadow-modern {
    box-shadow: var(--card-shadow);
  }

  .badge-modern {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-blue) 10%, transparent);
    color: var(--brand-blue);
    font-weight: 700;
    font-size: 0.8rem;
  }

  .icon-square-sm {
    width: 34px;
    height: 34px;
    border-radius: 0.8rem;
    display: grid;
    place-items: center;
    font-size: 1rem;
  }
  .bg-blue-subtle { background: color-mix(in srgb, var(--brand-blue) 10%, transparent) !important; }

  .bg-gradient-brand {
    background: linear-gradient(135deg, var(--brand-blue), #8B5CF6);
  }
  .hero-icon-lg { font-size: 4rem; }
  .d-grid { display: grid !important; }
  .place-items-center { place-items: center; }

  .link-primary-custom {
    color: var(--brand-blue) !important;
    text-decoration: none;
  }
  .link-primary-custom:hover { text-decoration: underline; }
  .link-secondary { color: #64748b !important; }

  /* Inputs (coerenti con login) */
  .input-group-modern { position: relative; }

  .input-group-modern .input-icon {
    position: absolute;
    left: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 1.05rem;
    pointer-events: none;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
  }

  .form-control-modern {
    background: var(--input-bg);
    border: 1px solid var(--input-border);
    border-radius: 0.6rem;
    padding: 0.8rem 1rem 0.8rem 3.1rem;
    height: 48px;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--dark-slate);
    transition: all 0.2s;
  }
  .form-control-modern:focus {
    border-color: var(--brand-blue);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-blue) 15%, transparent);
  }
  .form-control-modern::placeholder {
    color: #cbd5e1;
    font-weight: 400;
  }

  /* Primary button – stesso stile del Login/Register */
  .btn-primary-custom {
    background: var(--brand-blue) !important;
    border-color: var(--brand-blue) !important;
    color: #fff !important;
    padding: 0.85rem;
    border-radius: 0.6rem;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--brand-blue) 25%, transparent);
    transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
  }
  .btn-primary-custom:hover:not(:disabled) {
    background: var(--brand-blue-hover) !important;
    border-color: var(--brand-blue-hover) !important;
    transform: translateY(-1px);
  }
  .btn-primary-custom:disabled {
    background: var(--brand-blue) !important;
    border-color: var(--brand-blue) !important;
    opacity: .7;
  }

/* --- auth/login.blade.php --- */
/* --- Variabili Tema (allineate al Register) --- */
  :root {
    --brand-blue: var(--theme-primary, var(--theme-primary, #e61a0a));
    --brand-blue-hover: color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 86%, #000);
    --dark-slate: color-mix(in srgb, var(--theme-secondary, #1e3a5a) 25%, #0f172a);
    --light-bg: var(--theme-bg, #fcfcfc);
    --input-bg: color-mix(in srgb, var(--theme-bg, #fcfcfc) 88%, #fff);
    --input-border: var(--spedire-border, #e0e3e4);
    --card-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
  }

  /* Layout & background */
  .auth-page-wrapper {
    --dark-slate-color: var(--dark-slate);
    --brand-primary-color: var(--brand-blue);
    min-height: 100vh;
    background: var(--light-bg);
    padding-bottom: 3rem;
	padding-top: 10px;
  }
  .bg-gradient-azure-light {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, color-mix(in srgb, var(--theme-secondary, #1e3a5a) 20%, #ffffff) 0%, #ffffff 70%);
  }
  .grid-overlay {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(0,0,0,0.03) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.8;
  }

  .fw-black { font-weight: var(--sw-weight-bold, 700); }
  .ls-1 { letter-spacing: 0.05em; }

  .card-solid {
    background: #fff;
    border: 1px solid var(--input-border);
    border-radius: 1.25rem;
    box-shadow: var(--card-shadow);
  }

  .badge-modern {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-blue) 10%, transparent);
    color: var(--brand-blue);
    font-weight: 700;
    font-size: 0.8rem;
  }

  .icon-square-sm {
    width: 34px;
    height: 34px;
    border-radius: 0.8rem;
    display: grid;
    place-items: center;
    font-size: 1rem;
  }
  .bg-blue-subtle { background: color-mix(in srgb, var(--brand-blue) 10%, transparent) !important; }

  .bg-gradient-brand {
    background: linear-gradient(135deg, var(--brand-blue), #8B5CF6);
  }
  .hero-icon-lg { font-size: 4rem; }
  .d-grid { display: grid !important; }
  .place-items-center { place-items: center; }

  .link-primary-custom { color: var(--brand-blue) !important; text-decoration: none; }
  .link-primary-custom:hover { text-decoration: underline; }
  .link-secondary { color: #64748b !important; }

  /* Inputs */
  .input-group-modern { position: relative; }

  .input-group-modern .input-icon {
    position: absolute;
    left: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 1.05rem;
    pointer-events: none;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
  }

  .form-control-modern {
    background: var(--input-bg);
    border: 1px solid var(--input-border);
    border-radius: 0.6rem;
    padding: 0.8rem 1rem 0.8rem 3.1rem;
    height: 48px;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--dark-slate);
    transition: all 0.2s;
  }
  .form-control-modern:focus {
    border-color: var(--brand-blue);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
  }
  .form-control-modern::placeholder {
    color: #cbd5e1;
    font-weight: 400;
  }

  .btn-toggle-pass {
    position: absolute;
    right: 0.8rem;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: #94a3b8;
    z-index: 5;
  }
  .btn-toggle-pass:hover { color: var(--brand-blue); }

  /* Primary button – stesso stile del Register */
  .btn-primary-custom {
    background: var(--brand-blue) !important;
    border-color: var(--brand-blue) !important;
    color: #fff !important;
    font-weight: 700;
    padding: 0.85rem;
    border-radius: 0.6rem;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
    transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
  }
  .btn-primary-custom:hover:not(:disabled) {
    background: var(--brand-blue-hover) !important;
    border-color: var(--brand-blue-hover) !important;
    transform: translateY(-1px);
  }
  .btn-primary-custom:disabled {
    background: var(--brand-blue) !important;
    border-color: var(--brand-blue) !important;
    opacity: .7;
  }

  /* Social buttons */
  .btn-social-modern {
    background: #fff;
    border: 1px solid var(--input-border);
    color: var(--dark-slate);
    font-weight: 600;
    padding: 0.8rem 1rem;
    border-radius: 0.6rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    transition: all 0.2s;
    height: 48px;
  }
  .btn-social-modern:hover {
    background: #f1f5f9;
    border-color: var(--brand-blue);
    transform: translateY(-1px);
  }

  /* Tabs */
  .nav-pills-modern .nav-link {
    border-radius: 0.75rem;
    padding: 0.45rem 1rem;
    color: #64748b;
    font-weight: 600;
    background: #e5edf7;
    transition: all 0.2s;
    font-size: 0.9rem;
  }
  .nav-pills-modern .nav-link.active {
    background: var(--brand-blue);
    color: #fff;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
  }
  .nav-pills-modern .nav-link:not(.active):hover {
    background: #dbe4f3;
  }

/* --- auth/register.blade.php --- */
/* --- Variabili Tema (Consistent with Admin/Login) --- */
:root{
  --brand-blue:var(--theme-primary, var(--theme-primary, #e61a0a));
  --brand-blue-hover:color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 86%, #000);
  --dark-slate:color-mix(in srgb, var(--theme-secondary, #1e3a5a) 25%, #0f172a);
  --light-bg:var(--theme-bg, #fcfcfc);
  --input-bg:color-mix(in srgb, var(--theme-bg, #fcfcfc) 88%, #fff);
  --input-border:var(--spedire-border, #e0e3e4);
  --card-shadow:0 10px 30px -10px rgba(0,0,0,.05);
}

/* Layout */
.auth-page-wrapper{
  --dark-slate-color: var(--dark-slate);
  --brand-primary-color: var(--brand-blue);
  min-height:100vh; background:var(--light-bg); padding-top:1.5rem;
}
@media (min-width:768px){ .auth-page-wrapper{ padding-top:3rem; } }

.bg-gradient-azure-light{ position:absolute; inset:0; background:linear-gradient(135deg,color-mix(in srgb, var(--theme-secondary, #1e3a5a) 20%, #ffffff) 0%,#fff 70%); }
.grid-overlay{ position:absolute; inset:0; background-image:radial-gradient(rgba(0,0,0,.03) 1px,transparent 1px); background-size:24px 24px; }

/* Typography */
.fw-black{ font-weight: var(--sw-weight-bold, 700); }
.ls-1{ letter-spacing:.05em; }

/* Card Solid */
.card-solid{
  background:#fff;
  border:1px solid var(--input-border);
  border-radius:1.25rem;
  box-shadow:var(--card-shadow);
}

/* Labels: professionali, coerenti, NON troppo bold */
.form-label-modern{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#000000;
  font-weight:600;
  margin-bottom:.35rem;
}

/* Form Elements Modern */
.input-group-modern{ position:relative; }

.input-icon{
  position:absolute;
  left:1rem;
  top:50%;
  transform:translateY(-50%);
  color:#94a3b8;
  z-index:5;
  pointer-events:none;
  font-size:1.05rem;
}

.form-control-modern{
  background:var(--input-bg);
  border:1px solid var(--input-border);
  border-radius:.6rem;
  padding:.75rem 1rem .75rem 3rem; /* left for icon */
  height:48px;
  font-size:.95rem;
  font-weight:400;
  color:var(--dark-slate);
  transition:all .2s;
}

.form-control-rightpad{ padding-right:3rem; }

.form-control-modern::placeholder{
  color:#94a3b8;
  font-weight:400;
}

.form-control-modern:focus{
  border-color:var(--brand-blue);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 15%, transparent);
}

.form-select.form-control-modern{ padding-left:3rem; }

/* Account Type Toggle */
.btn-outline-custom{
  border:1px solid var(--input-border);
  color:#000000;
  background:#fff;
  padding:.75rem;
  font-weight:600;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.btn-check:checked + .btn-outline-custom{
  border-color:var(--brand-blue);
  background-color:color-mix(in srgb, var(--brand-blue) 8%, transparent);
  color:var(--brand-blue);
  box-shadow:none;
}
.btn-outline-custom:hover{ background-color:#f8fafc; }

/* Buttons */
.btn-primary-custom{
  background:var(--brand-blue)!important;
  border-color:var(--brand-blue)!important;
  color:#fff!important;
  padding:.85rem;
  border-radius:.6rem;
  box-shadow:0 4px 12px color-mix(in srgb, var(--brand-blue) 25%, transparent);
  transition:transform .2s;
}
.btn-primary-custom:hover:not(:disabled){
  transform:translateY(-1px);
  background:var(--brand-blue-hover)!important;
  border-color:var(--brand-blue-hover)!important;
}
.btn-primary-custom:disabled{ opacity:.65; }

.btn-social-modern{
  background:#fff;
  border:1px solid var(--input-border);
  color:var(--dark-slate);
  font-weight:600;
  padding:.7rem;
  border-radius:.6rem;
  transition:all .2s;
}
.btn-social-modern:hover{ background:#f8fafc; border-color:#cbd5e1; }

/* Hero Icon (fix: prima era enorme) */
.hero-icon-lg{ font-size:6rem; }
@media (min-width:1200px){ .hero-icon-lg{ font-size:8rem; } }

.bg-gradient-brand{ background:linear-gradient(135deg,var(--brand-blue),#8B5CF6); }

.badge-modern{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem 1rem;
  border-radius:999px;
  background:color-mix(in srgb, var(--brand-blue) 10%, transparent);
  color:var(--brand-blue);
  font-weight:700;
  font-size:.8rem;
}

/* Helpers */
.step-circle{
  width:24px;
  height:24px;
  border-radius:50%;
  background:#e2e8f0;
  color:#000000;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.75rem;
  font-weight:700;
}
.step-circle.active{ background:var(--brand-blue); color:#fff; }

.link-primary-custom{ color:var(--brand-blue)!important; text-decoration:none; }
.link-primary-custom:hover{ text-decoration:underline; }

/* Country / City */
.country-select{ position:relative; }
.country-btn{
  display:flex;
  align-items:center;
  padding-left:.6rem;
  min-height:48px;
}
.country-btn .flag-ico{
  width:20px;
  height:15px;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.06) inset;
}

.country-dd{
  position:absolute; left:0; right:0; margin-top:.25rem;
  background:#fff; border:1px solid #e5e7eb;
  border-radius:.6rem; box-shadow:0 18px 40px rgba(2,6,23,.18); z-index:1060;
}
.country-list{ max-height:260px; overflow:auto; padding:.25rem; }
.country-option{
  display:flex; align-items:center; gap:.55rem;
  padding:0rem; border-radius:.5rem; cursor:pointer;
  font-weight:var(--sw-weight-light, 300) !important; color:#0f172a;
}
.country-option .fi,
.country-option .country-option-flag{
  width:20px;
  height:15px;
  flex:0 0 20px;
  object-fit:cover;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.06) inset;
}
/* Hover solo in lista aperta — non sul paese mostrato nel Select2 chiuso */
.country-dd .country-option:hover,
.country-dd .country-option[aria-selected="true"]{
  background:#eef2ff;
}
/* Select2 lista paesi: solo sfondo sulla riga (highlight), niente “pillola” su .country-option */
.select2-dropdown .select2-results__option .country-option,
.select2-dropdown .select2-results__option .country-option:hover,
.select2-dropdown .select2-results__option--highlighted .country-option,
.select2-dropdown .select2-results__option[aria-selected=true] .country-option{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
.select2-container .select2-selection__rendered .country-option,
.select2-container .select2-selection__rendered .country-option:hover,
.select2-container .select2-selection__rendered .country-option[aria-selected="true"]{
  background:transparent !important;
}
.country-option small{ color:#000000; font-weight:700; margin-left:auto; }

.city-ac .city-dd{
  background:#fff; border:1px solid #e5e7eb;
  outline:none;
  border-radius:.6rem; box-shadow:0 18px 40px rgba(2,6,23,.18); z-index:1060;
}
.city-list{ padding:.25rem; max-height:260px; overflow:auto; }
.city-option{
  padding:.5rem .6rem; border-radius:.5rem; cursor:pointer;
  display:flex; gap:.5rem; align-items:baseline;
}
.city-option:hover,
.city-option[aria-selected="true"]{ background:#eef2ff; }
.city-main{ font-weight:700; color:#0f172a; }
.city-meta{ margin-left:auto; font-weight:700; color:#000000; }

.city-ac .spinner-ac{
  position:absolute; right:.6rem; top:50%; transform:translateY(-50%);
  width:16px; height:16px; border:2px solid rgba(100,116,139,.35);
  border-top-color:#000000; border-radius:999px;
  animation:trkspin .75s linear infinite;
}
@keyframes trkspin{ to{ transform:translateY(-50%) rotate(360deg) } }

/* Toggle password */
.btn-toggle-pass{
  position:absolute; right:.8rem; top:50%; transform:translateY(-50%);
  border:none; background:transparent; color:#94a3b8; z-index:10;
}
.btn-toggle-pass:hover{ color:var(--brand-blue); }

/* Terms checkbox: centrata, font normale, stile professionale */
.terms-check{
  display:flex;
  align-items:center;
  gap:.55rem;
}
.terms-check .form-check-label{
  line-height:1.45;
  font-weight:400;
}

/* Wrapper per icona SOLO nel select (non nelle option) */
.select-with-icon{
  position: relative;
}

.select-with-icon .select-left-icon{
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  pointer-events: none;
  z-index: 2;
  font-size: 1.05rem;
}

/* Importante: padding-left normale (così le option non si spostano) */
select.select-noopt-indent.form-control-modern{
  padding-left: 1rem !important;   /* NO 3rem */
  text-indent: 1.9rem;             /* sposta SOLO il testo “chiuso” */
}

/* Focus coerente */
.select-with-icon:focus-within .select-left-icon{
  color: var(--brand-blue);
}

span.country-label.text-truncate {
    padding-left: 0.5em;
}

/* --- auth/reset-password.blade.php --- */
/* --- Variabili Tema (allineate a login/register) --- */
:root{
  --brand-blue:var(--theme-primary, var(--theme-primary, #e61a0a));
  --brand-blue-hover:color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 86%, #000);
  --dark-slate:color-mix(in srgb, var(--theme-secondary, #1e3a5a) 25%, #0f172a);
  --light-bg:var(--theme-bg, #fcfcfc);
  --input-bg:color-mix(in srgb, var(--theme-bg, #fcfcfc) 88%, #fff);
  --input-border:var(--spedire-border, #e0e3e4);
  --card-shadow:0 10px 30px -10px rgba(0,0,0,.05);
}

/* Layout */
.auth-page-wrapper{
  --dark-slate-color: var(--dark-slate);
  --brand-primary-color: var(--brand-blue);
  min-height:100vh; background:var(--light-bg); padding-top:1.5rem; padding-bottom:1.5rem;
}
@media (min-width:768px){ .auth-page-wrapper{ padding-top:3rem; padding-bottom:3rem; } }

.bg-gradient-azure-light{ position:absolute; inset:0; background:linear-gradient(135deg,color-mix(in srgb, var(--theme-secondary, #1e3a5a) 20%, #ffffff) 0%,#fff 70%); }
.grid-overlay{ position:absolute; inset:0; background-image:radial-gradient(rgba(0,0,0,.03) 1px,transparent 1px); background-size:24px 24px; }

/* Typography */
.fw-black{ font-weight: var(--sw-weight-bold, 700); }

/* Card */
.card-solid{
  background:#fff;
  border:1px solid var(--input-border);
  border-radius:1.25rem;
  box-shadow:var(--card-shadow);
}
.shadow-modern{ box-shadow:var(--card-shadow); }

/* Labels (stile register) */
.form-label-modern{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#000;
  font-weight:600;
  margin-bottom:.35rem;
}

/* Hero */
.hero-icon-lg{ font-size:6rem; }
@media (min-width:1200px){ .hero-icon-lg{ font-size:8rem; } }
.bg-gradient-brand{ background:linear-gradient(135deg,var(--brand-blue),#8B5CF6); }

.badge-modern{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem 1rem;
  border-radius:999px;
  background:color-mix(in srgb, var(--brand-blue) 10%, transparent);
  color:var(--brand-blue);
  font-weight:700;
  font-size:.8rem;
}
.icon-square-sm{
  width:34px; height:34px; border-radius:10px;
  display:grid; place-items:center; font-size:1rem;
}

/* Step circles */
.step-circle{
  width:24px; height:24px; border-radius:50%;
  background:#e2e8f0; color:#000;
  display:flex; align-items:center; justify-content:center;
  font-size:.75rem; font-weight:700;
}
.step-circle.active{ background:var(--brand-blue); color:#fff; }

/* Links */
.link-primary-custom{ color:var(--brand-blue)!important; text-decoration:none; }
.link-primary-custom:hover{ text-decoration:underline; }
.link-secondary{ color:#64748b!important; text-decoration:none; }
.link-secondary:hover{ text-decoration:underline; }

/* Inputs */
.input-group-modern{ position:relative; }

.input-icon{
  position:absolute;
  left:1rem;
  top:50%;
  transform:translateY(-50%);
  color:#94a3b8;
  z-index:5;
  pointer-events:none;
  font-size:1.05rem;
}

.form-control-modern{
  background:var(--input-bg);
  border:1px solid var(--input-border);
  border-radius:.6rem;
  padding:.75rem 1rem .75rem 3rem;
  height:48px;
  font-size:.95rem;
  font-weight:400;
  color:var(--dark-slate);
  transition:all .2s;
}
.form-control-modern::placeholder{ color:#94a3b8; font-weight:400; }

.form-control-modern:focus{
  border-color:var(--brand-blue);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-blue) 15%, transparent);
}

.form-control-rightpad{ padding-right:3.25rem; }

/* Toggle password eye */
.btn-toggle-pass{
  position:absolute;
  right:.8rem;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:transparent;
  color:#94a3b8;
  z-index:10;
  padding:.25rem .35rem;
}
.btn-toggle-pass:hover{ color:var(--brand-blue); }

/* Paste suffix button (NON usare btn-toggle-pass -> evita layout rotto) */
.btn-input-suffix{
  position:absolute;
  right:.5rem;
  top:50%;
  transform:translateY(-50%);
  border:1px solid var(--input-border);
  background:#fff;
  color:var(--brand-blue);
  font-weight:700;
  font-size:.85rem;
  padding:.35rem .65rem;
  border-radius:.5rem;
  z-index:10;
  line-height:1.1;
}
.btn-input-suffix:hover{
  background:#f8fafc;
  border-color:#cbd5e1;
}

/* Primary button */
.btn.btn-primary-custom{
  background:var(--brand-blue)!important;
  border-color:var(--brand-blue)!important;
  color:#fff!important;
  padding:.85rem;
  border-radius:.6rem;
  box-shadow:0 4px 12px rgba(0,70,190,.25);
  transition:transform .2s, background-color .2s, border-color .2s;
}
.btn.btn-primary-custom:hover:not(:disabled){
  transform:translateY(-1px);
  background:var(--brand-blue-hover)!important;
  border-color:var(--brand-blue-hover)!important;
}
.btn.btn-primary-custom:disabled{ opacity:.65; }

/* --- components/alerts.blade.php --- */
[x-cloak] { display: none !important; }

    .alert-modern {
        border: 0;
        border-left: 4px solid transparent;
        background-color: #fff;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
        border-radius: 0.75rem;
        padding: 1rem;
        position: relative;
        overflow: hidden;
        margin-top: 0rem;
    }

/* --- User operational pages polish: shipments/imports/address book/invoices/couriers/api --- */
.user-shipments-wrapper,
.imported-orders-wrapper,
.address-book-wrapper,
.user-invoices-wrapper,
.couriers-wrapper,
.api-keys-wrapper {
    --user-page-primary: var(--theme-primary, #ff3028);
    --user-page-ink: #202938;
    --user-page-muted: #657384;
    --user-page-border: #e1e6eb;
    padding-bottom: 7rem !important;
}

.user-shipments-wrapper .card,
.imported-orders-wrapper .card,
.address-book-wrapper .card,
.user-invoices-wrapper .card,
.couriers-wrapper .card,
.api-keys-wrapper .card {
    border-radius: 0 !important;
    border: 1px solid var(--user-page-border) !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .06) !important;
}

.user-shipments-wrapper .card-header,
.imported-orders-wrapper .card-header,
.address-book-wrapper .card-header,
.user-invoices-wrapper .card-header,
.couriers-wrapper .card-header,
.api-keys-wrapper .card-header {
    background: #fff !important;
    border-color: var(--user-page-border) !important;
}

.user-shipments-wrapper .shipments-card,
.imported-orders-wrapper .imported-main-card,
.address-book-wrapper .address-card,
.user-invoices-wrapper .shipments-card,
.couriers-wrapper .couriers-card,
.api-keys-wrapper .api-card {
    overflow: hidden;
}

.imported-orders-wrapper .imported-main-card,
.address-book-wrapper .address-card,
.couriers-wrapper .couriers-card,
.api-keys-wrapper .api-card {
    margin-bottom: 4.5rem !important;
}

.user-shipments-wrapper .table-head-custom,
.imported-orders-wrapper .table-head-custom,
.address-book-wrapper .table-head-custom,
.user-invoices-wrapper .table-head-custom,
.couriers-wrapper .table-head-custom,
.api-keys-wrapper .table-head-custom {
    background: #fff !important;
    border-left: 3px solid var(--user-page-primary);
}

.user-shipments-wrapper .table-head-custom th,
.imported-orders-wrapper .table-head-custom th,
.address-book-wrapper .table-head-custom th,
.user-invoices-wrapper .table-head-custom th,
.couriers-wrapper .table-head-custom th,
.api-keys-wrapper .table-head-custom th {
    color: var(--user-page-ink);
    font-weight: var(--sw-weight-bold, 700);
    border-color: var(--user-page-border);
}

.user-shipments-wrapper .form-control-modern,
.user-shipments-wrapper .form-select-modern,
.imported-orders-wrapper .form-control-modern,
.imported-orders-wrapper .form-select-modern,
.address-book-wrapper .form-control-modern,
.address-book-wrapper .form-select-modern,
.user-invoices-wrapper .form-control-modern,
.user-invoices-wrapper .form-select-modern,
.couriers-wrapper .form-control-modern,
.couriers-wrapper .form-select-modern,
.api-keys-wrapper .form-control-modern,
.api-keys-wrapper .form-select-modern {
    border-radius: 0 !important;
    border-color: #dbe2ea;
    color: var(--user-page-ink);
    font-family: inherit;
}

.user-shipments-wrapper .form-control-modern:focus,
.user-shipments-wrapper .form-select-modern:focus,
.imported-orders-wrapper .form-control-modern:focus,
.imported-orders-wrapper .form-select-modern:focus,
.address-book-wrapper .form-control-modern:focus,
.address-book-wrapper .form-select-modern:focus,
.user-invoices-wrapper .form-control-modern:focus,
.user-invoices-wrapper .form-select-modern:focus,
.couriers-wrapper .form-control-modern:focus,
.couriers-wrapper .form-select-modern:focus,
.api-keys-wrapper .form-control-modern:focus,
.api-keys-wrapper .form-select-modern:focus {
    border-color: #1f324b;
    box-shadow: 0 0 0 .2rem rgba(31, 50, 75, .12);
}

.user-shipments-wrapper .btn,
.imported-orders-wrapper .btn,
.address-book-wrapper .btn,
.user-invoices-wrapper .btn,
.couriers-wrapper .btn,
.api-keys-wrapper .btn {
    border-radius: 0 !important;
    font-weight: 700;
}

.user-shipments-wrapper .btn-primary-custom,
.imported-orders-wrapper .btn-primary-custom,
.address-book-wrapper .btn-primary-custom,
.user-invoices-wrapper .btn-primary-custom,
.couriers-wrapper .btn-primary-custom,
.api-keys-wrapper .btn-primary-custom {
    background: var(--user-page-primary) !important;
    border-color: var(--user-page-primary) !important;
    color: #fff !important;
    box-shadow: none;
}

.user-shipments-wrapper .btn-primary-custom:hover,
.user-shipments-wrapper .btn-primary-custom:focus,
.imported-orders-wrapper .btn-primary-custom:hover,
.imported-orders-wrapper .btn-primary-custom:focus,
.address-book-wrapper .btn-primary-custom:hover,
.address-book-wrapper .btn-primary-custom:focus,
.user-invoices-wrapper .btn-primary-custom:hover,
.user-invoices-wrapper .btn-primary-custom:focus,
.couriers-wrapper .btn-primary-custom:hover,
.couriers-wrapper .btn-primary-custom:focus,
.api-keys-wrapper .btn-primary-custom:hover,
.api-keys-wrapper .btn-primary-custom:focus {
    background: color-mix(in srgb, var(--user-page-primary) 88%, #000) !important;
    border-color: color-mix(in srgb, var(--user-page-primary) 88%, #000) !important;
    box-shadow: 0 14px 28px rgba(255, 48, 40, .18);
    transform: none;
}

.user-shipments-wrapper .dropdown-menu,
.imported-orders-wrapper .dropdown-menu,
.address-book-wrapper .dropdown-menu,
.user-invoices-wrapper .dropdown-menu,
.couriers-wrapper .dropdown-menu,
.api-keys-wrapper .dropdown-menu,
.user-shipments-wrapper .pagination .page-link,
.imported-orders-wrapper .pagination .page-link,
.address-book-wrapper .pagination .page-link,
.user-invoices-wrapper .pagination .page-link,
.couriers-wrapper .pagination .page-link,
.api-keys-wrapper .pagination .page-link {
    border-radius: 0 !important;
}

.user-shipments-wrapper .pagination .page-item.active .page-link,
.imported-orders-wrapper .pagination .page-item.active .page-link,
.address-book-wrapper .pagination .page-item.active .page-link,
.user-invoices-wrapper .pagination .page-item.active .page-link,
.couriers-wrapper .pagination .page-item.active .page-link,
.api-keys-wrapper .pagination .page-item.active .page-link {
    background: var(--user-page-primary);
    border-color: var(--user-page-primary);
    color: #fff;
}

.shipments-pagination-wrap,
.imports-pagination-wrap,
.address-book-pagination-wrap,
.invoices-pagination-wrap,
.couriers-pagination-wrap,
.api-keys-pagination-wrap {
    margin-bottom: 4.5rem !important;
    padding-bottom: 1.25rem;
}

@media (min-width: 960px) {
    #importsFiltersPanel.imports-filters-collapse,
    #addressBookFiltersPanel.address-book-filters-collapse,
    #couriersFiltersPanel.couriers-filters-collapse,
    #apiKeysFiltersPanel.api-keys-filters-collapse,
    #invoicesFiltersPanel.shipments-filters-collapse {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
        visibility: visible !important;
    }
}

@media (max-width: 959.98px) {
    .user-shipments-wrapper,
    .imported-orders-wrapper,
    .address-book-wrapper,
    .user-invoices-wrapper,
    .couriers-wrapper,
    .api-keys-wrapper {
        padding-bottom: 8rem !important;
    }
}

html[data-theme="dark"] .user-shipments-wrapper,
html[data-theme="dark"] .imported-orders-wrapper,
html[data-theme="dark"] .address-book-wrapper,
html[data-theme="dark"] .user-invoices-wrapper,
html[data-theme="dark"] .couriers-wrapper,
html[data-theme="dark"] .api-keys-wrapper {
    --user-page-ink: #f8fafc;
    --user-page-muted: #aab7c8;
    --user-page-border: #2d3a4f;
}

html[data-theme="dark"] .user-shipments-wrapper .card,
html[data-theme="dark"] .imported-orders-wrapper .card,
html[data-theme="dark"] .address-book-wrapper .card,
html[data-theme="dark"] .user-invoices-wrapper .card,
html[data-theme="dark"] .couriers-wrapper .card,
html[data-theme="dark"] .api-keys-wrapper .card {
    background: #101827 !important;
    border-color: var(--user-page-border) !important;
    color: #e5e7eb;
}

html[data-theme="dark"] .user-shipments-wrapper .card-header,
html[data-theme="dark"] .user-shipments-wrapper .table-head-custom,
html[data-theme="dark"] .imported-orders-wrapper .card-header,
html[data-theme="dark"] .imported-orders-wrapper .table-head-custom,
html[data-theme="dark"] .address-book-wrapper .card-header,
html[data-theme="dark"] .address-book-wrapper .table-head-custom,
html[data-theme="dark"] .user-invoices-wrapper .card-header,
html[data-theme="dark"] .user-invoices-wrapper .table-head-custom,
html[data-theme="dark"] .couriers-wrapper .card-header,
html[data-theme="dark"] .couriers-wrapper .table-head-custom,
html[data-theme="dark"] .api-keys-wrapper .card-header,
html[data-theme="dark"] .api-keys-wrapper .table-head-custom {
    background: #0b1220 !important;
    border-color: var(--user-page-border) !important;
}

html[data-theme="dark"] .user-shipments-wrapper .text-dark-slate,
html[data-theme="dark"] .imported-orders-wrapper .text-dark-slate,
html[data-theme="dark"] .address-book-wrapper .text-dark-slate,
html[data-theme="dark"] .user-invoices-wrapper .text-dark-slate,
html[data-theme="dark"] .couriers-wrapper .text-dark-slate,
html[data-theme="dark"] .api-keys-wrapper .text-dark-slate {
    color: #f8fafc !important;
}

html[data-theme="dark"] .user-shipments-wrapper .text-secondary,
html[data-theme="dark"] .user-shipments-wrapper .text-muted,
html[data-theme="dark"] .imported-orders-wrapper .text-secondary,
html[data-theme="dark"] .imported-orders-wrapper .text-muted,
html[data-theme="dark"] .address-book-wrapper .text-secondary,
html[data-theme="dark"] .address-book-wrapper .text-muted,
html[data-theme="dark"] .user-invoices-wrapper .text-secondary,
html[data-theme="dark"] .user-invoices-wrapper .text-muted,
html[data-theme="dark"] .couriers-wrapper .text-secondary,
html[data-theme="dark"] .couriers-wrapper .text-muted,
html[data-theme="dark"] .api-keys-wrapper .text-secondary,
html[data-theme="dark"] .api-keys-wrapper .text-muted {
    color: var(--user-page-muted) !important;
}

html[data-theme="dark"] .user-shipments-wrapper .form-control-modern,
html[data-theme="dark"] .user-shipments-wrapper .form-select-modern,
html[data-theme="dark"] .imported-orders-wrapper .form-control-modern,
html[data-theme="dark"] .imported-orders-wrapper .form-select-modern,
html[data-theme="dark"] .address-book-wrapper .form-control-modern,
html[data-theme="dark"] .address-book-wrapper .form-select-modern,
html[data-theme="dark"] .user-invoices-wrapper .form-control-modern,
html[data-theme="dark"] .user-invoices-wrapper .form-select-modern,
html[data-theme="dark"] .couriers-wrapper .form-control-modern,
html[data-theme="dark"] .couriers-wrapper .form-select-modern,
html[data-theme="dark"] .api-keys-wrapper .form-control-modern,
html[data-theme="dark"] .api-keys-wrapper .form-select-modern {
    background-color: #0b1220 !important;
    border-color: #334155 !important;
    color: #e5e7eb !important;
}

    /* Varianti Colore */
    .alert-modern-success { border-left-color: #10b981; } /* Emerald */
    .alert-modern-success .icon-box { background-color: rgba(16, 185, 129, 0.1); color: #10b981; }

    .alert-modern-danger { border-left-color: #ef4444; } /* Red */
    .alert-modern-danger .icon-box { background-color: rgba(239, 68, 68, 0.1); color: #ef4444; }

    .alert-modern-warning { border-left-color: #f59e0b; } /* Amber */
    .alert-modern-warning .icon-box { background-color: rgba(245, 158, 11, 0.1); color: #f59e0b; }

    .alert-modern-info { border-left-color: #3b82f6; } /* Electric Blue */
    .alert-modern-info .icon-box { background-color: rgba(59, 130, 246, 0.1); color: #3b82f6; }

    /* Icon Box */
    .alert-modern .icon-box {
        width: 32px; height: 32px;
        border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0;
        font-size: 1.1rem;
    }

    /* Close Button Custom */
    .btn-close-custom {
        background: transparent; border: none;
        color: #94a3b8; font-size: 1.2rem; line-height: 1;
        opacity: 0.6; transition: 0.2s;
    }
    .btn-close-custom:hover { opacity: 1; color: #1e293b; }

/* --- contact_us.blade.php --- */
.contact-page-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }

/* CARDS */
.card { border-radius: 12px; overflow: hidden; }
.card-header { border-radius: 12px 12px 0 0 !important; }

/* FORMS (Floating) */
.form-floating > .form-control {
    border-radius: 8px; border-color: var(--border-color);
}
.form-floating > .form-control:focus {
    border-color: var(--brand-primary-color); box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-primary-color) 10%, transparent);
}

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color); border-color: var(--brand-primary-color); color: white;
    font-weight: 600; border-radius: 8px;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
}

/* ICONS & BADGES */
.icon-square {
    width: 48px; height: 48px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.25rem; flex-shrink: 0;
}
.bg-primary-subtle { background-color: color-mix(in srgb, var(--brand-primary-color) 10%, transparent) !important; }
.bg-info-subtle { background-color: color-mix(in srgb, var(--theme-secondary, #1e3a5a) 14%, transparent) !important; }
.bg-warning-subtle { background-color: #fef3c7 !important; }
.bg-success-subtle { background-color: #dcfce7 !important; color: #166534 !important; }

.btn-icon { width: 40px; height: 40px; padding: 0; display: flex; align-items: center; justify-content: center; border-color: var(--border-color); }
.btn-icon:hover { background-color: var(--light-contrast-bg); color: var(--brand-primary-color) !important; border-color: var(--brand-primary-color); }

.x-small { font-size: 0.75rem; }

/* --- docs/api/index.blade.php --- */
/* ====== TEMA GLOBALE ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}


/* CARDS */
.card { border-radius: 12px; overflow: hidden; }
.endpoint-card { transition: transform 0.2s, box-shadow 0.2s; cursor: pointer; }
.endpoint-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.05) !important; }

/* BADGES (Method Colors) */
.bg-success-subtle { background-color: #dcfce7 !important; color: #166534 !important; }
.bg-primary-subtle { background-color: rgba(59, 130, 246, 0.1) !important; color: var(--brand-primary-color) !important; }
.bg-warning-subtle { background-color: #fef3c7 !important; color: #92400e !important; }
.bg-info-subtle    { background-color: #e0f2fe !important; color: #0369a1 !important; }
.bg-danger-subtle  { background-color: #fee2e2 !important; color: #991b1b !important; }
.bg-secondary-subtle { background-color: #f1f5f9 !important; color: #475569 !important; }

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color); border-color: var(--brand-primary-color); color: white;
    font-weight: 600; border-radius: 8px;
}
.btn-primary-custom:hover { background-color: var(--brand-primary-hover-color); }
.btn-outline-primary-custom { border-radius: 8px; }

/* UTILS */
.z-index-10 { z-index: 10; position: relative; }

/* --- docs/api/show.blade.php --- */
/* ====== TEMA GLOBALE ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

.docs-show-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }

/* CARDS */
.card { border-radius: 12px; overflow: hidden; }
.card-header { border-radius: 12px 12px 0 0 !important; }

/* BADGES METHOD */
.bg-success-subtle { background-color: #dcfce7 !important; color: #166534 !important; }
.bg-primary-subtle { background-color: rgba(59, 130, 246, 0.1) !important; color: var(--brand-primary-color) !important; }
.bg-warning-subtle { background-color: #fef3c7 !important; color: #92400e !important; }
.bg-danger-subtle  { background-color: #fee2e2 !important; color: #991b1b !important; }
.bg-info-subtle    { background-color: #e0f2fe !important; color: #0369a1 !important; }
.bg-secondary-subtle { background-color: #f1f5f9 !important; color: #475569 !important; }

/* SCROLL MARGIN for sticky header offset */
.scroll-margin { scroll-margin-top: 100px; }

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color); border-color: var(--brand-primary-color); color: white;
    font-weight: 600; border-radius: 8px;
}
.btn-outline-primary-custom { border-radius: 8px; }

/* UTILS */
.input-group-modern .form-control { border-right: 0; }
.input-group-modern .btn { border-left: 0; border-color: var(--border-color); }

/* --- errors/403.blade.php --- */
.error-page-wrapper {
        min-height: calc(100vh - 80px);
        background-color: var(--light-contrast-bg);
    }

    /* Variante cerchio rosso per errore 403 */
    .icon-circle-danger {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background-color: rgba(239, 68, 68, 0.1); /* Rosso con opacità */
    }

    .btn-outline-danger, .btn-outline-primary {
        border-radius: 0.5rem;
        font-weight: 600;
    }

/* Pagine 403/404: nascondi chrome solo quando è presente .error-page-wrapper */
body:has(.error-page-wrapper) nav.navbar,
body:has(.error-page-wrapper) .adm-sidebar,
body:has(.error-page-wrapper) .drawer-sb,
body:has(.error-page-wrapper) .drawer-overlay,
body:has(.error-page-wrapper) footer,
body:has(.error-page-wrapper) footer.footer-logistics {
    display: none !important;
}
body:has(.error-page-wrapper) .content-with-navbar {
    padding-top: 0 !important;
}
body:has(.error-page-wrapper) .content-pl-expanded,
body:has(.error-page-wrapper) .content-pl-collapsed {
    padding-left: 0 !important;
}

/* --- errors/404.blade.php --- */
.error-page-wrapper {
        min-height: calc(100vh - 80px); /* Toglie altezza navbar approssimativa */
        background-color: var(--light-contrast-bg);
    }

    .icon-circle {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background-color: color-mix(in srgb, var(--brand-primary-color) 10%, transparent);
    }

    .btn-outline-secondary {
        border-radius: 0.5rem;
        font-weight: 600;
    }

/* --- faq.blade.php --- */
/* LAYOUT UTILS */
.max-w-600 { max-width: 600px; }
.ls-1 { letter-spacing: 0.05em; }
.scroll-margin { scroll-margin-top: 100px; } /* Offset per header fisso se presente */

/* SIDEBAR STICKY */
.sticky-sidebar { position: sticky; top: 2rem; z-index: 10; }

/* NAVIGATION LINKS */
.list-group-item.active {
    background-color: var(--brand-primary-color); border-color: var(--brand-primary-color); color: white;
}
.list-group-item:hover { background-color: color-mix(in srgb, var(--theme-bg, #fcfcfc) 88%, #fff); }
.list-group-item.active:hover { background-color: var(--brand-primary-hover-color); color: white; }

/* ACCORDION */
.accordion-item { border: none; border-bottom: 1px solid var(--border-color); }
.accordion-item:last-child { border-bottom: none; }
.accordion-button:not(.collapsed) {
    color: var(--brand-primary-color); background-color: color-mix(in srgb, var(--brand-primary-color) 8%, transparent); box-shadow: none;
}
.accordion-button:focus { box-shadow: none; border-color: rgba(0,0,0,0.125); }

/* SEARCH INPUT */
.form-control-lg { font-size: 1rem; padding: 1rem 1.5rem; }
.form-control:focus { border-color: var(--brand-primary-color); box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-primary-color) 15%, transparent); }

/* HIGHLIGHT */
mark.faq-hit { background: #fff7d6; color: #0f172a; padding: 0 2px; border-radius: 2px; }

/* ICONS */
.icon-square {
    width: 40px; height: 40px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center; font-size: 1.2rem;
}
.bg-primary-subtle { background-color: color-mix(in srgb, var(--brand-primary-color) 10%, transparent) !important; }

/* BUTTONS */
.btn-circle { width: 30px; height: 30px; padding: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.btn-circle:hover { background-color: color-mix(in srgb, var(--theme-bg, #fcfcfc) 80%, #e5e7eb); }

/* BORDER COLOR */
.border-primary-custom { border-color: var(--brand-primary-color) !important; }

/* --- layouts/footer.blade.php --- */
/* --- FOOTER: colori da Theme Settings (--theme-footer-*) su :root (layouts/app) --- */
    .footer-logistics {
        background-color: var(--theme-footer-bg, color-mix(in srgb, var(--theme-secondary, #1e3a5a) 20%, #091e42));
        color: var(--theme-footer-text, color-mix(in srgb, #ffffff 70%, transparent));
        padding-top: 4rem;
        padding-bottom: 2rem;
        border-top: 1px solid color-mix(in srgb, var(--theme-footer-text, #ffffff) 22%, transparent);
        font-size: 0.9rem;
    }

    .footer-logistics h5,
    .footer-logistics h6 {
        color: var(--theme-footer-heading, #ffffff);
        font-weight: 700;
    }
    .footer-logistics h5 { margin-bottom: 1.2rem; }
    .footer-logistics h6 {
        margin-bottom: 1rem;
        font-size: 0.85rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .footer-link {
        color: var(--theme-footer-text, color-mix(in srgb, #ffffff 70%, transparent));
        text-decoration: none;
        display: block;
        margin-bottom: 0.6rem;
        transition: color 0.2s;
    }
    .footer-link:hover {
        color: var(--theme-footer-heading, #ffffff);
    }

    .footer-bottom {
        margin-top: 3rem;
        padding-top: 1.5rem;
        border-top: 1px solid color-mix(in srgb, var(--theme-footer-text, #ffffff) 18%, transparent);
        font-size: 0.8rem;
    }

    .footer-cap-label {
        color: var(--theme-footer-heading, #ffffff);
    }
    .footer-copyright-brand {
        color: var(--theme-footer-heading, #ffffff);
    }

    /* --- Language Select Custom --- */
    .lang-wrapper {
        position: relative;
        display: inline-flex;
        align-items: center;
        color: var(--theme-footer-text, color-mix(in srgb, #ffffff 70%, transparent));
    }
    .lang-wrapper:hover { color: var(--theme-footer-heading, #fff); }
    .lang-select {
        appearance: none; -webkit-appearance: none;
        background: rgba(255, 255, 255, 0.94);
        border: 1px solid color-mix(in srgb, var(--theme-footer-text, #ffffff) 34%, transparent);
        color: #1f2937;
        padding: 0.3rem 2rem 0.3rem 0.8rem;
        border-radius: 4px;
        cursor: pointer;
        font-size: 0.8rem;
        font-weight: 600;
        transition: all 0.2s;
    }
    .lang-select option {
        background-color: #ffffff;
        color: #1f2937;
    }
    .lang-select:hover {
        border-color: color-mix(in srgb, var(--theme-footer-heading, #fff) 45%, transparent);
    }
    .lang-select:focus { outline: none; border-color: var(--theme-primary, var(--theme-primary, #e61a0a)); }
    .lang-arrow {
        position: absolute; right: 0.6rem; pointer-events: none; font-size: 0.7rem;
    }

    /* Social Icons */
    .social-btn {
        width: 32px; height: 32px; display: inline-grid; place-items: center;
        background: color-mix(in srgb, var(--theme-footer-text, #ffffff) 10%, transparent);
        border-radius: 6px;
        color: var(--theme-footer-heading, #fff);
        transition: 0.2s;
        text-decoration: none;
    }
    .social-btn:hover {
        background: var(--theme-primary, var(--theme-primary, #e61a0a));
        color: var(--theme-footer-heading, #fff);
        transform: translateY(-2px);
    }

/* --- layouts/navbar.blade.php --- */
/* === VARIABLES === */
  :root {
    --nav-glass-bg: color-mix(in srgb, var(--theme-secondary, #1e3a5a) 65%, #0e1a2b);
    --glass-white: rgba(255, 255, 255, 0.15);
    --glass-hover: rgba(255, 255, 255, 0.25);
  }

  /* === NAVBAR STRUCTURE (GLASS EFFECT) === */
  .navbar-azure {
    /* Colore: Theme Settings o formula “glass” legacy (--nav-glass-bg) */
    background: var(--theme-navbar-bg, var(--nav-glass-bg));
    
    /* EFFETTO VETRO: Blur + Saturazione */
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    
    /* Bordi per simulare lo spessore e il riflesso del vetro */
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    
    /* Ombra colorata per profondità */
    box-shadow: 0 8px 32px 0 rgba(0, 40, 150, 0.25);
    
    padding-top: 0.6rem; padding-bottom: 0.6rem;
    height: 64px;
    transition: background 0.3s ease;
    color: var(--theme-navbar-text, rgba(255, 255, 255, 0.92));
  }

  /* Navbar chiara: niente alone blu, hover leggibile */
  html[data-theme="light"] .navbar-azure {
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    border-top: 1px solid transparent;
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
  }
  html[data-theme="light"] .nav-link-glass:hover {
    background: transparent;
    color: var(--theme-navbar-text, #0f172a);
    text-shadow: none;
  }
  html[data-theme="light"] .nav-link-glass.is-active {
    background: transparent;
    color: var(--theme-primary, var(--theme-primary, #e61a0a));
    box-shadow: none;
    text-shadow: none;
  }
  html[data-theme="light"] .brand-text {
    text-shadow: none;
  }

  html[data-theme="light"] .navbar-azure .btn-auth-glass {
    background: var(--theme-primary, var(--theme-primary, #e61a0a));
    color: #fff;
    border: 1px solid transparent;
    box-shadow: 0 2px 10px color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 28%, transparent);
  }
  html[data-theme="light"] .navbar-azure .btn-auth-glass:hover,
  html[data-theme="light"] .navbar-azure .btn-auth-glass:focus {
    background: color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 88%, #000);
    color: #fff;
    border-color: transparent;
  }

  /* === BRAND === */
  .brand-text {
    font-weight: var(--sw-weight-max, 700); font-size: 1.5rem; letter-spacing: -0.03em;
    color: var(--theme-navbar-text, #fff); text-shadow: 0 2px 10px rgba(0,0,0,0.1);
    line-height: 1;
  }

  /* === AVATAR (utente loggato): bordo sempre visibile; primary su hover / focus / menu aperto === */
  .navbar-azure a.btn-user-glass .avatar-circle {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 50%;
    aspect-ratio: 1;
    background: transparent;
    border: 1.5px solid color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 72%, transparent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 8%, transparent);
    color: var(--theme-primary, var(--theme-primary, #e61a0a));
    display: grid;
    place-items: center;
    font-weight: var(--sw-weight-bold, 700);
    font-size: 0.9rem;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }
  .navbar-azure a.btn-user-glass:hover .avatar-circle,
  .navbar-azure a.btn-user-glass:focus .avatar-circle,
  .navbar-azure a.btn-user-glass:focus-visible .avatar-circle,
  .navbar-azure .dropdown.show > a.btn-user-glass .avatar-circle {
    background: var(--theme-primary, var(--theme-primary, #e61a0a));
    border-color: var(--theme-primary, var(--theme-primary, #e61a0a));
    color: #ffffff;
    box-shadow: 0 8px 20px color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 28%, transparent);
    transform: translateY(-1px);
  }

  /* === NAV LINKS (Desktop) === */
  .nav-link-glass {
    color: color-mix(in srgb, var(--theme-navbar-text, #ffffff) 90%, transparent);
    padding: 0.5rem 1rem;
    border-radius: 50rem; text-decoration: none; font-weight: 400; font-size: 0.95rem;
    transition: all 0.2s;
  }
  .nav-link-glass:hover { 
    background: rgba(255,255,255,0.15); 
    color: var(--theme-navbar-text, #fff); 
    text-shadow: 0 0 10px rgba(255,255,255,0.4);
  }
  .nav-link-glass.is-active { 
    background: rgba(255,255,255,0.25); 
    color: var(--theme-navbar-text, #fff); 
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  }

  .navbar-azure .text-white {
    color: var(--theme-navbar-text, #fff) !important;
  }

  /* === NOTIFICATION DOT === */
  .notif-dot {
    position: absolute; top: 10px; right: 10px;
    width: 8px; height: 8px; background: var(--theme-primary, var(--theme-primary, #e61a0a));
    border-radius: 50%; border: 2px solid rgba(255,255,255,0.8);
    box-shadow: 0 0 5px rgba(255, 71, 87, 0.5);
  }

  /* === DROPDOWN (Glass Effect) === */
  .glass-dropdown {
    background: rgba(255, 255, 255, 0.95); /* Quasi solido per leggibilità */
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 1rem;
    box-shadow: 0 20px 50px rgba(0,0,0,0.15); 
    border: 1px solid rgba(255,255,255,0.5);
    animation: slideDown 0.2s ease-out;
  }
  .icon-square { width: 36px; height: 36px; display: grid; place-items: center; flex-shrink: 0; }
  
  @keyframes slideDown { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

  /* Mobile Adjustment */
  @media (max-width: 959.98px) {
    .container-fluid { padding-left: 1rem; padding-right: 1rem; }
  }


/* --- layouts/sidebar.blade.php --- */
:root {
        --sb-w-open: 16rem;
        --sb-w-closed: 5rem;
        --sb-bg: var(--theme-sidebar-bg, color-mix(in srgb, var(--theme-secondary, #1e3a5a) 22%, #0b1320));
        --sb-text: var(--theme-sidebar-text, color-mix(in srgb, #ffffff 62%, transparent));
        --sb-text-hover: color-mix(in srgb, var(--theme-sidebar-text, #cbd5e1) 82%, #ffffff 18%);
        --sb-accent: var(--theme-primary, var(--theme-primary, #e61a0a));
        --sb-hover-bg: rgba(255, 255, 255, 0.05);
        --sb-active-bg: color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 22%, transparent);
        --sb-border: rgba(255,255,255,0.05);
        --navbar-height: 64px;
    }

    .adm-sidebar {
        position: fixed; top: 64px; left: 0; bottom: 0;
        background: var(--sb-bg); color: var(--sb-text);
        border-right: 1px solid var(--sb-border);
        /* Separazione dal contenuto: ombra sul bordo destro */
        box-shadow: 6px 0 20px -6px rgba(0, 0, 0, 0.12), 2px 0 8px -4px rgba(0, 0, 0, 0.06);
        z-index: 1020;
        display: flex; flex-direction: column;
        transition: width 0.2s ease-in-out;
        overflow: visible; 
    }

    .sb-scroller {
        flex-grow: 1;
        overflow-y: auto;
        overflow-x: hidden;
        padding-top: 0.5rem;
        padding-bottom: 2rem;
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
    }
    .sb-scroller::-webkit-scrollbar { width: 4px; }
    .sb-scroller::-webkit-scrollbar-track { background: transparent; }
    .sb-scroller::-webkit-scrollbar-thumb { background-color: rgba(255, 255, 255, 0.1); border-radius: 4px; }
    .sb-scroller::-webkit-scrollbar-thumb:hover { background-color: rgba(255, 255, 255, 0.2); }

    .sb-link {
        display: flex; align-items: center;
        padding: 0.75rem 1rem; margin: 0.25rem 0.5rem;
        border-radius: 0.375rem; cursor: pointer;
        white-space: nowrap; position: relative;
        color: var(--sb-text); text-decoration: none;
        transition: all 0.15s;
        border-left: 3px solid transparent;
    }
    .sb-link:hover { background: var(--sb-hover-bg); color: var(--sb-text-hover); }
    .sb-link.active { background: var(--sb-active-bg); color: #fff; border-left-color: var(--sb-accent); }
    .sb-link.active i.main-icon { color: var(--sb-accent); }

    .sb-link i.main-icon { font-size: 1.2rem; min-width: 1.5rem; text-align: center; transition: color 0.2s; }

    .sb-divider { height: 1px; background: var(--sb-border); margin: 0.5rem 1rem; }
    .adm-sidebar.collapsed .sb-divider { display: none !important; }

    .adm-sidebar.collapsed .sb-text, 
    .adm-sidebar.collapsed .sb-arrow { display: none; }
    .adm-sidebar.collapsed .sb-link { justify-content: center; padding-left: 0; padding-right: 0; }

    .sb-text { margin-left: 1rem; flex-grow: 1; font-weight: 500; font-size: 0.94rem; }
    .sb-arrow { font-size: 0.75rem; transition: transform 0.2s; }
    
    .sb-accordion { background: rgba(0,0,0,0.2); overflow: hidden; border-radius: 0.375rem; margin: 0 0.5rem; }
    .sb-sub-link { display: block; padding: 0.5rem 1rem 0.5rem 3.5rem; color: color-mix(in srgb, var(--theme-sidebar-text, #cbd5e1) 72%, transparent); font-size: 0.9rem; text-decoration: none; }
    .sb-sub-link:hover { color: #fff; background: rgba(255,255,255,0.02); }
    .sb-sub-link.active { color: #fff; font-weight: 600; }

    .sb-flyout {
        position: fixed; left: var(--sb-w-closed); 
        width: 14rem;
        background: color-mix(in srgb, var(--theme-sidebar-bg, #0f172a) 88%, #000000 12%);
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 0.5rem;
        box-shadow: 5px 5px 20px rgba(0,0,0,0.5);
        z-index: 9999; padding: 0.5rem 0;
        display: flex; flex-direction: column;
        pointer-events: auto;
    }
    .sb-flyout-header {
        padding: 0.5rem 1rem; font-size: 0.75rem; font-weight: bold; 
        text-transform: uppercase; color: rgba(255,255,255,0.5);
        border-bottom: 1px solid rgba(255,255,255,0.05); margin-bottom: 0.25rem;
    }
    .sb-flyout a { padding: 0.5rem 1rem; color: color-mix(in srgb, #ffffff 78%, transparent); text-decoration: none; font-size: 0.9rem; }
    .sb-flyout a:hover { background: rgba(255,255,255,0.05); color: #fff; }

    .btn-toggle-full {
        width: 100%; height: 100%;
        border-radius: 0;
        display: flex; align-items: center; justify-content: center;
        background: transparent; border: none; color: var(--sb-text);
        transition: background 0.2s;
    }
    .btn-toggle-full:hover { background: rgba(255,255,255,0.1); }

    /* Header pannello: colori da Theme Settings (--theme-sidebar-bg / --sb-text sul contenitore) */
    .sb-panel-header {
        border-bottom: 1px solid var(--sb-border);
        background: color-mix(in srgb, var(--sb-bg) 93%, var(--theme-primary, var(--theme-primary, #e61a0a)) 7%);
        color: var(--sb-text);
    }
    /* Light mode: sfondo header pannello da Theme Settings (--theme-sidebar-panel-header-bg in layouts/app) */
    html[data-theme="light"] .adm-sidebar .sb-panel-header,
    html[data-theme="light"] .drawer-sb .sb-panel-header {
        background: var(--theme-sidebar-panel-header-bg, color-mix(in srgb, var(--sb-bg) 93%, var(--theme-primary, var(--theme-primary, #e61a0a)) 7%));
    }
    /* Light mode: titolo “Menu” e caret / pulsante toggle da Theme Settings */
    html[data-theme="light"] .adm-sidebar .sb-panel-header .sb-panel-title,
    html[data-theme="light"] .drawer-sb .sb-panel-header .sb-panel-title {
        color: var(--theme-sidebar-panel-header-title, var(--sb-text));
    }
    html[data-theme="light"] .adm-sidebar .sb-panel-header .sb-panel-btn,
    html[data-theme="light"] .drawer-sb .sb-panel-header .sb-panel-btn {
        color: var(--theme-sidebar-panel-header-icon, var(--sb-text)) !important;
    }
    html[data-theme="light"] .adm-sidebar .sb-panel-header .sb-panel-btn:hover,
    html[data-theme="light"] .drawer-sb .sb-panel-header .sb-panel-btn:hover {
        color: color-mix(in srgb, var(--theme-sidebar-panel-header-icon, var(--sb-text)) 82%, #0f172a) !important;
    }
    .sb-panel-title {
        color: var(--sb-text);
    }
    .sb-panel-btn {
        color: var(--sb-text) !important;
        opacity: 0.82;
        border: none;
        background: transparent;
    }
    .sb-panel-btn:hover {
        opacity: 1;
        color: var(--sb-text-hover) !important;
    }
    .sb-section-cap {
        color: color-mix(in srgb, var(--sb-text) 58%, transparent);
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.04em;
    }

    /* Sidebar su shell chiara: hover/bordi scuri, voce attiva leggibile */
    html[data-theme="light"] .adm-sidebar,
    html[data-theme="light"] .drawer-sb {
        --sb-hover-bg: rgba(15, 23, 42, 0.055);
        --sb-border: rgba(15, 23, 42, 0.09);
        --sb-active-bg: color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 14%, #ffffff);
        --sb-text-hover: #0f172a;
        box-shadow: 6px 0 20px -6px rgba(15, 23, 42, 0.06), 2px 0 8px -4px rgba(15, 23, 42, 0.04);
    }
    html[data-theme="light"] .sb-link.active {
        color: #0f172a;
    }
    html[data-theme="light"] .sb-link.active i.main-icon {
        color: var(--sb-accent);
    }
    html[data-theme="light"] .sb-sub-link {
        color: color-mix(in srgb, var(--theme-sidebar-text, #334155) 78%, transparent);
    }
    html[data-theme="light"] .sb-sub-link:hover {
        color: #0f172a;
        background: rgba(15, 23, 42, 0.04);
    }
    html[data-theme="light"] .sb-sub-link.active {
        color: var(--sb-accent);
    }
    html[data-theme="light"] .sb-accordion {
        background: rgba(15, 23, 42, 0.045);
    }
    html[data-theme="light"] .sb-scroller {
        scrollbar-color: rgba(15, 23, 42, 0.22) transparent;
    }
    html[data-theme="light"] .sb-scroller::-webkit-scrollbar-thumb {
        background-color: rgba(15, 23, 42, 0.18);
    }
    html[data-theme="light"] .sb-scroller::-webkit-scrollbar-thumb:hover {
        background-color: rgba(15, 23, 42, 0.28);
    }
    html[data-theme="light"] .sb-flyout {
        background: #ffffff;
        border: 1px solid rgba(15, 23, 42, 0.1);
        box-shadow: 8px 12px 40px rgba(15, 23, 42, 0.12);
    }
    html[data-theme="light"] .sb-flyout-header {
        color: #64748b;
        border-bottom-color: rgba(15, 23, 42, 0.08);
    }
    html[data-theme="light"] .sb-flyout a {
        color: #334155;
    }
    html[data-theme="light"] .sb-flyout a:hover {
        background: rgba(15, 23, 42, 0.04);
        color: #0f172a;
    }
    html[data-theme="light"] .btn-toggle-full:hover {
        background: rgba(15, 23, 42, 0.06);
    }

    .drawer-sb {
        position: fixed; top: var(--navbar-height); left: 0; 
        height: calc(100dvh - var(--navbar-height));
        width: 100%; max-width: 18rem; z-index: 1024; 
        display: flex; flex-direction: column;
        background: var(--sb-bg); color: var(--sb-text);
        box-shadow: 8px 0 32px rgba(0, 0, 0, 0.18), 2px 0 12px rgba(0, 0, 0, 0.08);
        overflow-y: auto;
    }
    .drawer-overlay {
        position: fixed; top: var(--navbar-height); left: 0;
        width: 100%; height: calc(100dvh - var(--navbar-height));
        background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(3px); z-index: 1024;
    }

    [x-cloak] { display: none !important; }
	
	/* ===== SOLO DISPOSITIVI MOBILI ===== */
    @media (max-width: 959.98px) {
        .drawer-sb {
            max-width: 100%;
        }

        .sb-link {
            margin: 0.25rem -0.5rem;
        }
    }

/* --- pages/cookie.blade.php --- */
.page-wrapper {
    background-color: var(--light-contrast-bg);
    min-height: 100vh;
}

/* CARD */
.page-card {
    border-radius: 16px;
    background-color: white;
}

/* BUTTONS */
.btn-outline-primary-custom { border-radius: 8px; font-weight: 500; }
.btn-outline-secondary {
    border-radius: 8px;
    border-color: var(--spedire-border, #e0e3e4);
    color: color-mix(in srgb, var(--text-color, #202223) 65%, #ffffff);
}
.btn-outline-secondary:hover {
    background-color: color-mix(in srgb, var(--theme-bg, #fcfcfc) 82%, #e9eef4);
    border-color: color-mix(in srgb, var(--theme-secondary, #1e3a5a) 35%, #94a3b8);
    color: var(--dark-slate-color);
}

/* CONTENT TYPOGRAPHY (Stili per il contenuto HTML) */
.page-content-body {
    color: var(--spedire-text, #525252);
    line-height: 1.7;
    font-size: 1rem;
}

.page-content-body h1, 
.page-content-body h2, 
.page-content-body h3, 
.page-content-body h4 {
    color: var(--dark-slate-color);
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: 1rem;
}
.page-content-body h1:first-child,
.page-content-body h2:first-child {
    margin-top: 0;
}

.page-content-body p {
    margin-bottom: 1.2rem;
}

.page-content-body ul, 
.page-content-body ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

.page-content-body li {
    margin-bottom: 0.5rem;
}

.page-content-body a {
    color: var(--brand-primary-color);
    text-decoration: none;
    font-weight: 500;
}
.page-content-body a:hover {
    text-decoration: underline;
}

.page-content-body blockquote {
    border-left: 4px solid var(--brand-primary-color);
    padding-left: 1rem;
    margin: 1.5rem 0;
    color: color-mix(in srgb, var(--text-color, #202223) 65%, #ffffff);
    font-style: italic;
    background: color-mix(in srgb, var(--theme-bg, #fcfcfc) 88%, #f1f5f9);
    padding: 1rem;
    border-radius: 0 8px 8px 0;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .page-card { border-radius: 12px; }
    .card-body { padding: 1.5rem !important; }
    .page-content-body { font-size: 0.95rem; }
}

/* --- pages/privacy.blade.php --- */
.page-wrapper {
    background-color: var(--light-contrast-bg);
    min-height: 100vh;
}

/* CARD */
.page-card {
    border-radius: 16px; /* Arrotondamento moderno */
    background-color: white;
}

/* BUTTONS */
.btn-outline-primary-custom { border-radius: 8px; font-weight: 500; }
.btn-outline-secondary {
    border-radius: 8px;
    border-color: var(--spedire-border, #e0e3e4);
    color: color-mix(in srgb, var(--text-color, #202223) 65%, #ffffff);
}
.btn-outline-secondary:hover {
    background-color: color-mix(in srgb, var(--theme-bg, #fcfcfc) 82%, #e9eef4);
    border-color: color-mix(in srgb, var(--theme-secondary, #1e3a5a) 35%, #94a3b8);
    color: var(--dark-slate-color);
}

/* CONTENT TYPOGRAPHY (Per il contenuto HTML iniettato) */
.page-content-body {
    color: var(--spedire-text, #525252);
    line-height: 1.7;
    font-size: 1rem;
}

/* Stili per tag comuni dentro il content body */
.page-content-body h1, 
.page-content-body h2, 
.page-content-body h3, 
.page-content-body h4 {
    color: var(--dark-slate-color);
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.page-content-body h1:first-child,
.page-content-body h2:first-child {
    margin-top: 0;
}

.page-content-body p {
    margin-bottom: 1.2rem;
}

.page-content-body ul, 
.page-content-body ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}

.page-content-body li {
    margin-bottom: 0.5rem;
}

.page-content-body a {
    color: var(--brand-primary-color);
    text-decoration: none;
    font-weight: 500;
}
.page-content-body a:hover {
    text-decoration: underline;
}

.page-content-body blockquote {
    border-left: 4px solid var(--brand-primary-color);
    padding-left: 1rem;
    margin-left: 0;
    color: color-mix(in srgb, var(--text-color, #202223) 65%, #ffffff);
    font-style: italic;
    background: color-mix(in srgb, var(--theme-bg, #fcfcfc) 88%, #f1f5f9);
    padding: 1rem;
    border-radius: 0 8px 8px 0;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .page-card { border-radius: 12px; }
    .card-body { padding: 1.5rem !important; }
    .page-content-body { font-size: 0.95rem; }
}

/* --- pages/terms.blade.php --- */
.page-wrapper {
    background-color: var(--light-contrast-bg);
    min-height: 100vh;
}

/* CARD */
.page-card {
    border-radius: 16px;
    background-color: white;
}

/* BUTTONS */
.btn-outline-primary-custom { border-radius: 8px; font-weight: 500; }
.btn-outline-secondary {
    border-radius: 8px;
    border-color: var(--spedire-border, #e0e3e4);
    color: color-mix(in srgb, var(--text-color, #202223) 65%, #ffffff);
}
.btn-outline-secondary:hover {
    background-color: color-mix(in srgb, var(--theme-bg, #fcfcfc) 82%, #e9eef4);
    border-color: color-mix(in srgb, var(--theme-secondary, #1e3a5a) 35%, #94a3b8);
    color: var(--dark-slate-color);
}

/* CONTENT TYPOGRAPHY (Stili per il contenuto HTML iniettato) */
.page-content-body {
    color: var(--spedire-text, #525252);
    line-height: 1.7;
    font-size: 1rem;
}

/* Headings */
.page-content-body h1, 
.page-content-body h2, 
.page-content-body h3, 
.page-content-body h4 {
    color: var(--dark-slate-color);
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: 1rem;
}
.page-content-body h1:first-child,
.page-content-body h2:first-child {
    margin-top: 0;
}

/* Paragraphs & Lists */
.page-content-body p {
    margin-bottom: 1.2rem;
}
.page-content-body ul, 
.page-content-body ol {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}
.page-content-body li {
    margin-bottom: 0.5rem;
}

/* Links */
.page-content-body a {
    color: var(--brand-primary-color);
    text-decoration: none;
    font-weight: 500;
}
.page-content-body a:hover {
    text-decoration: underline;
}

/* Blockquotes / Highlights */
.page-content-body blockquote {
    border-left: 4px solid var(--brand-primary-color);
    padding-left: 1rem;
    margin-left: 0;
    color: color-mix(in srgb, var(--text-color, #202223) 65%, #ffffff);
    font-style: italic;
    background: color-mix(in srgb, var(--theme-bg, #fcfcfc) 88%, #f1f5f9);
    padding: 1rem;
    border-radius: 0 8px 8px 0;
}
.page-content-body hr {
    margin: 2rem 0;
    border-top-color: var(--border-color);
    opacity: 1;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .page-card { border-radius: 12px; }
    .card-body { padding: 1.5rem !important; }
    .page-content-body { font-size: 0.95rem; }
}

/* --- pricing.blade.php --- */
.hero-section {
    background-color: var(--dark-slate-color);
    padding-top: 6rem;
    padding-bottom: 8rem;
    background-image: radial-gradient(circle at top right, color-mix(in srgb, var(--theme-secondary, #1e3a5a) 35%, #334155) 0%, var(--dark-slate-color) 40%);
}
.pricing-container {
    margin-top: -5rem;
    position: relative;
    z-index: 10;
}

.pricing-card {
    background: #fff;
    border: 1px solid var(--border-color) !important;
    border-radius: 24px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.pricing-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.08) !important;
    border-color: var(--brand-primary-color) !important;
}
.pricing-card.featured-plan {
    border: 2px solid var(--brand-primary-color) !important;
    background: linear-gradient(to bottom, color-mix(in srgb, var(--theme-bg, #fcfcfc) 82%, #ffffff) 0%, #ffffff 100%);
    box-shadow: 0 25px 50px -12px color-mix(in srgb, var(--brand-primary-color) 15%, transparent) !important;
    z-index: 2;
}

.billing-btn.active {
    background-color: var(--brand-primary-color);
    color: #fff;
}
.billing-btn:not(.active):hover {
    background-color: color-mix(in srgb, var(--theme-bg, #fcfcfc) 82%, #e9eef4);
}

.accordion-button:not(.collapsed) {
    color: var(--brand-primary-color);
    background-color: color-mix(in srgb, var(--brand-primary-color) 5%, transparent);
    box-shadow: none;
}
.accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0,0,0,0.125);
}

.ls-1 { letter-spacing: 1px; }
.bg-success-subtle { background-color: #dcfce7 !important; color: #166534 !important; }

/* Icone feature incluse/escluse (piani pricing — senza sfondo, box fisso) */
.pricing-card .feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.375rem;
    height: 1.375rem;
    min-width: 1.375rem;
    min-height: 1.375rem;
    flex-shrink: 0;
    font-size: 1.125rem;
    line-height: 1;
    background: transparent !important;
    border-radius: 0;
    box-shadow: none !important;
}
.feature-icon {
    font-size: 1.1rem;
}
.feature-icon.feature-yes {
    opacity: 1;
}
.feature-icon.feature-no {
    opacity: 1; /* X grigia piena, non trasparente */
}

/* --- shipping/confirm.blade.php --- */
/* CARDS */
.card { border-radius: 16px; }
.card-footer { border-radius: 0 0 16px 16px !important; }

/* ANIMAZIONE CHECK */
.check-circle { animation: popIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
@keyframes popIn {
    0% { transform: scale(0); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.btn-outline-primary-custom { border-radius: 10px; font-weight: 600; }

/* MODAL */
.modal-content { border-radius: 12px; }
.bg-danger-subtle { background-color: #fee2e2 !important; }
.bg-success-subtle { background-color: #dcfce7 !important; }

/* --- tracking/index.blade.php --- */
:root {
    --brand-color: var(--theme-primary, var(--theme-primary, #e61a0a));
    --brand-hover: color-mix(in srgb, var(--theme-primary, var(--theme-primary, #e61a0a)) 86%, #000);
    --capsule-h: 64px;
  }

  /* Shell: background da .pages-wrapper (dark/light); qui solo decorazione */
  .trk-index-wrapper {
    position: relative;
    width: 100%;
    background: transparent;
    overflow: visible;
    padding-top: env(safe-area-inset-top);
  }

  .trk-index-inner {
    min-height: min(72vh, 40rem);
    padding-bottom: 2rem;
  }
  
  .ambient-bg {
    position: absolute; top: -12%; left: 0; right: 0; height: 70vh;
    background: radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--theme-secondary, #1e3a5a) 16%, #ffffff) 0%, transparent 72%);
    z-index: 0; pointer-events: none;
  }

  html[data-theme="dark"] .ambient-bg {
    background: radial-gradient(
      circle at 50% 0%,
      color-mix(in srgb, var(--theme-secondary, #1e3a5a) 42%, transparent) 0%,
      transparent 70%
    );
  }

  /* Icona */
  .icon-circle {
    width: 72px; height: 72px;
    background: color-mix(in srgb, var(--brand-color) 10%, transparent);
    border-radius: 50%;
    display: grid; place-items: center;
    font-size: 2rem;
  }

  .ls-tight { letter-spacing: -0.02em; }

  /* --- CAPSULE INPUT --- */
  .search-capsule {
    position: relative;
    display: flex; align-items: center; justify-content: space-between;
    background: #fff;
    height: var(--capsule-h);
    border-radius: 16px;
    padding: 6px 6px 6px 20px; 
    border: 1px solid var(--spedire-border, #e0e3e4);
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.08) !important;
    transition: all 0.3s ease;
  }

  /* Focus */
  .search-capsule:focus-within {
    border-color: var(--brand-color);
    box-shadow: 0 15px 45px -10px color-mix(in srgb, var(--brand-color) 15%, transparent) !important;
    transform: translateY(-2px);
  }
  
  .search-capsule.is-error { border-color: var(--sw-danger, #dc3545); }

  /* Input field */
  .capsule-input {
    flex-grow: 1; height: 100%; border: none; background: transparent;
    font-size: 1.1rem; 
    font-weight: 400;
    color: var(--text-color, #202223);
    outline: none !important;
    width: 0; 
  }
  .capsule-input::placeholder { color: color-mix(in srgb, var(--text-color, #202223) 45%, #ffffff); font-weight: 400; }

  /* Pulsante "Track" */
  .btn-capsule-action {
    height: 100%;
    padding: 0 24px;
    border-radius: 12px;
    border: none;
    background: var(--brand-color);
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background 0.2s;
  }
  .btn-capsule-action:hover { background: var(--brand-hover); }
  .btn-capsule-action:active { transform: scale(0.98); }

  .hover-primary:hover { color: var(--brand-color) !important; }

  /* Dark: capsule + testi (Bootstrap text-dark/text-secondary restano troppo scuri) */
  html[data-theme="dark"] .trk-index-wrapper .text-dark {
    color: var(--spedire-text, #e5e7eb) !important;
  }
  html[data-theme="dark"] .trk-index-wrapper .text-secondary {
    color: color-mix(in srgb, var(--spedire-text, #e5e7eb) 70%, transparent) !important;
  }
  html[data-theme="dark"] .trk-index-wrapper .icon-circle {
    background: color-mix(in srgb, var(--brand-color) 22%, transparent);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--spedire-border, #334155) 80%, transparent);
  }
  html[data-theme="dark"] .trk-index-wrapper .search-capsule {
    background: color-mix(in srgb, var(--spedire-bg, #0f172a) 82%, #ffffff 18%);
    border-color: var(--spedire-border, #334155);
    box-shadow: 0 12px 36px -12px rgba(0, 0, 0, 0.55) !important;
  }
  html[data-theme="dark"] .trk-index-wrapper .search-capsule:focus-within {
    border-color: var(--brand-color);
    box-shadow: 0 16px 42px -12px color-mix(in srgb, var(--brand-color) 38%, transparent) !important;
  }
  html[data-theme="dark"] .trk-index-wrapper .capsule-input {
    color: var(--spedire-text, #e5e7eb);
    caret-color: var(--spedire-text, #e5e7eb);
  }
  html[data-theme="dark"] .trk-index-wrapper .capsule-input::placeholder {
    color: color-mix(in srgb, var(--spedire-text, #e5e7eb) 48%, transparent);
  }

  /* Animazioni */
  .fade-in-up { animation: fadeInUp 0.5s ease-out forwards; opacity: 0; transform: translateY(15px); }
  .delay-100 { animation-delay: 0.1s; }
  .delay-200 { animation-delay: 0.2s; }
  @keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } }
  
  .animate-shake { animation: shake 0.4s linear; }
  @keyframes shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 75%{transform:translateX(5px)} }

/* --- tracking/result.blade.php --- */
:root {
    --trk-dark: color-mix(in srgb, var(--theme-secondary, #1e3a5a) 25%, #0f172a);
    --trk-green: #10b981;
    --trk-blue: var(--theme-primary, var(--theme-primary, #e61a0a));
    --trk-bg: var(--theme-bg, #fcfcfc);
  }

  .trk-result-wrapper {
    position: relative;
    min-height: auto;
    background: transparent;
    padding-top: 0;
  }

  .trk-sticky-glass {
    position: sticky;
    top: 64px;
    z-index: 90;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--spedire-border, #e0e3e4);
    padding: 0.5rem 0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
  }

  html[data-theme="dark"] .trk-sticky-glass {
    background: color-mix(in srgb, var(--spedire-bg, #111827) 94%, transparent);
    border-bottom-color: rgba(255,255,255,0.08);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2);
  }

  /* Tracking result: on phones the search input must scroll with the page. */
  @media (max-width: 767.98px) {
    .trk-result-wrapper .trk-sticky-glass {
      position: static !important;
      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;
      z-index: auto !important;
    }
  }
  
  .courier-logo {
    max-width: 46px;
    max-height: 46px;
    object-fit: contain;
    display: block;
    border-radius: 10px; /* stesso raggio icona accanto */
  }
  
  .icon-sq {
    overflow: hidden;
  }

  /* Input Moderni */
  .search-capsule-sq {
    display: flex; align-items: center;
    background: color-mix(in srgb, var(--theme-bg, #fcfcfc) 82%, #e9eef4); border: 1px solid transparent;
    border-radius: 8px; height: 48px;
    transition: all 0.2s ease;
  }
  .search-capsule-sq:focus-within {
    background: #fff; border-color: var(--trk-dark); 
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--trk-dark) 10%, transparent);
  }
  .capsule-input-sq {
    border: none; width: 100%; height: 100%; background: transparent;
    padding: 0 1rem; font-size: 1rem; outline: none; color: var(--text-color, #202223);
  }
  .btn-square-icon {
    width: 48px; height: 48px; display: grid; place-items: center;
    background: #fff; border: 1px solid var(--spedire-border, #e0e3e4); border-radius: 8px;
    color: color-mix(in srgb, var(--text-color, #202223) 65%, #ffffff); transition: all 0.2s;
  }
  
  /* Card Header */
  .card-header-bg {
    background: var(--trk-bg);
    color: white;
  }
  .text-emerald { color: var(--trk-green) !important; }
  .bg-emerald-subtle { background: #ecfdf5; color: var(--trk-green); }
  .bg-dark-subtle { background: #f1f5f9; color: #334155; }
  .bg-blue-subtle { background: color-mix(in srgb, var(--trk-blue) 10%, transparent); color: var(--trk-blue); }
  .text-blue { color: var(--trk-blue); }

  /* Status Pill */
  .status-badge-modern {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    padding: 0.75rem 1.25rem; border-radius: 8px;
    display: flex; align-items: center; gap: 1rem;
    transition: background 0.3s ease;
  }
  .status-dot {
    flex-shrink: 0; width: 10px; height: 10px; 
    background: #fff; border-radius: 50%;
    box-shadow: 0 0 0 2px rgba(255,255,255,0.3);
  }
  .pulsate { animation: pulse 2s infinite; }
  @keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
    100% { box-shadow: 0 0 0 8px rgba(255, 255, 255, 0); }
  }

  /* Info Grid */
  .info-box-sq {
    display: flex; align-items: center; gap: 1rem;
    padding: 1.5rem;
  }
  .icon-sq {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: 10px;
    display: grid; place-items: center; font-size: 1.3rem;
  }

  /* Tabs - Wrapping Logic */
  .nav-pills-modern .nav-link {
    color: color-mix(in srgb, var(--text-color, #202223) 65%, #ffffff); background: transparent; 
    border: 1px solid var(--spedire-border, #e0e3e4); border-radius: 50px; 
    padding: 0.5rem 1rem;
    white-space: nowrap; /* Non spezzare il codice a metà */
  }
  .nav-pills-modern .nav-link.active {
    background: var(--trk-dark); color: #fff; border-color: var(--trk-dark);
  }

  /* Timeline Modern */
  .timeline-modern { position: relative; padding-left: 1.5rem; border-left: 2px solid var(--spedire-border, #e0e3e4); }
  .tl-item { position: relative; padding-bottom: 2rem; padding-left: 1.5rem; }
  .tl-item:last-child { padding-bottom: 0; }
  .tl-marker {
    position: absolute; left: -9px; top: 2px;
    width: 16px; height: 16px; border-radius: 50%;
    background: #fff; border: 3px solid color-mix(in srgb, var(--text-color, #202223) 25%, #ffffff);
    z-index: 1; transition: all 0.3s;
  }
  .tl-item.active .tl-marker {
    border-color: var(--trk-green); background: var(--trk-green); box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
  }
  
  /* Mobile Specific */
  @media (min-width: 768px) {
    .border-md-end { border-right: 1px solid #e2e8f0 !important; }
    .border-md-bottom-0 { border-bottom: 0 !important; }
  }
  @media (max-width: 576px) {
    .display-6 { font-size: 1.75rem; }
    .status-badge-modern { padding: 0.6rem 1rem; }
    .info-box-sq { padding: 1.2rem; }
  }

/* --- user/address_book/create.blade.php --- */
/* ====== TEMA GLOBALE ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
    --input-bg: #fff;
}

.address-book-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }

/* CARDS */
.card { border-radius: 12px; }
.card-header { border-radius: 12px 12px 0 0 !important; }
.card-footer { border-radius: 0 0 12px 12px !important; }

/* BADGES BG (usati nella sidebar) */
.bg-primary-subtle { background-color: rgba(59, 130, 246, 0.1) !important; }

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.6rem 1.2rem;
    line-height: 1.5;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
}

.btn-outline-secondary {
    border-radius: 8px;
    padding: 0.6rem 1.2rem;
    font-weight: 600;
    line-height: 1.5;
    border-color: #cbd5e1;
    color: #64748b;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9;
    color: var(--dark-slate-color);
    border-color: #94a3b8;
}

/* --- user/address_book/edit.blade.php --- */
/* ====== TEMA GLOBALE ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
    --input-bg: #fff;
}

.address-book-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }

/* CARDS */
.card { border-radius: 12px; }
.card-header { border-radius: 12px 12px 0 0 !important; }
.card-footer { border-radius: 0 0 12px 12px !important; }

/* BADGES BG (usati nella sidebar) */
.bg-primary-subtle { background-color: rgba(59, 130, 246, 0.1) !important; }

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.6rem 1.2rem;
    line-height: 1.5;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
}

.btn-outline-secondary {
    border-radius: 8px;
    padding: 0.6rem 1.2rem;
    font-weight: 600;
    line-height: 1.5;
    border-color: #cbd5e1;
    color: #64748b;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9;
    color: var(--dark-slate-color);
    border-color: #94a3b8;
}

/* --- user/address_book/index.blade.php --- */
/* ====== TEMA GLOBALE ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

.address-book-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }

@media (min-width: 960px) {
}
.form-control-modern,
.form-select-modern {
    border-radius: 0.6rem;
    border: 1px solid var(--border-color);
    min-height: 42px;
    font-size: 0.95rem;
}
.form-control-modern:focus,
.form-select-modern:focus {
    border-color: var(--brand-primary-color);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
@media (min-width: 960px) {
}

/* TABLE */
.table-head-custom { background-color: #f4f7f9; }
.table-head-custom th {
    color: var(--dark-slate-color); font-weight: 600; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border-color); padding: 1rem;
}
.table-hover-custom tbody tr:hover { background-color: #f9fafb; }
.table-hover-custom td { border-color: var(--border-color); padding-top: 1rem; padding-bottom: 1rem; }

/* BUTTONS & INPUTS */
.btn-primary-custom {
    background-color: var(--brand-primary-color); border-color: var(--brand-primary-color); color: white;
    font-weight: 600; border-radius: 8px; padding: 0.6rem 1.2rem;
}
.btn-primary-custom:hover { background-color: var(--brand-primary-hover-color); border-color: var(--brand-primary-hover-color); }

.btn-dark-slate { background-color: var(--dark-slate-color); color: white; border: none; }
.btn-dark-slate:hover { background-color: #0f172a; color: white; } /* Darker slate */

.input-group-modern .input-group-text { border: 1px solid var(--border-color); border-right: none; border-radius: 8px 0 0 8px; }
.input-group-modern .form-control { border: 1px solid var(--border-color); border-left: none; border-radius: 0 8px 8px 0; height: 42px; }
.input-group-modern .form-control:focus { box-shadow: none; border-color: var(--brand-primary-color); }

/* BADGES */
.bg-primary-subtle { background-color: rgba(59, 130, 246, 0.1) !important; color: var(--brand-primary-color) !important; }
.bg-info-subtle { background-color: #e0f2fe !important; color: #0284c7 !important; }
.bg-warning-subtle { background-color: #fef3c7 !important; color: #d97706 !important; }

/* DROPDOWN */
.btn-icon-only-dropdown { padding: 0.25rem 0.5rem; line-height: 1; }
.dropdown-menu-compact { min-width: 10rem; border-radius: 8px; }

/* UTILS */
.x-small { font-size: 0.7rem; }

/* --- user/api/create.blade.php --- */
/* ====== TEMA GLOBALE ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

.api-create-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }
.bg-light-contrast { background-color: #f8f9fa !important; }

/* CARDS */
.card { border-radius: 12px; }
.card-header { border-radius: 12px 12px 0 0 !important; }
.card-footer { border-radius: 0 0 12px 12px !important; }

/* FORMS */
.form-floating > .form-control, .form-floating > .form-select {
    border-radius: 8px; border-color: var(--border-color);
}
.form-floating > .form-control:focus, .form-floating > .form-select:focus {
    border-color: var(--brand-primary-color); box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}

/* INPUT GROUP MODERN (for whitelist partials if used) */
.input-group-modern .form-control { border-right: 0; border-radius: 8px 0 0 8px; }
.input-group-modern .btn { border-left: 0; border-color: var(--border-color); border-radius: 0 8px 8px 0; }

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color); border-color: var(--brand-primary-color); color: white;
    font-weight: 600; border-radius: 8px; padding: 0.6rem 1.2rem;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color); border-color: var(--brand-primary-hover-color);
}
.btn-outline-primary-custom { border-radius: 8px; }

.btn-outline-secondary {
    border-radius: 8px; padding: 0.6rem 1.2rem; font-weight: 600; border-color: #cbd5e1; color: #64748b;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9; color: var(--dark-slate-color); border-color: #94a3b8;
}

/* BADGES BG */
.bg-primary-subtle { background-color: rgba(59, 130, 246, 0.1) !important; }

/* UTILS */
.x-small { font-size: 0.7rem; }

/* --- user/api/edit.blade.php --- */
/* ====== TEMA GLOBALE ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
    --input-bg: #fff;
}

.api-edit-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }
.bg-light-contrast { background-color: #f8f9fa !important; }

/* CARDS */
.card { border-radius: 12px; }
.card-header { border-radius: 12px 12px 0 0 !important; }
.card-footer { border-radius: 0 0 12px 12px !important; }

/* FORMS */
.form-floating > .form-control, .form-floating > .form-select {
    border-radius: 8px; border-color: var(--border-color); height: calc(3.5rem + 2px);
}
.form-floating > .form-control:focus, .form-floating > .form-select:focus {
    border-color: var(--brand-primary-color); box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}

/* INPUT GROUP MODERN (Copy buttons) */
.input-group-modern .form-control { border-right: 0; border-radius: 8px 0 0 8px; }
.input-group-modern .btn { border-left: 0; border-color: var(--border-color); border-radius: 0 8px 8px 0; }

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color); border-color: var(--brand-primary-color); color: white;
    font-weight: 600; border-radius: 8px; padding: 0.6rem 1.2rem; line-height: 1.5;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color); border-color: var(--brand-primary-hover-color);
}
.btn-outline-primary-custom { border-radius: 8px; }

.btn-outline-secondary {
    border-radius: 8px; padding: 0.6rem 1.2rem; font-weight: 600; line-height: 1.5; border-color: #cbd5e1; color: #64748b;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9; color: var(--dark-slate-color); border-color: #94a3b8;
}

/* BADGES & ALERTS */
.bg-primary-subtle { background-color: rgba(59, 130, 246, 0.1) !important; }
.bg-warning-subtle { background-color: #fff3cd !important; color: #664d03 !important; }

/* UTILS */
.x-small { font-size: 0.7rem; }

/* --- user/api/index.blade.php --- */
/* ====== TEMA GLOBALE ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

.api-keys-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }

@media (min-width: 960px) {
}
.form-control-modern,
.form-select-modern {
    border-radius: 0.6rem;
    border: 1px solid var(--border-color);
    min-height: 42px;
    font-size: 0.95rem;
}
.form-control-modern:focus,
.form-select-modern:focus {
    border-color: var(--brand-primary-color);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
@media (min-width: 960px) {
}

/* CARDS */
.api-card,
.api-mobile-card,
.empty-state-card {
    border-radius: 12px;
    background-color: white;
    /* Override .card { overflow: hidden } consolidato: altrimenti i dropdown finiscono tagliati */
    overflow: visible !important;
}

/* Table responsive: evita che il dropdown venga tagliato dentro il wrapper */
.api-keys-wrapper .table-responsive {
    overflow: visible;
}
@media (max-width: 959.98px) {
    .api-keys-wrapper .table-responsive {
        overflow-x: auto;
    }
}

/* TABLE */
.table-head-custom { background-color: #f4f7f9; }
.table-head-custom th {
    color: var(--dark-slate-color);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border-color);
    padding: 1rem;
}
.table-hover-custom tbody tr:hover { background-color: #f9fafb; }
.table-hover-custom td {
    border-color: var(--border-color);
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.6rem 1.2rem;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
}

/* BADGES */
.bg-success-subtle { background-color: #dcfce7 !important; color: #166534 !important; }
.bg-secondary-subtle { background-color: #f1f5f9 !important; color: #475569 !important; }

/* DROPDOWN */
.btn-icon-only-dropdown { padding: 0.25rem 0.5rem; line-height: 1; }
.dropdown-menu-compact { min-width: 10rem; border-radius: 8px; }

/* Assicura che i dropdown dentro i modali stiano sopra ai contenuti */
.modal .dropdown-menu {
    z-index: 1085; /* > modal (1055) e > backdrop */
}

/* MODAL */
.modal-content { border-radius: 12px; }

/* UTILS */
.x-small { font-size: 0.7rem; }

/* --- user/couriers/credentials.blade.php --- */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
    --input-bg: #fff;
}

.courier-edit-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }
.bg-light-contrast { background-color: #f8fafc; }

/* CARDS */
.card { border-radius: 8px; }
.card-header { border-radius: 8px 8px 0 0 !important; }

/* FORMS (Floating Style) */
.form-floating > .form-control, .form-floating > .form-select {
    border-radius: 6px;
    border-color: var(--border-color);
    height: calc(3.5rem + 2px);
}
.form-floating > .form-control:focus, .form-floating > .form-select:focus {
    border-color: var(--brand-primary-color);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}
.form-floating > label { color: #64748b; }

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white;
    font-weight: 600;
    border-radius: 6px;
    padding: 0.6rem 1.2rem;
    line-height: 1.5;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
}

.btn-outline-secondary {
    border-radius: 6px;
    padding: 0.6rem 1.2rem;
    font-weight: 600;
    line-height: 1.5;
    border-color: #cbd5e1;
    color: #64748b;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9;
    color: var(--dark-slate-color);
    border-color: #94a3b8;
}

/* ERRORS */
.is-invalid { border-color: var(--sw-danger, #dc3545) !important; background-image: none !important; }
.invalid-feedback { font-size: 0.85rem; margin-top: 0.4rem; }

/* --- user/couriers/index.blade.php --- */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

.couriers-wrapper { background-color: var(--light-contrast-bg); min-height: 100vh; }

@media (min-width: 960px) {
    #couriersFiltersPanel.couriers-filters-collapse {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
        visibility: visible !important;
    }
    #couriersFiltersPanel.couriers-filters-collapse.collapsing {
        height: auto !important;
        transition: none !important;
    }
}
.couriers-filters-toggle[aria-expanded="true"] .couriers-filters-chevron {
    transform: rotate(180deg);
}
.couriers-filters-chevron {
    transition: transform 0.2s ease;
}
.couriers-filters-card {
    border-radius: 12px;
    background-color: #fff;
    border: 1px solid var(--border-color);
}
.form-control-modern,
.form-select-modern {
    border-radius: 0.6rem;
    border: 1px solid var(--border-color);
    min-height: 42px;
    font-size: 0.95rem;
}
.form-control-modern:focus,
.form-select-modern:focus {
    border-color: var(--brand-primary-color);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
@media (min-width: 960px) {
    .couriers-filter-actions .couriers-filter-icon-btn {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        flex-grow: 0 !important;
    }
    .couriers-filter-actions .couriers-filter-icon-btn i {
        font-size: 1.1rem;
        line-height: 1;
    }
}
.couriers-pagination .pagination {
    margin-bottom: 0;
}
.couriers-empty-state-card {
    border-radius: 12px;
    background-color: #fff;
    border: 1px solid var(--border-color);
}

.courier-mobile-card {
    border-radius: 12px;
    background-color: #ffffff;
    overflow: visible;
}

.card-header {
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
}

.table-head-custom { background-color: #f4f7f9; }
.table-head-custom th {
    color: var(--dark-slate-color);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border-color);
    padding: 1rem;
}
.table-hover-custom tbody tr:hover { background-color: #f9fafb; }
.table-hover-custom td {
    border-color: var(--border-color);
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: #ffffff;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
}

.bg-success-subtle { background-color: #dcfce7 !important; color: #166534 !important; }
.bg-warning-subtle { background-color: #fef3c7 !important; color: #92400e !important; }
.bg-primary-subtle { background-color: rgba(59, 130, 246, 0.1) !important; }
.badge.bg-success { background-color: #10b981 !important; }
.badge.bg-primary-custom { background-color: var(--brand-primary-color) !important; }
.badge.bg-secondary { background-color: #64748b !important; }

.btn-icon-only-dropdown { padding: 0.25rem 0.5rem; line-height: 1; }
.dropdown-menu-compact { min-width: 10rem; border-radius: 8px; }
.dropdown-menu { z-index: 2000 !important; }

.courier-logo {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.modal-content { border-radius: 12px; }

/* --- user/couriers/settings.blade.php --- */
.text-dark-slate { color:#1e293b!important; }
.btn-primary-custom {
    background:#3b82f6; border-color:#3b82f6; color:#fff;
}
.btn-primary-custom:hover {
    background:#2563eb; border-color:#2563eb;
}

/* --- user/dashboard.blade.php --- */
/* CARDS */
.stat-card {
    border-radius: 1rem;
    transition: transform 0.2s ease;
}
.stat-card:hover {
    transform: translateY(-4px);
}

/* ICON BOXES */
.icon-box {
    width: 48px; height: 48px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
}
.bg-blue-soft { background-color: color-mix(in srgb, var(--brand-primary-color) 10%, transparent); }
.bg-warning-soft { background-color: rgba(245, 158, 11, 0.1); }
.bg-success-soft { background-color: rgba(16, 185, 129, 0.1); }

/* ACTION BUTTONS */
.btn-action-card {
    background: color-mix(in srgb, var(--theme-bg, #fcfcfc) 4%, #fff);
    border: 1px solid var(--spedire-border, #e0e3e4);
    border-radius: 1rem;
    transition: all 0.2s ease;
}
.btn-action-card:hover {
    border-color: var(--brand-primary-color);
    background-color: color-mix(in srgb, var(--brand-primary-color) 8%, transparent);
    transform: translateY(-2px);
}

/* UTILITIES */
.x-small { font-size: 0.7rem; }

/* --- user/imports/index.blade.php --- */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}
.bg-light-contrast { background-color: #f8fafc !important; }

.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: #fff;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
    color: #fff;
}
@media (min-width: 960px) {
}
.form-control-modern,
.form-select-modern {
    border-radius: 0.6rem;
    border: 1px solid var(--border-color);
    min-height: 42px;
    font-size: 0.95rem;
}
.form-control-modern:focus,
.form-select-modern:focus {
    border-color: var(--brand-primary-color);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
@media (min-width: 960px) {
}

@media (max-width: 959.98px) {
}

.table-head-custom { background-color: #f4f7f9; }
.table-head-custom th {
    color: var(--dark-slate-color);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border-color);
    padding: 1rem;
}
.table-hover-custom tbody tr:hover { background-color: #f9fafb; }
.table-hover-custom td { border-color: var(--border-color); padding-top: 1rem; padding-bottom: 1rem; }

.btn-outline-secondary { border-radius: 8px; }
.btn-icon-only-dropdown { padding: 0.375rem 0.5rem; line-height: 1; }

.bg-success-subtle { background-color: #dcfce7 !important; color: #166534 !important; }
.bg-warning-subtle { background-color: #fef3c7 !important; color: #92400e !important; }
.bg-danger-subtle  { background-color: #fee2e2 !important; color: #b91c1c !important; }

.dropdown-menu-compact { min-width: 10rem; border-radius: 8px; }

.table-responsive td.courier_pickup .dropdown-toggle {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    display: inline-block !important;
    vertical-align: middle !important;
}
.table-responsive td.courier_pickup .dropdown-toggle br {
    line-height: 1.1 !important;
    margin-bottom: 2px !important;
    display: block;
}

.table-responsive { overflow: visible !important; position: relative !important; }
.table-responsive .dropdown { position: static !important; }

.icon-square-sm { width: 32px; height: 32px; }

.btn-white.hover-danger:hover {
    background-color: var(--sw-danger, #dc3545) !important;
    color: #fff !important;
    border-color: var(--sw-danger, #dc3545) !important;
}

.text-truncate-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
            line-clamp: 2;
    -webkit-box-orient: vertical;
}
.x-small { font-size: 0.7rem; line-height: 1.1; }

/* --- user/imports/show.blade.php --- */
:root{
  --brand-primary-color:#3b82f6;
  --dark-slate-color:#1e293b;
  --light-contrast-bg:#f8fafc;
}
.imported-order-details-wrapper{
  background-color:var(--light-contrast-bg);
  min-height:100vh;
}

.card{border-radius:12px;background:#fff;}
.card-header{border-radius:12px 12px 0 0!important;}
.x-small{font-size:.7rem;}
.json-box{
  background:#0b1220;color:#e5e7eb;border-radius:10px;
  padding:12px;font-size:12px;line-height:1.35;overflow:auto;max-height:420px;
}

/* Mobile spacing improvements for item card */
@media (max-width: 959.98px){
  .item-title{
    line-height: 1.25;
    font-size: 1.02rem;
    word-break: break-word;
  }
  .item-price{
    line-height: 1.1;
    font-size: 1.05rem;
    white-space: nowrap;
  }
  .badge.px-3.py-2{
    border-radius: 10px;
  }
}

/* Print */
@media print{
  .btn { display:none!important; }
  .imported-order-details-wrapper { background:#fff!important; }
}

/* --- user/marketplaces/amazon/index.blade.php --- */
/* ====== TEMA COERENTE ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white;
    font-weight: 600;
    padding: 0.8rem 1.5rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25) !important;
}

/* UTILS */
.btn-outline-secondary {
    border-color: #cbd5e1;
    color: #64748b;
    border-radius: 8px;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9;
    color: var(--dark-slate-color);
    border-color: #94a3b8;
}

/* --- user/marketplaces/ebay/index.blade.php --- */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

/* Buttons */
.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: #fff;
    font-weight: 600;
    padding: 0.8rem 1.5rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25) !important;
}

.btn-outline-secondary {
    border-color: #cbd5e1;
    color: #64748b;
    border-radius: 8px;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9;
    color: var(--dark-slate-color);
    border-color: #94a3b8;
}

/* --- user/marketplaces/edit.blade.php --- */
:root{
  --brand-primary-color:#3b82f6;
  --dark-slate-color:#1e293b;
  --light-contrast-bg:#f8fafc;
  --border-color:#e2e8f0;
}
.marketplace-edit-wrapper{background-color:var(--light-contrast-bg);min-height:100vh;}

.card{border-radius:12px;background-color:#fff;}
.card-header{border-top-left-radius:12px!important;border-top-right-radius:12px!important;}

.prov-icon-lg{
  width:80px;height:80px;
  display:flex;align-items:center;justify-content:center;
  border-radius:16px;
  box-shadow:0 4px 12px rgba(0,0,0,0.10);
  overflow:hidden;
}
.prov-icon-img{width:100%;height:100%;object-fit:cover;display:block;}

.bg-success-subtle{background-color:#dcfce7!important;color:#166534!important;}
.bg-warning-subtle{background-color:#fef3c7!important;color:#92400e!important;}
.bg-danger-subtle{background-color:#fee2e2!important;color:#991b1b!important;}
.bg-secondary-subtle{background-color:#f1f5f9!important;color:#475569!important;}

.btn-outline-secondary{
  border-color:#cbd5e1;color:#64748b;border-radius:8px;
}
.btn-outline-secondary:hover{
  background-color:#f1f5f9;color:var(--dark-slate-color);border-color:#94a3b8;
}
.btn-outline-danger{border-radius:8px;}
.modal-content{border-radius:12px;}

/* --- user/marketplaces/ftp/index.blade.php --- */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

/* Buttons */
.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white;
    font-weight: 600;
    padding: 0.7rem 1.5rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25) !important;
}

.btn-outline-secondary {
    border-color: #cbd5e1;
    color: #64748b;
    border-radius: 8px;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9;
    color: var(--dark-slate-color);
    border-color: #94a3b8;
}

/* Error styling lato server (class is-invalid) */
input.is-invalid,
select.is-invalid,
textarea.is-invalid {
    border-color: var(--sw-danger, #dc3545) !important;
    background-color: #ffe6e6 !important;
}

/* --- user/marketplaces/imported-orders/index.blade.php --- */
/* ===== Light theme skeleton ===== */
:root{
  --ink:#0f172a; --soft:#f8fafc; --card:#fff; --border:rgba(2,6,23,.08);
  --radius:1rem;
}
.white-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:0 6px 18px rgba(2,6,23,.05); }

/* Hero senza card (coerente con Marketplaces) */
.page-hero{ background:transparent; border:0; box-shadow:none; }
.page-hero .page-hero-inner{ padding-left:0 !important; padding-right:0 !important; }

/* Ornaments (soft) */
.intg-ornament{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.intg-ornament .o1{ position:absolute; left:-100px; top:-80px; width:30rem; height:30rem; border-radius:9999px; filter:blur(56px); background:radial-gradient(circle at 30% 35%, rgba(79,70,229,.16), transparent 60%); }
.intg-ornament .o2{ position:absolute; right:-120px; bottom:-120px; width:34rem; height:34rem; border-radius:9999px; filter:blur(56px); background:radial-gradient(circle at 70% 65%, rgba(37,99,235,.12), transparent 60%); }

/* Search field */
.orders-search{ max-width:560px; }
.orders-search .form-control{ height:46px; border-radius:.75rem; font-weight:500; }
.orders-search .input-group-text{ background:#fff; border-right:0; border-radius:.75rem 0 0 .75rem; }
.orders-search .form-control{ border-left:0; }

/* Imported orders layout values previously embedded in the Blade. */
.imported-orders-saved-menu{ min-width:300px; }
.imported-orders-columns-menu{ min-width:260px; }
.imported-orders-table-scroll{ max-height:65vh; }
.selection-col{ width:36px; }
.imported-orders-store-name{ max-width:60vw; }
.imported-orders-toast{ z-index:1080; }

/* KPI padding boost */
.kpi-card .card-body{ padding:1.25rem 1.25rem; }
@media (min-width: 768px){
  .kpi-card .card-body{ padding:1.5rem 1.75rem; }
}

/* Filters strip */
.filters-inline{ background:#fff; }

/* Modern table */
.modern-table{ table-layout:auto; width:100%; }
.modern-table thead th{ white-space:nowrap; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:#667085; font-weight:600; }
.modern-table tbody tr.clickable{ cursor:pointer; }
.modern-table tbody tr:hover{ background-color:#f8f9fa; }

/* Compact density */
.table-compact table.table > :not(caption) > * > *{ padding-top:.35rem; padding-bottom:.35rem; }

/* Status helpers */
.dot-recent{ display:inline-block; width:.5rem; height:.5rem; background:#198754; border-radius:50%; }

/* Bulk bar */
.bulk-bar{
  position:fixed; left:50%; transform:translateX(-50%);
  bottom:16px; background:#ffffff; border:1px solid rgba(0,0,0,.06);
  border-radius:999px; padding:.5rem .75rem;
  display:none; align-items:center; justify-content:space-between; gap:1rem; min-width:320px; z-index:1040;
}
.bulk-bar.is-visible{ display:flex; }
.bulk-bar .vr{ height:1.25rem; opacity:.25 }

/* Mobile results fixes */
@media (max-width: 959.98px){
  .order-card .fw-semibold,
  .order-card .small{ overflow-wrap:anywhere; }
  .order-card .text-end{ min-width: 96px; }
}

/* Mobile cards divider */
.order-card{ border-color:#eee !important; }

/* Icons-only su mobile per bulk bar */
@media (max-width:575.98px){
  .bulk-bar{ min-width:auto; padding:.5rem .6rem; }
  .bulk-bar .btn i{ margin-right:0 !important; }
}

/* Dark mode awareness */
@media (prefers-color-scheme: dark){
  .modern-table tbody tr:hover { background-color:#222; }
  .bulk-bar{ background:#1f1f1f; color:#eaeaea; border-color:rgba(255,255,255,.08); }
  .order-card{ border-color:#2a2a2a !important; }
}

/* --- user/marketplaces/index.blade.php --- */
/* === VARIABILI E TEMA === */
:root {
    --brand-primary: #3b82f6;
    --brand-primary-hover: #2563eb;
    --dark-slate: #1e293b;
    --light-bg: #f8fafc;
    --border-color: #e2e8f0;
}
.marketplaces-wrapper {
    --spedire-primary: var(--brand-primary);
    --dark-slate-color: var(--dark-slate);
    --brand-primary-color: var(--brand-primary);
}
body { background-color: var(--light-bg); }

/* CARDS */
.marketplaces-wrapper .card { border-radius: 12px; background-color: white; }

/* TABLE */
.table-head-custom th {
    font-size: 0.75rem; text-transform: uppercase; color: #64748b;
    font-weight: 600; letter-spacing: 0.5px;
    background-color: #f8fafc;
    border-bottom: 1px solid var(--border-color);
    padding-top: 1rem; padding-bottom: 1rem;
}

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
    color: white;
    font-weight: 500;
    border-radius: 8px;
    padding: 0.5rem 1rem;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover);
    border-color: var(--brand-primary-hover);
    color: white;
}

/* FORM */
.form-control-modern {
    background-color: #f8fafc;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 0.6rem 1rem;
}
.form-control-modern:focus {
    box-shadow: none;
    border-color: var(--brand-primary);
    background-color: white;
}

/* BADGES */
.badge {
    font-weight: 500;
    letter-spacing: 0.3px;
    padding: 0.4em 0.8em;
    border-radius: 6px;
}
.bg-success-subtle { background-color: #dcfce7 !important; color: #166534 !important; }
.bg-warning-subtle { background-color: #fef3c7 !important; color: #92400e !important; }
.bg-danger-subtle  { background-color: #fee2e2 !important; color: #991b1b !important; }
.bg-secondary-subtle { background-color: #f1f5f9 !important; color: #475569 !important; }

/* --- user/marketplaces/prestashop/index.blade.php --- */
/* ====== TEMA COERENTE (Amazon / Shopify / PrestaShop) ====== */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white;
    font-weight: 600;
    padding: 0.8rem 1.5rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25) !important;
}

/* UTILS */
.btn-outline-secondary {
    border-color: #cbd5e1;
    color: #64748b;
    border-radius: 8px;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9;
    color: var(--dark-slate-color);
    border-color: #94a3b8;
}

/* Evidenziazione errori lato server (Bootstrap + extra bg) */
input.is-invalid,
select.is-invalid,
textarea.is-invalid {
    border-color: var(--sw-danger, #dc3545) !important;
    background-color: #ffe6e6 !important;
}

/* --- user/marketplaces/shopify/index.blade.php --- */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white;
    font-weight: 600;
    padding: 0.8rem 1.5rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25) !important;
}

.btn-outline-secondary {
    border-color: #cbd5e1;
    color: #64748b;
    border-radius: 8px;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9;
    color: var(--dark-slate-color);
    border-color: #94a3b8;
}

/* --- user/marketplaces/woocommerce/index.blade.php --- */
:root {
    --brand-primary-color: #3b82f6;
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b;
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
}

.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white; font-weight: 600;
    padding: 0.8rem 1.5rem; border-radius: 8px;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
}

/* --- user/settings/edit.blade.php --- */
.pm-left, .pm-main, .pm-bottom, .pm-top { min-width: 0; }

  .pm-brand{
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .pm-pan{ max-width: 340px; }

  .payment-method-row{ flex-wrap: wrap; }

  .dropdown-menu-compact{ min-width: 12rem; border-radius: 8px; }
  .dropdown-toggle-icon::after{ display:none; }

/* ===== FULLSCREEN PAYMENT MODAL ===== */
#gatewayIframeModal .modal-content {
  height: 100vh;
}

#gatewayIframeModal .modal-body {
  height: calc(100vh - 56px); /* header bootstrap */
  padding: 0;
  overflow: hidden;
}

#gatewayIframeModal iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

  @media (max-width: 576px){
    .pm-brand{ max-width: 160px; }
    .pm-pan{ max-width: 220px; }
  }

/* --- user/settings/edit.blade.php --- */
.card { border-radius: 12px; }
    .card-footer { border-radius: 0 0 12px 12px !important; }

    .nav-tabs-modern { border-bottom: 1px solid var(--spedire-border); }
    .nav-tabs-modern .nav-link {
        border: none;
        color: #64748b;
        font-weight: 500;
        padding: 1rem 1.5rem;
        border-bottom: 2px solid transparent;
    }
    .nav-tabs-modern .nav-link:hover {
        color: var(--dark-slate-color);
    }
    .nav-tabs-modern .nav-link.active {
        color: var(--brand-primary-color);
        border-bottom-color: var(--brand-primary-color);
        background: transparent;
    }

    .form-floating > .form-control,
    .form-floating > .form-select {
        border-radius: 10px;
        border-color: var(--spedire-border);
    }
    .form-floating > .form-control:focus,
    .form-floating > .form-select:focus {
        border-color: var(--brand-primary-color);
        box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-primary-color) 12%, transparent);
    }

    .btn-primary-custom {
        background-color: var(--brand-primary-color);
        border-color: var(--brand-primary-color);
        color: white;
        font-weight: 600;
        border-radius: 8px;
        padding: 0.6rem 1.2rem;
    }
    .btn-primary-custom:hover {
        background-color: var(--brand-primary-hover-color);
    }

    .bg-light-contrast {
        background-color: var(--light-contrast-bg, var(--theme-bg));
    }

    /* ===================== SELECT2 COUNTRY (shipping-like, multi fixed) ===================== */

    .select2-floating {
        position: relative;
    }

    /* Floating label inside .select2-floating (add class "has-label" to the wrapper) */
    .select2-floating.has-label > label {
        position: absolute;
        top: 0.3rem;
        left: 0.75rem;
        font-size: 0.72rem;
        font-weight: 600;
        color: #6c757d;
        z-index: 2;
        pointer-events: none;
        line-height: 1;
        white-space: nowrap;
    }

    .select2-floating.has-label .select2-container--bootstrap-5 .select2-selection--multiple,
    .select2-floating.has-label .select2-container--bootstrap-5 .select2-selection--single {
        padding-top: 1.45rem;
        align-items: flex-start;
    }

    /* container Select2 dentro il wrapper .select2-floating (single + multi) */
    .select2-floating .select2-container--bootstrap-5 .select2-selection--single,
    .select2-floating .select2-container--bootstrap-5 .select2-selection--multiple {
        min-height: calc(3.5rem + 2px);
        border-radius: 10px;
        border: 1px solid var(--spedire-border);
        padding: .75rem 2.5rem .75rem .75rem;
        display: flex;
        align-items: center;
        background-color: #fff;
        position: relative; /* per caret assoluto */
    }

    .select2-floating .select2-container--bootstrap-5 .select2-selection--single {
        height: calc(3.5rem + 2px);
    }

    .select2-floating .select2-container--bootstrap-5 .select2-selection--multiple {
        height: auto;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: .25rem;
    }

    .select2-floating .select2-container--bootstrap-5 .select2-selection--single:focus,
    .select2-floating .select2-container--bootstrap-5 .select2-selection--multiple:focus {
        border-color: var(--brand-primary-color);
        box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-primary-color) 12%, transparent);
    }

    /* MULTI: lista scelte */
    .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: .25rem;
        margin: 0;
        padding: 0;
        white-space: normal;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
        background-color: #f1f5f9 !important;
        border-radius: 999px !important;
        border: 1px solid #e2e8f0 !important;
        padding: 0.15rem .55rem !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center;
        gap: .35rem;
        font-size: 0.9rem;
        color: var(--dark-slate-color);
    }

    .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove {
        display: inline-flex !important;
        align-items: center;
        font-size: .8rem;
        margin-right: .15rem;
    }

    .select2-container--bootstrap-5 .select2-selection--multiple .select2-search--inline {
        width: 0;
        margin: 0;
    }

    .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__placeholder {
        color: #6c757d;
        opacity: 0.8;
    }

    /* Icona caret (single + multi) sul container Select2 dentro il wrapper */
    .select2-floating .select2-container--bootstrap-5 .select2-selection--single::after,
    .select2-floating .select2-container--bootstrap-5 .select2-selection--multiple::after {
        content: "\f282";
        font-family: "bootstrap-icons";
        position: absolute;
        right: 0.9rem;
        top: 50%;
        transform: translateY(-50%) rotate(0deg);
        font-size: 0.9rem;
        color: #64748b;
        pointer-events: none;
        transition: transform .15s ease;
    }

    .select2-floating .select2-container--bootstrap-5.select2-container--open .select2-selection--single::after,
    .select2-floating .select2-container--bootstrap-5.select2-container--open .select2-selection--multiple::after {
        transform: translateY(-50%) rotate(180deg);
    }

    .select2-container--bootstrap-5 .select2-dropdown {
        border-radius: 0 0 .75rem .75rem;
        border-color: var(--spedire-border);
        box-shadow: 0 12px 30px rgba(15,23,42,.18);
    }

    .select2-container--bootstrap-5 .select2-dropdown .select2-search--dropdown {
        padding: .5rem .75rem .25rem;
        border-bottom: 1px solid var(--spedire-border);
    }

    .select2-container--bootstrap-5 .select2-dropdown .select2-search__field {
        padding: .375rem .5rem;
        border-radius: .375rem;
        border: 1px solid var(--spedire-border);
    }

    .select2-container--bootstrap-5 .select2-results__option {
        padding: .4rem .75rem;
    }

    .opt-dup-hidden {
        display: none !important;
    }

    .opt-hidden {
        display: none !important;
    }

    /* ===== UNITÀ (kg / cm) NEI CAMPI NUMERICI ===== */
    .form-floating.position-relative .form-control.pe-unit {
        padding-right: 2.8rem; /* spazio per l’unità a destra */
    }

    .form-floating.position-relative .input-unit {
        position: absolute;
        right: 1rem;
        top: 50%;
        transform: translateY(-50%);
        font-size: 0.8rem;
        color: #64748b;
        pointer-events: none;
        z-index: 2;
    }
	
/* NON toccare il placeholder */
.printing-type-select option[value=""] {
    text-transform: none !important;
}

/* UPPERCASE solo per opzioni con value > 0 */
.printing-type-select option:not([value=""]) {
    text-transform: uppercase !important;
}

.select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted {
    background-color: #e9ecef !important;
    color: #000 !important;
}

/* --- user/shipments/index.blade.php --- */
/* Troncamento */
.text-truncate-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
          line-clamp: 2;
  -webkit-box-orient: vertical;
}
.x-small {
    font-size: 0.7rem;
    line-height: 1.1;
}

/* Layout pagina */
.user-shipments-wrapper {
    background-color: var(--light-contrast-bg);
    min-height: 100vh;
}
/* Filtri: su desktop sempre aperti; su mobile collassabili */
@media (min-width: 960px) {
    #shipmentsFiltersPanel.shipments-filters-collapse {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
        visibility: visible !important;
    }
    #shipmentsFiltersPanel.shipments-filters-collapse.collapsing {
        height: auto !important;
        transition: none !important;
    }
}
.shipments-filters-toggle[aria-expanded="true"] .shipments-filters-chevron {
    transform: rotate(180deg);
}
.shipments-filters-chevron {
    transition: transform 0.2s ease;
}
.shipments-filters-card {
    border-radius: 12px;
    border: 1px solid var(--border-color);
}
.form-control-modern,
.form-select-modern {
    border-radius: 0.6rem;
    border: 1px solid var(--border-color);
    min-height: 42px;
    font-size: 0.95rem;
}
.form-control-modern:focus,
.form-select-modern:focus {
    border-color: var(--brand-primary-color);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary-color) 15%, transparent);
}
@media (min-width: 960px) {
    .shipments-filter-actions .shipments-filter-icon-btn {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        flex-grow: 0 !important;
    }
    .shipments-filter-actions .shipments-filter-icon-btn i {
        font-size: 1.1rem;
        line-height: 1;
    }
}
.shipments-pagination .pagination {
    margin-bottom: 0;
}
.shipments-card,
.shipment-mobile-card {
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Tabella */
.table-head-custom {
    background-color: color-mix(in srgb, var(--theme-bg, #fcfcfc) 80%, #eef2f6);
}
.table-head-custom th {
    color: var(--dark-slate-color);
    font-weight: 600;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
    border-bottom-width: 2px;
    border-color: var(--border-color);
}
.table-hover-custom tbody tr:hover {
    background-color: color-mix(in srgb, var(--theme-bg, #fcfcfc) 88%, #fff);
}

.btn-icon-only-dropdown {
    padding: 0.375rem 0.5rem;
    line-height: 1;
}

/* Badge colori */
.badge.bg-primary-custom { background-color: var(--brand-primary-color) !important; }
.badge.bg-success        { background-color: #10b981 !important; }
.badge.bg-warning        { background-color: #f59e0b !important; }
.badge.bg-danger         { background-color: #ef4444 !important; }

/* Dropdown */
.dropdown-menu-compact {
    min-width: 12rem;
    border-radius: 8px;
}
.dropdown-menu-compact .dropdown-header {
    padding-top: 0.5rem;
}

/* Modal */
.modal-content {
    border-radius: 12px;
}

/* --- user/shipments/pod.blade.php --- */
/* ====== TEMA COERENTE ====== */
:root {
    --brand-primary-color: #3b82f6; 
    --brand-primary-hover-color: #2563eb;
    --dark-slate-color: #1e293b; 
    --light-contrast-bg: #f8fafc;
    --border-color: #e2e8f0;
    --success-emerald: #10b981;
    --warning-amber: #f59e0b;
    --danger-red: #ef4444;
    --card-radius: 16px;
}

.bg-light-contrast { background-color: var(--light-contrast-bg) !important; }

/* WRAPPER */
.pod-page-wrapper {
    background-color: var(--light-contrast-bg);
    min-height: 100vh;
}

/* CARD */
.pod-card {
    border-radius: var(--card-radius);
    background-color: white;
    overflow: hidden;
}
.pod-card .card-header {
    border-bottom: 1px solid var(--border-color);
}

/* ICON BOXES */
.icon-square {
    width: 48px; height: 48px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--border-color);
    overflow: hidden;
    padding: 0;
}

/* Logo corriere dentro icon-square */
.courier-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* STATUS ICON */
.status-icon {
    width: 80px; height: 80px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}

/* BUTTONS */
.btn-primary-custom {
    background-color: var(--brand-primary-color);
    border-color: var(--brand-primary-color);
    color: white;
    font-weight: 600;
    border-radius: 10px;
    padding: 0.75rem 1.5rem;
    transition: all 0.2s;
}
.btn-primary-custom:hover {
    background-color: var(--brand-primary-hover-color);
    border-color: var(--brand-primary-hover-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}
.btn-success-custom {
    background-color: var(--success-emerald);
    border-color: var(--success-emerald);
    color: white;
    font-weight: 600;
    border-radius: 10px;
    padding: 0.75rem 1.5rem;
}
.btn-success-custom:hover {
    background-color: #059669;
    border-color: #059669;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
}

.btn-outline-secondary {
    border-radius: 10px;
    border-color: #cbd5e1;
    color: #64748b;
    font-weight: 600;
}
.btn-outline-secondary:hover {
    background-color: #f1f5f9;
    color: var(--dark-slate-color);
    border-color: #94a3b8;
}

/* BADGES BG */
.bg-primary-subtle { background-color: rgba(59,130,246,0.1) !important; }
.bg-success-subtle { background-color: rgba(16,185,129,0.1) !important; }
.bg-warning-subtle { background-color: rgba(245,158,11,0.1) !important; }
.bg-danger-subtle { background-color: rgba(239,68,68,0.1) !important; }

/* UTILS */
.x-small { font-size: 0.75rem; }

/* --- user/shipments/show.blade.php --- */
:root {
      --brand-primary-color: #3b82f6;
      --dark-slate-color: #1e293b;
      --light-contrast-bg: #f8fafc;
      --border-color: #e2e8f0;
      --success-emerald: #10b981;
      --success-emerald-light: rgba(16, 185, 129, 0.1);
      --card-border-radius: 0.75rem;
  }
  .text-dark-slate { color: var(--dark-slate-color) !important; }
  .text-primary-custom { color: var(--theme-primary) !important; }
  .btn-primary-custom { background-color: var(--brand-primary-color); border-color: var(--brand-primary-color); color: white; }
  .btn-primary-custom:hover { background-color: #2563eb; border-color: #2563eb; }
  .btn-success-custom { background-color: var(--success-emerald); border-color: var(--success-emerald); color: white; }
  .btn-outline-success-custom { border-color: var(--success-emerald); color: var(--success-emerald); }
  .btn-outline-success-custom:hover { background-color: var(--success-emerald); color: white; }

  .shipment-details-wrapper { background-color: var(--light-contrast-bg); }

  .shipment-layout-grid { display: grid; grid-template-columns: 1fr 320px; gap: 2rem; }
  @media (max-width: 959.98px) {
    .shipment-layout-grid { grid-template-columns: 1fr; }
    .shipment-side-column { order: -1; }
  }

  /* Timeline */
  .status-timeline-wrapper { overflow-x: auto; padding-bottom: 0.5rem; }
  .status-timeline { display: flex; justify-content: space-between; align-items: center; min-width: 520px; padding: 0 1rem; }
  .timeline-step { display: flex; flex-direction: row; align-items: center; gap: 0.4rem; flex-shrink: 0; }
  .timeline-dot { width: 12px; height: 12px; border-radius: 50%; background-color: var(--border-color); }
  .timeline-step.active .timeline-dot { background-color: var(--brand-primary-color); }
  .timeline-line { flex-grow: 1; height: 2px; background-color: #E5E7EB; margin: 0 0.5rem; }
  .timeline-line.filled { background-color: var(--brand-primary-color); }
  .timeline-label { font-size: 0.75rem; color: #6B7280; white-space: nowrap; }
  .timeline-step.active .timeline-label { color: var(--dark-slate-color); font-weight: 600; }

  /* Accessories */
  .accessories-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); padding: 1.5rem; }
  .acc-item { display: flex; gap: 0.75rem; align-items: center; border: 1px solid var(--border-color); border-radius: 0.5rem; padding: 0.75rem; }
  .acc-item.on { border-color: var(--success-emerald); background: var(--success-emerald-light); }
  .acc-icon { font-size: 1.2rem; color: #64748b; }
  .acc-item.on .acc-icon { color: var(--success-emerald); }
  .acc-label { font-size: 0.8rem; font-weight: 600; color: var(--dark-slate-color); }
  .acc-value { font-size: 0.75rem; color: #64748b; }

  .shipment-actions-mobile-sticky { position: static; bottom: auto; z-index: auto; margin-top: 2rem; }
  .shipment-actions-mobile-sticky .card-body { padding: 0.5rem; }

  .card-header-custom { background-color: #F4F7F9; border-bottom: 1px solid var(--border-color); padding: 1rem; }
  .contact-detail-card { border: 1px solid var(--border-color); border-radius: 0.5rem; background: #fdfdfd; padding: 1rem; }
  .contact-detail-card .header { font-weight: 600; font-size: 0.9rem; color: var(--dark-slate-color); }
  .table-custom th { font-size: 0.75rem; text-transform: uppercase; color: #4B5563; }

  .card-header.bg-soft {
    background: rgba(59,130,246,.06);
    border-bottom: 1px solid rgba(148,163,184,.25);
  }

  /* Select2 + Floating Labels Pickup */
  .select2-floating{ position: relative; }
  .select2-floating .select2-container{ width:100% !important; display:block; }
  .select2-floating .select2-selection--single{
    height: calc(3.5rem + 2px);
    padding: 1.05rem 2.25rem .55rem .75rem;
    border: 1px solid var(--border-color);
    border-radius: .75rem;
    display:flex; align-items:center;
  }
  .select2-floating .select2-selection__arrow{
    position:absolute; right:.6rem!important; top:50%; transform:translateY(-50%);
    width:1.5rem; height:1.5rem; display:flex; align-items:center; justify-content:center;
    pointer-events:none;
  }
  .select2-floating .select2-selection__arrow b{ display:none; }
  .select2-floating .select2-selection__arrow::after{
    content:""; width:10px; height:6px; display:block;
    background-repeat:no-repeat; background-position:center;
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6"><path d="M1 1l4 4 4-4" stroke="%2364758b" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  }
  .select2-floating .select2-selection--single .select2-selection__rendered{
    margin-left:0; padding-left:0; line-height:1.25rem;
    display:flex; align-items:center; gap:.3rem;
    transform: translateY(3px);
  }
  .select2-container .select2-selection__rendered .fi{
    transform: translateY(2px); line-height:1;
  }
  .country-option{ display:flex; align-items:center; gap:.0rem; }
  .country-option .fi{ transform: translateY(2px); }

  #pickup_country + .select2-container .select2-selection--single {
    height: calc(3.5rem + 2px) !important;
    padding: 1.05rem 2.25rem .55rem .75rem !important;
    display: flex !important;
    align-items: center !important;
  }
  #pickup_country + .select2-container .select2-selection__rendered {
    padding-left: 0 !important;
    line-height: 1.25rem !important;
    transform: translateY(3px);
  }

  /* Pickup city dropdown */
  .pickup-city-wrapper { position: relative; }
  .pickup-city-dd { top: 100%; left: 0; right: 0; }
  .pickup-city-item:hover { background: #f1f5f9; cursor: pointer; }

/* --- user/wallet/index.blade.php --- */
:root{
    --brand-primary-color:#3b82f6;
    --brand-primary-hover-color:#2563eb;
    --dark-slate-color:#1e293b;
    --light-contrast-bg:#f8fafc;
    --border-color:#e2e8f0;
}
html { scroll-behavior: smooth; }

.wallet-wrapper{ background-color:var(--light-contrast-bg); min-height:100vh; }

.wallet-section-card{ border-radius:12px; background:#fff; overflow:visible; }
.kpi-card{ border-radius:12px; background:#fff; overflow:visible; }

.kpi-card--same{ min-height: 142px; }
.kpi-subtext{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}

.kpi-icon{
    width:40px; height:40px;
    border-radius:12px;
    display:inline-flex; align-items:center; justify-content:center;
    background:#f1f5f9;
    color:var(--dark-slate-color);
    font-size:1.2rem;
}

.btn-primary-custom{
    background-color:var(--brand-primary-color);
    border-color:var(--brand-primary-color);
    color:white;
    font-weight:600;
    border-radius:8px;
    padding:.6rem 1.2rem;
}
.btn-primary-custom:hover{
    background-color:var(--brand-primary-hover-color);
    border-color:var(--brand-primary-hover-color);
}
.btn-outline-secondary{
    border-radius:8px;
    border-color:#cbd5e1;
    color:#64748b;
}
.btn-outline-secondary:hover{
    background-color:#f1f5f9;
    border-color:#94a3b8;
    color:var(--dark-slate-color);
}
.btn-top-action{
    border-radius:10px;
    padding:.55rem .95rem;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
}

.input-group-modern .input-group-text{
    border:1px solid var(--border-color);
    border-right:none;
    border-radius:8px 0 0 8px;
}
.input-group-modern .form-control{
    border:1px solid var(--border-color);
    border-left:none;
    border-radius:0 8px 8px 0;
    height:42px;
}
.input-group-modern .form-control:focus{
    box-shadow:none;
    border-color:var(--brand-primary-color);
}

.badge-soft{
    border:1px solid var(--border-color);
    background:#f8fafc;
    color:#475569;
    padding:.35rem .6rem;
    border-radius:999px;
    font-size:.75rem;
    font-weight:600;
}

.table-head-custom{ background-color:#f4f7f9; }
.table-head-custom th{
    color:var(--dark-slate-color);
    font-weight:600;
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.5px;
    border-bottom:1px solid var(--border-color);
    padding:1rem;
}
.table-hover-custom tbody tr:hover{ background-color:#f9fafb; }
.table-hover-custom td{
    border-color:var(--border-color);
    padding-top:1rem;
    padding-bottom:1rem;
    vertical-align:middle;
}

.method-option{ position:relative; }
.method-radio{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.method-pill-btn{
    border:1px solid var(--border-color);
    background:#fff;
    border-radius:12px;
    padding:.6rem .9rem;
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    font-weight:700;
    color:var(--dark-slate-color);
    cursor:pointer;
    user-select:none;
    box-shadow:0 1px 0 rgba(15,23,42,.03);
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.method-pill-btn i{ opacity:.85; }
.method-pill-btn::before{
    content:"";
    width:14px;
    height:14px;
    border-radius:999px;
    border:2px solid #cbd5e1;
    display:inline-block;
    box-sizing:border-box;
}
.method-radio:checked + .method-pill-btn{
    border-color:var(--brand-primary-color);
    box-shadow:0 0 0 .2rem rgba(59,130,246,.15);
    background:#fff;
}
.method-radio:checked + .method-pill-btn::before{
    border-color:var(--brand-primary-color);
    background: radial-gradient(circle at center, var(--brand-primary-color) 0 45%, transparent 46%);
}
@media (max-width: 576px){
    .method-pill-btn{ width:100%; justify-content:flex-start; }
}

/* collapse row */
.collapse-row td{ border-top:0!important; }

/* inline validation shake */
.wallet-field-shake{
  animation: walletShake .25s linear 0s 2;
}
@keyframes walletShake{
  0%{ transform: translateX(0); }
  25%{ transform: translateX(-4px); }
  50%{ transform: translateX(4px); }
  75%{ transform: translateX(-3px); }
  100%{ transform: translateX(0); }
}

/* ==========================================================
   Amount error styling (Bootstrap-like)
   - red borders on group
   - red/pink background on the "€" addon
   ========================================================== */
#walletAmountGroup.wallet-error .form-control{
    border-color:var(--sw-danger, #dc3545) !important;
    box-shadow:none !important;
}
#walletAmountGroup.wallet-error .form-control:focus{
    border-color:var(--sw-danger, #dc3545) !important;
    box-shadow:0 0 0 .2rem rgba(220,53,69,.25) !important;
}

/* --- user/wallet/recharge.blade.php --- */
:root{
    --brand-primary-color:#3b82f6;
    --brand-primary-hover-color:#2563eb;
    --dark-slate-color:#1e293b;
    --light-contrast-bg:#f8fafc;
    --border-color:#e2e8f0;
}

.page-wrapper{ background-color:var(--light-contrast-bg); min-height:100vh; }
.page-card{ border-radius:16px; background-color:#fff; }

.btn-outline-secondary{
    border-radius:8px;
    border-color:#cbd5e1;
    color:#64748b;
}
.btn-outline-secondary:hover{
    background-color:#f1f5f9;
    border-color:#94a3b8;
    color:var(--dark-slate-color);
}

.btn-primary-custom{
    background:var(--brand-primary-color);
    border-color:var(--brand-primary-color);
    color:#fff;
    font-weight:700;
    border-radius:10px;
    padding:.75rem 1rem;
}
.btn-primary-custom:hover{
    background:var(--brand-primary-hover-color);
    border-color:var(--brand-primary-hover-color);
}

/* header action buttons */
.btn-top-action{
    border-radius:10px;
    padding:.55rem .95rem;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
}

.section-card{
    border:1px solid var(--border-color);
    border-radius:14px;
    background:#fff;
}
.kpi-card{
    border:1px solid var(--border-color);
    border-radius:14px;
    background:#fff;
}
.kpi-icon{
    width:40px;
    height:40px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#f1f5f9;
    color:var(--dark-slate-color);
    font-size:1.2rem;
}

/* Inputs (match wallet/index style) */
.input-group-modern .input-group-text{
    border:1px solid var(--border-color);
    border-right:none;
    border-radius:8px 0 0 8px;
}
.input-group-modern .form-control{
    border:1px solid var(--border-color);
    border-left:none;
    border-radius:0 8px 8px 0;
    height:42px;
}
.input-group-modern .form-control:focus{
    box-shadow:none;
    border-color:var(--brand-primary-color);
}

/* =========================
   Payment method pills
   ========================= */
.method-option{ position:relative; }
.method-radio{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.method-pill-btn{
    border:1px solid var(--border-color);
    background:#fff;
    border-radius:12px;
    padding:.6rem .9rem;
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    font-weight:700;
    color:var(--dark-slate-color);
    cursor:pointer;
    user-select:none;
    box-shadow:0 1px 0 rgba(15,23,42,.03);
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.method-pill-btn i{ opacity:.85; }
.method-pill-btn::before{
    content:"";
    width:14px;
    height:14px;
    border-radius:999px;
    border:2px solid #cbd5e1;
    display:inline-block;
    box-sizing:border-box;
}
.method-radio:checked + .method-pill-btn{
    border-color:var(--brand-primary-color);
    box-shadow:0 0 0 .2rem rgba(59,130,246,.15);
    background:#fff;
}
.method-radio:checked + .method-pill-btn::before{
    border-color:var(--brand-primary-color);
    background:
        radial-gradient(circle at center, var(--brand-primary-color) 0 45%, transparent 46%);
}

@media (max-width: 576px){
    .method-pill-btn{ width:100%; justify-content:flex-start; }
}

/* --- user/wallet/transactions.blade.php --- */
:root{
    --brand-primary-color:#3b82f6;
    --brand-primary-hover-color:#2563eb;
    --dark-slate-color:#1e293b;
    --light-contrast-bg:#f8fafc;
    --border-color:#e2e8f0;
}

.wallet-wrapper{ background-color:var(--light-contrast-bg); min-height:100vh; }

/* Cards */
.wallet-section-card{ border-radius:12px; background:#fff; overflow:visible; }

/* Buttons */
.btn-primary-custom{
    background-color:var(--brand-primary-color);
    border-color:var(--brand-primary-color);
    color:white;
    font-weight:600;
    border-radius:8px;
    padding:.6rem 1.2rem;
}
.btn-primary-custom:hover{
    background-color:var(--brand-primary-hover-color);
    border-color:var(--brand-primary-hover-color);
}

.btn-outline-secondary{
    border-radius:8px;
    border-color:#cbd5e1;
    color:#64748b;
}
.btn-outline-secondary:hover{
    background-color:#f1f5f9;
    border-color:#94a3b8;
    color:var(--dark-slate-color);
}

.btn-top-action{
    border-radius:10px;
    padding:.55rem .95rem;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
}

/* Soft badge */
.badge-soft{
    border:1px solid var(--border-color);
    background:#f8fafc;
    color:#475569;
    padding:.35rem .6rem;
    border-radius:999px;
    font-size:.75rem;
    font-weight:600;
}

/* Table */
.table-head-custom{ background-color:#f4f7f9; }
.table-head-custom th{
    color:var(--dark-slate-color);
    font-weight:600;
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.5px;
    border-bottom:1px solid var(--border-color);
    padding:1rem;
}
.table-hover-custom tbody tr:hover{ background-color:#f9fafb; }
.table-hover-custom td{
    border-color:var(--border-color);
    padding-top:1rem;
    padding-bottom:1rem;
    vertical-align:middle;
}

/* =========================
   FIX PAGINATION (Bootstrap 5)
   ========================= */
.wallet-pagination .pagination{
    margin:0;
    gap:.35rem;
    justify-content:center;
    flex-wrap:wrap;
}

.wallet-pagination .page-item .page-link{
    border:1px solid var(--border-color);
    color:#475569;
    border-radius:12px;
    padding:.45rem .75rem;
    font-weight:600;
    box-shadow:0 1px 0 rgba(15,23,42,.03);
    background:#fff;
}

.wallet-pagination .page-item .page-link:hover{
    background:#f8fafc;
    border-color:#cbd5e1;
    color:var(--dark-slate-color);
}

.wallet-pagination .page-item.active .page-link{
    background:var(--brand-primary-color);
    border-color:var(--brand-primary-color);
    color:#fff;
}

.wallet-pagination .page-item.disabled .page-link{
    opacity:.55;
    background:#fff;
    border-color:var(--border-color);
}

/* safety: se per qualche motivo entra ancora un SVG gigante, lo normalizziamo */
.wallet-pagination svg{
    width:1em !important;
    height:1em !important;
}

/* --- welcome.blade.php --- */
/* Variabili landing: Theme Settings → :root in layouts/app (--landing-*) */
    :root {
        --log-primary: var(--theme-primary, var(--theme-primary, #e61a0a));
        --log-dark: color-mix(in srgb, var(--theme-secondary, #1e3a5a) 45%, #0e1a2b);
        --log-accent: var(--theme-secondary, #1e3a5a);
        --log-bg: var(--theme-bg, #fafaf9);
        --log-text: var(--spedire-text, #202223);
        --log-hero-start: var(--landing-hero-grad-start, #1e1b4b);
        --log-hero-end: var(--landing-hero-grad-end, #9f1239);
        --log-hero-text: var(--landing-hero-text, #ffffff);
        --log-hero-muted: var(--landing-hero-muted, #fecaca);
        --log-surface: var(--landing-surface, #ffffff);
        --log-surface-muted: var(--landing-surface-muted, #fff5f5);
        --log-border: var(--landing-border, #e2e8f0);
        --log-cta-bg: var(--landing-cta-bg, var(--theme-primary, var(--theme-primary, #e61a0a)));
        --log-radius: 8px;
    }

    body {
        background-color: var(--log-bg);
        color: var(--log-text);
        font-family: var(--theme-font-base, "IBM Plex Sans", Arial, 'Helvetica Neue', Helvetica, 'Segoe UI', sans-serif);
    }

    /* --- HERO SECTION --- */
    .hero-wrapper {
        background-color: var(--log-hero-start);
        background-image: linear-gradient(135deg, var(--log-hero-start) 0%, var(--log-hero-end) 100%);
        color: var(--log-hero-text);
        padding-top: 80px;
        padding-bottom: 180px; /* Extra padding per card overlay */
        position: relative;
        clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
        overflow: hidden;
    }

    .hero-wrapper .hero-subtitle,
    .hero-wrapper .text-white-50 {
        color: var(--log-hero-muted) !important;
    }

    .hero-wrapper .text-info {
        color: var(--log-accent) !important;
    }

    .hero-grid-bg {
        position: absolute; inset: 0; pointer-events: none;
        background-image: 
            linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
        background-size: 40px 40px;
        mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
        -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
    }

    .hero-title {
        font-weight: var(--sw-weight-bold, 700);
        font-size: clamp(2.5rem, 5vw, 3.5rem);
        line-height: 1.1;
        margin-bottom: 1.5rem;
    }
    .hero-subtitle {
        font-size: 1.25rem;
        opacity: 0.9;
        font-weight: 300;
        max-width: 650px;
        margin-bottom: 2.5rem;
        line-height: 1.5;
    }
    
    /* --- TESTO ORO LUCIDO ANIMATO --- */
    .text-gold-glossy {
        background: linear-gradient(
            to right,
            #bf953f 0%, 
            #b38728 20%, 
            #fcf6ba 45%, 
            #ffffff 50%, 
            #fcf6ba 55%, 
            #b38728 80%, 
            #bf953f 100%
        );
        background-size: 200% auto;
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        display: inline-block;
        animation: textShine 4s linear infinite;
    }

    @keyframes textShine {
        to { background-position: 200% center; }
    }

    /* --- OVERLAPPING TOOL CARD --- */
    .tool-container {
        margin-top: -160px;
        position: relative;
        z-index: 10;
        padding-bottom: 4rem;
    }

    .tool-card {
        background: var(--log-surface);
        border-radius: 16px;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
        border: 1px solid color-mix(in srgb, var(--log-border) 65%, transparent);
        overflow: hidden;
    }

    /* Tabs */
    .tool-tabs {
        display: flex;
        background: var(--log-surface-muted);
        border-bottom: 1px solid var(--log-border);
    }
    .tool-tab {
        flex: 1;
        text-align: center;
        padding: 1.2rem;
        cursor: pointer;
        font-weight: 600;
        color: color-mix(in srgb, var(--log-text) 55%, var(--log-border) 45%);
        transition: all 0.2s;
        border-right: 1px solid var(--log-border);
    }
    .tool-tab:last-child { border-right: none; }
    .tool-tab:hover { background: color-mix(in srgb, var(--log-surface) 70%, var(--log-border) 30%); color: var(--log-dark); }
    .tool-tab.active {
        background: var(--log-surface);
        color: var(--log-primary);
        border-top: 4px solid var(--log-primary);
        margin-top: -1px;
    }
    .tool-tab i { font-size: 1.2rem; margin-right: 8px; vertical-align: middle; }

    /* Form Elements */
    .log-label {
        font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
        color: color-mix(in srgb, var(--log-text) 58%, var(--log-border) 42%);
        margin-bottom: 0.5rem; display: block; letter-spacing: 0.05em;
    }
    
    .log-input-group {
        display: flex; align-items: center;
        background: var(--log-surface);
        border: 1px solid var(--log-border);
        border-radius: 8px; transition: all 0.2s;
        position: relative; width: 100%; height: 56px;
    }
    .log-input-group:focus-within {
        border-color: var(--log-primary);
        box-shadow: 0 0 0 4px color-mix(in srgb, var(--log-primary) 18%, transparent);
    }
    
    .log-input {
        border: none; flex: 1; width: 0; height: 100%;
        padding: 0 16px; font-size: 1rem; font-weight: 500;
        color: #111; background: transparent; outline: none;
    }
    .log-unit {
        padding: 0 16px 0 8px; color: #6b7280; font-weight: 600; font-size: 0.9rem; user-select: none;
    }
    
    .log-select-btn {
        background: var(--log-border);
        border-right: 1px solid var(--log-border);
        padding: 0 16px; height: 100%;
        display: flex; align-items: center; gap: 8px;
        cursor: pointer; white-space: nowrap; min-width: 140px;
        border-radius: 8px 0 0 8px;
        font-weight: 600;
        color: color-mix(in srgb, var(--log-text) 85%, var(--log-border) 15%);
    }
    .log-select-btn:hover { background: var(--log-border) 20%); }

    .btn-action {
        background: var(--log-primary); color: #fff;
        width: 100%; height: 56px; border: none; border-radius: 8px;
        font-weight: 700; font-size: 1.1rem; transition: all 0.2s;
        text-transform: uppercase; letter-spacing: 0.5px;
    }
    .btn-action:hover {
        background: color-mix(in srgb, var(--log-primary) 78%, #000000);
        transform: translateY(-1px);
        box-shadow: 0 8px 20px color-mix(in srgb, var(--log-primary) 35%, transparent);
    }
    .btn-action:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }

    /* Dropdowns */
    .log-dropdown {
        position: absolute; top: 100%; left: 0; width: 100%; z-index: 50;
        background: var(--log-surface);
        border: 1px solid var(--log-border);
        border-top: none;
        box-shadow: 0 10px 15px rgba(0,0,0,0.1); max-height: 250px; overflow-y: auto;
        display: none; border-radius: 0 0 8px 8px;
    }
    .log-dd-item {
        padding: 12px 16px; cursor: pointer; display: flex; align-items: center; gap: 10px;
        font-size: 0.95rem;
    }
    .log-dd-item:hover { background: var(--log-surface-muted); }

    /* Type Selector */
    .type-selector { display: flex; gap: 10px; margin-bottom: 1.5rem; flex-wrap: wrap; }
    .type-btn {
        flex: 1; border: 1px solid var(--log-border); border-radius: 8px;
        padding: 12px; text-align: center; cursor: pointer;
        font-weight: 600;
        color: color-mix(in srgb, var(--log-text) 70%, var(--log-border) 30%);
        background: var(--log-surface);
        transition: 0.2s; min-width: 100px;
        display: flex; align-items: center; justify-content: center; gap: 8px;
    }
    .type-btn:hover { background: var(--log-surface-muted); border-color: color-mix(in srgb, var(--log-border) 50%, var(--log-text) 50%); }
    input[type="radio"]:checked + .type-btn {
        border-color: var(--log-primary);
        background: color-mix(in srgb, var(--log-primary) 10%, var(--log-surface));
        color: var(--log-primary); box-shadow: 0 0 0 1px var(--log-primary);
    }

    /* --- SECTIONS --- */
    .logo-strip img {
        filter: grayscale(100%); opacity: 0.5; transition: 0.3s;
        max-height: 32px; width: auto;
    }
    .logo-strip img:hover { filter: grayscale(0%); opacity: 1; }
    
    .feature-card {
        background: var(--log-surface);
        padding: 2rem;
        border-radius: 12px;
        border: 1px solid var(--log-border);
        height: 100%;
        transition: transform 0.3s, box-shadow 0.3s;
    }
    .feature-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.05);
        border-color: var(--log-primary);
    }
    /* Solo landing welcome: non sovrascrivere .feature-icon dei piani pricing */
    .landing-feature-card .feature-icon {
        width: 64px; height: 64px;
        background: var(--theme-primary) !important;
        color: #fff;
        border-radius: 16px; display: grid; place-items: center; font-size: 1.75rem;
        margin-bottom: 1.5rem;
    }

    /* === PRICING === */
    .pricing-section {
        background: var(--log-surface);
        border-top: 1px solid var(--log-border);
        border-bottom: 1px solid var(--log-border);
    }

    .billing-toggle {
        display: inline-flex; align-items: center; padding: 4px;
        background: var(--log-surface-muted);
        border-radius: 999px;
        border: 1px solid var(--log-border);
    }
    .billing-btn {
        border: none; background: transparent; padding: 8px 20px;
        font-size: 0.9rem; font-weight: 600; border-radius: 999px;
        color: #64748b; cursor: pointer; transition: all 0.2s;
    }
    .billing-btn.active {
        background: color-mix(in srgb, var(--log-primary, #ff3028) 9%, transparent);
        color: var(--log-primary);
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--log-primary, #ff3028) 18%, transparent);
    }

    .pricing-card {
        position: relative;
        background: var(--log-surface);
        border-radius: 16px;
        border: 1px solid var(--log-border);
        padding: 2.5rem 2rem; height: 100%;
        display: flex; flex-direction: column; transition: all 0.3s;
        box-shadow: 0 10px 35px rgba(15, 23, 42, 0.06);
    }
    .pricing-card:hover {
        transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.08);
        border-color: var(--log-primary);
    }
    .pricing-card-featured {
        border: 2px solid var(--log-primary);
        box-shadow: 0 15px 30px color-mix(in srgb, var(--log-primary) 18%, transparent);
    }
    .badge-popular {
        position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
        padding: 6px 16px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
        background: var(--log-primary); color: #fff; border-radius: 999px;
        box-shadow: 0 4px 10px rgba(0, 70, 190, 0.3); letter-spacing: 0.5px;
    }

    .pricing-price-line { display: flex; align-items: baseline; gap: 4px; margin: 1rem 0 0.5rem; }
    .pricing-price-line .currency { font-size: 1.5rem; font-weight: 600; color: #111; }
    .pricing-price-line .price { font-size: 3rem; font-weight: var(--sw-weight-bold, 700); letter-spacing: -0.04em; color: #0f172a; line-height: 1; }
    .pricing-price-line .period { font-size: 0.9rem; color: #64748b; }

    .pricing-features { list-style: none; padding: 0; margin: 2rem 0 0; flex: 1; }
    .pricing-features li {
        display: flex; align-items: start; gap: 10px; font-size: 0.95rem;
        color: #4b5563; margin-bottom: 0.75rem;
    }
    .pricing-features i { color: #10b981; font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }

    /* --- MOBILE ADJUSTMENTS --- */
    /* Sezioni bianche → superficie tema */
    .landing-section-surface {
        background-color: var(--log-surface);
    }
    .landing-border-b {
        border-bottom: 1px solid var(--log-border) !important;
    }

    .landing-cta-banner {
        background: var(--log-cta-bg) !important;
        color: var(--log-hero-text, #fff);
    }
    .landing-cta-banner .landing-cta-btn {
        background: var(--log-hero-text, #ffffff) !important;
        color: var(--log-cta-bg) !important;
        border: none;
    }
    .landing-cta-banner .landing-cta-btn:hover {
        filter: brightness(0.96);
        color: var(--log-cta-bg) !important;
    }

    @media(max-width: 768px) {
        .hero-wrapper { padding-top: 60px; padding-bottom: 140px; clip-path: none; }
        .tool-container { margin-top: -100px; padding-left: 1rem; padding-right: 1rem; }
        
        .country-select .log-input-group {
            display: block !important; height: auto !important; overflow: hidden;
        }
        .country-select .log-select-btn {
            width: 100% !important; height: 50px !important;
            border-right: none !important; border-bottom: 1px solid var(--log-border) !important;
            border-radius: 8px 8px 0 0 !important;
        }
        .country-select .log-input {
            display: block !important; width: 100% !important; height: 50px !important;
            padding-left: 16px !important; border-radius: 0 0 8px 8px !important;
        }
        
        /* Fix dropdown position on mobile split input */
        .country-select .log-dropdown {
            top: 100px; /* Approximate height of split inputs */
            left: 0 !important; width: 100% !important;
        }
    }
