/* Terra Mia – area clienti e prenotazioni (usa i colori del tema) */
.tmp-form input, .tmp-form select, .tmp-form textarea { box-sizing: border-box; max-width: 100%; width: 100%; padding: 0.75rem 0.9rem; border: 1px solid rgba(42, 34, 29, .25); border-radius: 6px; background: #fff; font: inherit; color: inherit; }
.tmp-form input:focus, .tmp-form select:focus, .tmp-form textarea:focus { outline: 2px solid var(--wp--preset--color--primary, #A94A26); outline-offset: 1px; border-color: transparent; }
.tmp-form fieldset, .tmp-avviso, .tmp-scheda, .tmp-profilo-testa, .tmp-ricevuta, .tmp-accesso, .tmp-invio, .tmp-auth { box-sizing: border-box; }
.tmp-griglia > p { min-width: 0; }
.tmp-form { margin-top: 1rem; }
.tmp-form--stretto { max-width: 420px; }
.tmp-form p { margin: 0 0 1rem; }
.tmp-form label { display: block; font-weight: 600; margin-bottom: 0.35rem; }
.tmp-form small { display: block; margin-top: 0.3rem; color: var(--wp--preset--color--muted, #5C5047); font-size: 0.85rem; }
.tmp-form small.is-errore { color: #9b2c12; font-weight: 600; }
.tmp-form select { background: #FFFBF5; }
.tmp-griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 1.25rem; }
.tmp-check label { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; }
.tmp-check input { width: auto !important; margin-top: 0.3rem; padding: 0; }
.tmp-trappola { position: absolute !important; left: -9999px !important; }
.tmp-link { font-size: 0.95rem; color: var(--wp--preset--color--muted, #5C5047); }
.tmp-form button[type="submit"], .tmp-form .wp-element-button { border: 0; cursor: pointer; }

.tmp-avviso { padding: 0.9rem 1.1rem; border-radius: 10px; margin: 1rem 0; border: 1px solid; }
.tmp-avviso ul { margin: 0.4rem 0 0; padding-left: 1.2rem; }
.tmp-avviso--errore { background: #fbeae6; border-color: #e3b1a5; color: #6e1f0c; }
.tmp-avviso--ok { background: #e9f1e0; border-color: #b9cfa2; color: #2e3d1c; }
.tmp-avviso--info { background: #FFFBF5; border-color: #EADFCB; }

/* Modulo in passi */
.tmp-passo { border: 1px solid #EADFCB; border-radius: 14px; padding: 1.1rem 1.25rem 0.4rem; margin: 0 0 1.1rem; background: #FFFBF5; }
.tmp-passo legend { display: flex; align-items: center; gap: 0.55rem; padding: 0 0.4rem; font-family: var(--wp--preset--font-family--heading, serif); font-size: 1.25rem; font-weight: 600; }
.tmp-passo legend span { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--wp--preset--color--primary, #A94A26); color: #FFFBF5; font-family: var(--wp--preset--font-family--body, sans-serif); font-size: 0.95rem; }
.tmp-persone { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.4rem; }
.tmp-persone label { margin: 0; }
.tmp-persone input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tmp-persone span { display: inline-grid; place-items: center; width: 2.9rem; height: 2.9rem; border-radius: 50%; border: 1.5px solid rgba(42, 34, 29, .25); background: #fff; font-weight: 700; cursor: pointer; transition: all .15s ease; }
.tmp-persone input:checked + span { background: var(--wp--preset--color--primary, #A94A26); border-color: var(--wp--preset--color--primary, #A94A26); color: #FFFBF5; transform: scale(1.06); }
.tmp-persone input:focus-visible + span { outline: 2px solid var(--wp--preset--color--primary, #A94A26); outline-offset: 2px; }
.tmp-invio { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1.5rem; padding: 1rem 1.25rem; border-radius: 14px; background: var(--wp--preset--color--contrast, #2A221D); color: #F7F1E6; margin-bottom: 1rem; }
.tmp-invio .tmp-riassunto { margin: 0; }
.tmp-invio .tmp-riassunto:empty::before { content: "Scegli giorno, orario e persone"; opacity: .7; }
.tmp-invio button { background: #FFFBF5 !important; color: var(--wp--preset--color--primary-dark, #7E3418) !important; }

/* Schede prenotazione */
.tmp-schede { display: grid; gap: 0.75rem; margin: 1rem 0 1.5rem; }
.tmp-scheda { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.75rem 1.5rem; padding: 1rem 1.25rem; border: 1px solid #EADFCB; border-radius: 12px; background: #FFFBF5; }
.tmp-scheda__quando { display: grid; gap: 0.15rem; }
.tmp-scheda__quando strong { font-family: var(--wp--preset--font-family--heading, serif); font-size: 1.15rem; }
.tmp-scheda__note { font-size: 0.9rem; color: var(--wp--preset--color--muted, #5C5047); }
.tmp-scheda__stato { display: flex; align-items: center; gap: 1rem; }
.tmp-stato { display: inline-block; padding: 0.3rem 0.8rem; border-radius: 999px; font-size: 0.85rem; font-weight: 700; }
.tmp-stato--attesa { background: #fcefc7; color: #6b4e00; }
.tmp-stato--confermata { background: #dcefd9; color: #1f5a26; }
.tmp-stato--rifiutata { background: #f6dcd6; color: #8a1f11; }
.tmp-stato--annullata { background: #ebe6df; color: #5c5047; }
.tmp-annulla { color: #9b2c12; font-weight: 600; font-size: 0.9rem; }
.tmp-passate summary { cursor: pointer; font-weight: 600; margin-bottom: 0.5rem; }
.tmp-passate .tmp-scheda { opacity: .75; }
.tmp-vuoto { color: var(--wp--preset--color--muted, #5C5047); }

.tmp-profilo-testa { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; border-radius: 14px; background: #FFFBF5; border: 1px solid #EADFCB; }
.tmp-profilo-testa p { margin: 0; }
.tmp-saluto { font-size: 1.2rem; }
.tmp-esci { margin-left: 1rem; }

.tmp-ricevuta, .tmp-accesso { padding: 1.5rem; border-radius: 16px; background: #FFFBF5; border: 1px solid #EADFCB; }
.tmp-ricevuta__titolo, .tmp-accesso__titolo { font-family: var(--wp--preset--font-family--heading, serif); font-size: 1.6rem; font-weight: 600; margin: 0 0 0.5rem; }
.tmp-ricevuta__titolo::before { content: "✓"; display: inline-grid; place-items: center; width: 2rem; height: 2rem; margin-right: 0.6rem; border-radius: 50%; background: #55613A; color: #fff; font-size: 1.1rem; vertical-align: middle; }
.tmp-bottone-chiaro { background: transparent !important; color: var(--wp--preset--color--primary, #A94A26) !important; box-shadow: inset 0 0 0 2px currentColor; margin-left: 0.5rem; }
.tmp-link-secondario { margin-left: 1rem; }

/* Intro pagina prenotazioni */
.tmp-intro { margin: 0 0 1.5rem; }
.tmp-intro__passi { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.55rem; }
@media (min-width: 700px) {
	.tmp-intro__passi { grid-template-columns: repeat(3, 1fr); gap: 0.75rem; }
}
.tmp-intro__passi li { display: flex; align-items: center; gap: 0.55rem; padding: 0.75rem 0.9rem; border-radius: 12px; background: #FFFBF5; border: 1px solid #EADFCB; font-weight: 600; font-size: 0.95rem; }
.tmp-intro__passi span { display: inline-grid; place-items: center; flex-shrink: 0; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--wp--preset--color--primary, #A94A26); color: #FFFBF5; font-size: 0.85rem; }
.tmp-intro__info { margin: 0; padding-left: 1.1rem; color: var(--wp--preset--color--muted, #5C5047); font-size: 0.92rem; }
.tmp-intro__info li { margin: 0.2rem 0; }

.tmp-accesso__cta { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.tmp-accesso__cta .tmp-bottone-chiaro { margin-left: 0; }
.tmp-accesso__telefono { margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid #EADFCB; }
.tmp-accesso__telefono p { margin: 0 0 0.35rem; }
.tmp-telefono { font-family: var(--wp--preset--font-family--heading, serif); font-size: 1.45rem; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--primary, #A94A26); }

.tmp-banner-test { margin: 0 0 1.25rem; padding: 0.85rem 1.1rem; border-radius: 10px; background: #fff3cd; border: 1px solid #e6c86a; color: #5c4800; font-size: 0.95rem; }
.tmp-banner-test a { color: inherit; font-weight: 700; }
.tmp-test-azioni { margin: 1.25rem 0; padding: 1rem 1.15rem; border-radius: 12px; background: #fff8e8; border: 1px dashed #c9a227; }
.tmp-test-azioni__titolo { margin: 0 0 0.6rem; font-weight: 700; }
.tmp-test-azioni__form { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.5rem; }
.tmp-test-azioni__form .tmp-bottone-chiaro { margin-left: 0; }
.tmp-mail-log { margin: 1rem 0; font-size: 0.9rem; }
.tmp-mail-log ul { margin: 0.5rem 0 0; padding-left: 1.1rem; }
.tmp-ricevuta__azioni { margin-top: 1.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0; }
.tmp-ricevuta__azioni .tmp-link-secondario { margin-left: 0.75rem; }

/* Registrazione / Accedi */
.tmp-auth { max-width: none; width: 100%; }
.tmp-auth--stretto { max-width: 560px; }
.tmp-auth__intro { margin: 0 0 1.25rem; }
.tmp-auth__titolo { font-family: var(--wp--preset--font-family--heading, serif); font-size: clamp(1.6rem, 2.5vw, 2rem); font-weight: 600; margin: 0 0 0.4rem; }
.tmp-auth__intro > p { margin: 0 0 0.75rem; color: var(--wp--preset--color--muted, #5C5047); }
.tmp-auth__benefici { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.45rem; }
.tmp-auth__benefici li { padding: 0.35rem 0.75rem; border-radius: 999px; background: #FFFBF5; border: 1px solid #EADFCB; font-size: 0.85rem; font-weight: 600; }
.tmp-auth__form { margin-top: 0.5rem; }
.tmp-invio--auth .tmp-riassunto:empty { display: none; }
.tmp-invio--auth .tmp-riassunto:not(:empty)::before { content: none; }
.tmp-auth__footer { margin-top: 0.25rem; }

/* Area clienti / prenotazioni: usa tutta la colonna wide */
.tmp-intro,
.tmp-accesso,
.tmp-ricevuta,
.tmp-prenota,
.tmp-form.tmp-prenota,
.tmp-banner-test {
	max-width: none;
	width: 100%;
}
