/* Tema del sito applicato alla Disubbidienza Challenge.
   Riprende forme, pulsanti e bordi del sito (static/css/style.css) senza toccare la struttura della challenge.
   Le regole guardano lo stile scritto negli elementi: per questo ogni selettore compare con e senza spazio. */

:root { --oro: #A46E1B; --verde: #293A2D; --crema: #F7E8DE; --carta: #FFFAF7; --bordo: rgba(164, 110, 27, .4); }
body { background: var(--crema) !important; }

/* Card e riquadri: angoli morbidi e filetto dorato come nel sito */
[style*="border-radius:6px"], [style*="border-radius: 6px"] { border-radius: 24px !important; }
[style*="border-radius:3px"], [style*="border-radius: 3px"] { border-radius: 18px !important; }
[style*="border:1px solid #E6CDB4"], [style*="border: 1px solid rgb(230, 205, 180)"],
[style*="border:1px solid #DDBFA6"], [style*="border: 1px solid rgb(221, 191, 166)"] { border-color: var(--bordo) !important; }
[style*="rgba(255,250,246,.6"], [style*="rgba(255, 250, 246, 0.6"], [style*="rgba(255,250,246,.75)"], [style*="rgba(255, 250, 246, 0.75)"] { background: var(--carta) !important; }

/* Pulsanti a pillola */
button[style*="border-radius:4px"], button[style*="border-radius: 4px"],
a[style*="border-radius:4px"], a[style*="border-radius: 4px"] { border-radius: 999px !important; }
button, a { transition: transform .15s ease, filter .15s ease, background .15s ease, color .15s ease, box-shadow .2s ease; }

/* Pulsante principale: oro con testo crema, come nel sito */
button[style*="background:#293a2d"], button[style*="background: rgb(41, 58, 45)"],
a[style*="background:#293a2d"], a[style*="background: rgb(41, 58, 45)"] {
  background: var(--oro) !important; color: var(--crema) !important; font-weight: 600 !important;
}
button[style*="background:#293a2d"]:hover, button[style*="background: rgb(41, 58, 45)"]:hover,
a[style*="background:#293a2d"]:hover, a[style*="background: rgb(41, 58, 45)"]:hover { transform: translateY(-2px); filter: brightness(1.12); }
button:not([disabled]):hover { transform: translateY(-1px); }

/* Pulsanti secondari con bordo: pieni al passaggio del mouse */
button[style*="border:1px solid #293a2d"]:hover, button[style*="border: 1px solid rgb(41, 58, 45)"]:hover,
a[style*="border:1px solid #293a2d"]:hover, a[style*="border: 1px solid rgb(41, 58, 45)"]:hover { background: var(--verde) !important; color: var(--crema) !important; }

/* Campi dei moduli */
input[type="text"], input[type="email"], input[type="password"], input:not([type]), textarea {
  border-radius: 12px !important; border-color: var(--bordo) !important; transition: border-color .15s ease, box-shadow .15s ease;
}
input:focus, textarea:focus { outline: none !important; border-color: var(--oro) !important; box-shadow: 0 0 0 3px rgba(164, 110, 27, .15) !important; }

/* Card che si sollevano al passaggio del mouse (solo dove c'è un riquadro con bordo) */
.ts-card { transition: transform .25s ease, box-shadow .25s ease; }
.ts-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -18px rgba(41, 58, 45, .35); }

/* Elementi che compaiono scorrendo */
.ts-js .ts-rivela { opacity: 0; transform: translateY(24px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--ts-ritardo, 0s); }
.ts-js .ts-rivela.ts-visibile { opacity: 1; transform: none; }
.ts-js .ts-foto { opacity: 0; transform: scale(.97); transition: opacity 1s ease, transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.ts-js .ts-foto.ts-visibile { opacity: 1; transform: none; }

/* Riepiloghi a tendina con apertura morbida */
details > summary { transition: color .15s ease; }
details[open] > summary { color: var(--oro); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .ts-js .ts-rivela, .ts-js .ts-foto { opacity: 1; transform: none; }
}

/* Testi giustificati senza buchi tra le parole, soprattutto da telefono */
p { -webkit-hyphens: auto; hyphens: auto; }

/* Corsivi come nel sito: oro scuro in leggero rilievo */
[style*="Parisienne"] { color: #8A5A12 !important; text-shadow: 0 1px 0 rgba(255, 250, 240, .9), 0 2px 4px rgba(122, 80, 15, .28); }
