.amep-shell {
--amep-ink: #211e1a;
--amep-muted: #6d665f;
--amep-paper: #fffdf9;
--amep-line: #e8e0d5;
--amep-accent: var(--am-premium-orange, #ff8a00);
--amep-accent-dark: var(--am-premium-coral, #ff4d38);
--amep-gold: var(--am-premium-orange, #ff8a00);
--amep-success: #216e4e;
box-sizing: border-box;
clear: both;
margin: clamp(2.5rem, 7vw, 6rem) auto;
max-width: 980px;
color: var(--amep-ink);
font-family: inherit;
}
.amep-shell *,
.amep-shell *::before,
.amep-shell *::after { box-sizing: border-box; }
.amep-card {
position: relative;
overflow: hidden;
padding: clamp(1.4rem, 4vw, 3.5rem);
border: 1px solid var(--amep-line);
border-radius: 22px;
background:
radial-gradient(circle at 100% 0, rgba(184, 138, 61, .12), transparent 34%),
var(--amep-paper);
box-shadow: 0 24px 70px rgba(44, 32, 18, .10);
}
.amep-card::before {
position: absolute;
inset: 0 auto 0 0;
width: 5px;
background: linear-gradient(180deg, var(--amep-gold), var(--amep-accent));
content: "";
}
.amep-header { max-width: 720px; margin-bottom: 2.2rem; }
.amep-eyebrow {
display: block;
margin-bottom: .7rem;
color: var(--amep-accent);
font-size: .76rem;
font-weight: 800;
letter-spacing: .14em;
text-transform: uppercase;
}
.amep-header h2,
.amep-cancel-card h2,
.amep-empty h2,
.amep-result h2 {
margin: 0 0 .8rem;
color: var(--amep-ink);
font-size: clamp(1.8rem, 4vw, 3rem);
line-height: 1.06;
letter-spacing: -.025em;
}
.amep-intro { color: var(--amep-muted); font-size: 1.05rem; line-height: 1.65; }
.amep-intro p:last-child { margin-bottom: 0; }
.amep-slots {
min-width: 0;
margin: 0 0 2.2rem;
padding: 0;
border: 0;
}
.amep-slots > legend {
display: block;
width: 100%;
margin-bottom: 1rem;
font-size: 1.1rem;
font-weight: 750;
}
.amep-day {
display: grid;
grid-template-columns: minmax(150px, .75fr) repeat(3, minmax(150px, 1fr));
gap: .7rem;
align-items: stretch;
margin-bottom: .8rem;
}
.amep-day h3 {
align-self: center;
margin: 0;
padding-right: .7rem;
font-size: .98rem;
line-height: 1.35;
text-transform: capitalize;
}
.amep-slot {
position: relative;
display: flex;
min-height: 76px;
flex-direction: column;
justify-content: center;
padding: .9rem 1rem .9rem 2.5rem;
border: 1px solid var(--amep-line);
border-radius: 13px;
background: rgba(255,255,255,.72);
cursor: pointer;
transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.amep-slot:hover { transform: translateY(-2px); border-color: #c8b9a7; box-shadow: 0 8px 20px rgba(40,30,20,.07); }
.amep-slot input {
position: absolute;
left: 1rem;
top: 50%;
width: 17px;
height: 17px;
margin: -8px 0 0;
accent-color: var(--amep-accent);
}
.amep-slot-time { font-size: .98rem; font-weight: 800; }
.amep-slot-state { margin-top: .24rem; color: var(--amep-muted); font-size: .76rem; line-height: 1.25; }
.amep-slot.is-selected { border-color: var(--amep-accent); box-shadow: 0 0 0 2px rgba(255,138,0,.16); }
.amep-slot.is-full:not(.is-disabled) { border-color: #d8b477; background: #fff9ec; }
.amep-slot.is-full:not(.is-disabled) .amep-slot-state { color: #8b5c0d; font-weight: 700; }
.amep-slot.is-disabled { opacity: .56; cursor: not-allowed; }
.amep-slot.is-disabled:hover { transform: none; box-shadow: none; }
.amep-fields {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1rem 1.2rem;
}
.amep-field label:not(.amep-check) {
display: block;
margin: 0 0 .42rem;
font-size: .88rem;
font-weight: 700;
}
.amep-field input:not([type=checkbox]),
.amep-field select,
.amep-field textarea {
width: 100%;
min-height: 48px;
margin: 0;
padding: .72rem .82rem;
border: 1px solid #cfc5b8;
border-radius: 9px;
background: #fff;
color: var(--amep-ink);
font: inherit;
line-height: 1.3;
transition: border-color .15s, box-shadow .15s;
}
.amep-field textarea { min-height: 108px; resize: vertical; }
.amep-field input:focus,
.amep-field select:focus,
.amep-field textarea:focus {
outline: 0;
border-color: var(--amep-accent);
box-shadow: 0 0 0 3px rgba(255,138,0,.16);
}
.amep-field-wide { grid-column: 1 / -1; }
.amep-check,
.amep-consent label {
display: flex;
gap: .7rem;
align-items: flex-start;
color: var(--amep-muted);
font-size: .88rem;
line-height: 1.5;
}
.amep-check input,
.amep-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: .12rem; accent-color: var(--amep-accent); }
.amep-consent {
margin-top: 1.4rem;
padding: 1rem 1.1rem;
border: 1px solid var(--amep-line);
border-radius: 10px;
background: rgba(255,255,255,.65);
}
.amep-consent a { color: var(--amep-accent); text-underline-offset: 2px; }
.amep-actions {
display: flex;
flex-wrap: wrap;
gap: .8rem;
align-items: center;
margin-top: 1.3rem;
}
.amep-submit { position: relative; }
.amep-submit:focus-visible { outline: 3px solid rgba(255,138,0,.32); outline-offset: 3px; }
.amep-submit:disabled { opacity: .72; cursor: wait; }
body:not(.am-theme-main--evento-singolo) .amep-submit {
display: inline-flex;
min-height: 50px;
align-items: center;
justify-content: center;
padding: .8rem 1.45rem;
border: 0;
border-radius: 999px;
background: linear-gradient(135deg, var(--amep-accent), var(--amep-accent-dark));
box-shadow: 0 10px 24px rgba(255,77,56,.24);
color: #fff;
font: inherit;
font-weight: 800;
cursor: pointer;
transition: transform .16s, box-shadow .16s;
}
body:not(.am-theme-main--evento-singolo) .amep-submit:hover {
transform: translateY(-1px);
box-shadow: 0 13px 30px rgba(255,77,56,.30);
}
body:not(.am-theme-main--evento-singolo) .amep-submit-danger { background: #9d1c2f; }
.amep-spinner {
display: none;
width: 18px;
height: 18px;
margin-left: .65rem;
border: 2px solid rgba(255,255,255,.42);
border-top-color: #fff;
border-radius: 50%;
animation: amep-spin .7s linear infinite;
}
.amep-submit.is-loading .amep-spinner { display: block; }
@keyframes amep-spin { to { transform: rotate(360deg); } }
.amep-required-note { margin: 0; color: var(--amep-muted); font-size: .76rem; }
.amep-form-message { margin-top: 1rem; font-size: .9rem; font-weight: 700; }
.amep-form-message.is-error { padding: .8rem 1rem; border-left: 4px solid #b42334; background: #fff0f2; color: #8b1425; }
.amep-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.amep-empty,
.amep-result { padding: clamp(1rem,3vw,2rem) 0; text-align: center; }
.amep-empty h2,
.amep-result h2 { font-size: clamp(1.6rem,4vw,2.4rem); }
.amep-empty p,
.amep-result p { color: var(--amep-muted); }
.amep-result-icon {
display: inline-grid;
width: 58px;
height: 58px;
place-items: center;
margin-bottom: 1.2rem;
border-radius: 50%;
background: #e3f4ec;
color: var(--amep-success);
font-size: 1.8rem;
font-weight: 800;
}
.amep-result-code { margin-top: 1.3rem; padding-top: 1.3rem; border-top: 1px solid var(--amep-line); }
.amep-cancel-card { max-width: 680px; margin-inline: auto; }
.amep-cancel-card p { color: var(--amep-muted); line-height: 1.6; }
@media (max-width: 860px) {
.amep-day { grid-template-columns: repeat(3, minmax(0,1fr)); }
.amep-day h3 { grid-column: 1 / -1; padding: .5rem 0 0; }
}
@media (max-width: 620px) {
.amep-shell { margin: 2.2rem auto; }
.amep-card { border-radius: 16px; }
.amep-fields { grid-template-columns: 1fr; }
.amep-field-wide { grid-column: auto; }
.amep-day { grid-template-columns: 1fr; }
.amep-day h3 { grid-column: auto; }
.amep-slot { min-height: 68px; }
.amep-actions { display: block; }
.amep-submit { width: 100%; }
.amep-required-note { margin: .7rem 0 0; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
.amep-shell *, .amep-shell *::before, .amep-shell *::after { scroll-behavior: auto !important; transition: none !important; animation-duration: .01ms !important; }
}