/* Champagne Experience 2026 — stile Elementor, revisione 20260718 */
#ce26-registration-form {
  --ce26-bg: #ffffff;
  --ce26-card: #ffffff;
  --ce26-muted: #555;
  --ce26-text: #222;
  --ce26-accent: #cbaa5c;
  --ce26-error: #ff5c7a;
  --ce26-radius: 30px;
  width: 100%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ce26-bg);
  color: var(--ce26-text);
  font-family: "Montserrat", sans-serif;
  line-height: 1.45;
}
#ce26-registration-form *, #ce26-registration-form *::before, #ce26-registration-form *::after { box-sizing: border-box; }
#ce26-registration-form [hidden] { display: none !important; }
#ce26-registration-form .ce26-card { width: 100%; max-width: 860px; padding: 28px; border: 1px solid #ddd; border-radius: var(--ce26-radius); background: var(--ce26-card); }
#ce26-registration-form h2 { margin: 0 0 6px; color: var(--ce26-text); font-size: clamp(22px, 1.6rem, 32px); font-weight: 600; letter-spacing: .2px; line-height: 1.2; }
#ce26-registration-form .ce26-subtitle { margin: 0 0 22px; color: var(--ce26-muted); font-family: "Montserrat", sans-serif; line-height: 1.45; }
#ce26-registration-form .ce26-event-notice { display: block; box-sizing: border-box; margin: 0 0 22px; padding: 17px 19px !important; border: 1px solid rgba(200,166,92,.38) !important; border-left: 5px solid var(--ce26-accent) !important; border-radius: 12px; background: linear-gradient(135deg,#fffaf0 0%,#fff6df 100%); box-shadow: 0 7px 20px rgba(58,50,29,.07); color: #3a321d; font-family: "Montserrat", sans-serif; font-size: .9rem; line-height: 1.6; text-align: left; }
#ce26-registration-form .ce26-event-notice strong { margin-right: 3px; color: #6f5520; font-weight: 700; }
#ce26-registration-form .ce26-form { width: 100%; }
#ce26-registration-form .ce26-invitation-box { margin: 8px 0 4px; padding: 22px; border: 1px solid rgba(203,170,92,.55); border-radius: 18px; background: #fffaf0; }
#ce26-registration-form .ce26-invitation-box h3 { margin: 0 0 6px; color: var(--ce26-text); font-size: 1.18rem; }
#ce26-registration-form .ce26-invitation-box p { margin: 0 0 17px; color: var(--ce26-muted); font-size: .9rem; }
#ce26-registration-form .ce26-invitation-controls { display: flex; gap: 10px; align-items: stretch; }
#ce26-registration-form .ce26-invitation-controls input { flex: 1 1 auto; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
#ce26-registration-form .ce26-invitation-confirmed { margin: 0 0 18px; padding: 10px 13px; display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 1px solid #b9ddca; border-radius: 12px; background: #edf9f2; color: #0c6140; font-size: .82rem; }
#ce26-registration-form .ce26-confirmed-code { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; }
#ce26-registration-form .ce26-change-code { padding: 4px 0; border: 0; background: transparent; color: #0c6140; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
#ce26-registration-form .ce26-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
#ce26-registration-form .ce26-field { display: flex; min-width: 0; flex-direction: column; gap: 8px; }
#ce26-registration-form label { color: var(--ce26-muted); font-size: .92rem; }
#ce26-registration-form input:not([type="checkbox"]), #ce26-registration-form select {
  width: 100%; padding: 12px 14px; border: 1px solid #ccc; border-radius: 12px; outline: none;
  background: #f2f2f2; color: var(--ce26-text); font-family: "Montserrat", sans-serif; font-size: 1rem;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
#ce26-registration-form input::placeholder { color: #888; }
#ce26-registration-form input:not([type="checkbox"]):focus, #ce26-registration-form select:focus { border-color: var(--ce26-accent); background: #fff; box-shadow: 0 0 0 3px rgba(232,198,49,.25); }
#ce26-registration-form select { max-height: 48px; }
#ce26-registration-form select:disabled { opacity: .7; cursor: not-allowed; }
#ce26-registration-form .ce26-wide { grid-column: 1 / -1; }
#ce26-registration-form .ce26-hint { margin-top: 4px; color: var(--ce26-muted); font-family: "Montserrat", sans-serif; font-size: .75rem; line-height: 1.35; }
#ce26-registration-form .ce26-field-error { min-height: 1em; color: var(--ce26-error); font-family: "Montserrat", sans-serif; font-size: .9rem; }
#ce26-registration-form .ce26-checkbox-field { flex-direction: row; align-items: flex-start; gap: 10px; }
#ce26-registration-form .ce26-checkbox-copy { display: flex; flex: 1 1 auto; flex-direction: column; gap: 0; }
#ce26-registration-form input[type="checkbox"] { appearance: auto !important; -webkit-appearance: checkbox !important; width: auto; height: auto; margin: 3px 0 0; flex: 0 0 auto; }
#ce26-registration-form .ce26-gdpr-field { margin-top: -15px; opacity: .72; }
#ce26-registration-form .ce26-gdpr-field .ce26-checkbox-copy label { color: #777; font-size: .78rem; font-weight: 400; line-height: 1.45; }
#ce26-registration-form .ce26-gdpr-master { margin-top: 12px; padding: 12px 16px; align-items: center; border: 2px solid rgba(203,170,92,.75); border-radius: 14px; background: linear-gradient(180deg,#fff8e8 0%,#f8edd0 100%); opacity: 1; }
#ce26-registration-form .ce26-gdpr-master .ce26-checkbox-copy { justify-content: center; }
#ce26-registration-form .ce26-gdpr-master label { margin: 0; color: #3a321d; font-size: 1rem; font-weight: 700; line-height: 1.35; }
#ce26-registration-form .ce26-gdpr-master input[type="checkbox"] { margin-top: 1px; transform: scale(1.45); }
#ce26-registration-form .ce26-actions { margin-top: 16px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
#ce26-registration-form .ce26-submit, #ce26-registration-form .ce26-new-booking, #ce26-registration-form .ce26-validate-code {
  appearance: none !important; -webkit-appearance: none !important; padding: 12px 18px; border: none !important;
  border-radius: 30px; background: #d9ad26 !important; background-image: none !important; color: #fff !important;
  font-family: "Montserrat", sans-serif; font-weight: 700; cursor: pointer;
  transition: transform .08s ease, filter .2s ease, box-shadow .2s ease;
}
#ce26-registration-form .ce26-submit:hover, #ce26-registration-form .ce26-new-booking:hover, #ce26-registration-form .ce26-validate-code:hover { filter: brightness(1.05); }
#ce26-registration-form .ce26-submit:active, #ce26-registration-form .ce26-new-booking:active, #ce26-registration-form .ce26-validate-code:active { transform: translateY(1px); }
#ce26-registration-form button[disabled] { opacity: .6; cursor: not-allowed; }
#ce26-registration-form .ce26-status.ce26-error { margin-top: 14px; padding: 12px; border: 1px solid #fecaca; border-radius: 12px; background: #fef2f2; color: #991b1b; }
#ce26-registration-form .ce26-availability-loading { min-height: 72px; margin-top: 14px; display: flex; align-items: center; justify-content: center; }
#ce26-registration-form .ce26-availability-spinner { display: block; width: 34px; height: 34px; border: 3px solid #e5e7eb; border-top-color: var(--ce26-accent); border-radius: 50%; animation: ce26-spin .8s linear infinite; }
@keyframes ce26-spin { to { transform: rotate(360deg); } }
#ce26-registration-form .ce26-turnstile { margin-top: 16px; }
#ce26-registration-form .ce26-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
#ce26-registration-form .ce26-success { text-align: center; }
#ce26-registration-form .ce26-success p { color: var(--ce26-muted); }
#ce26-registration-form .ce26-success .ce26-event-notice { margin: 20px 0 0; color: #3a321d; }
#ce26-registration-form .ce26-success .ce26-new-booking { margin-top: 12px; }
@media (max-width: 480px) {
  #ce26-registration-form .ce26-event-notice { padding: 14px 15px !important; border-left-width: 4px !important; font-size: .86rem; }
  #ce26-registration-form .ce26-invitation-controls { flex-direction: column; }
  #ce26-registration-form .ce26-validate-code { width: 100%; }
  #ce26-registration-form .ce26-invitation-confirmed { align-items: flex-start; flex-direction: column; }
}
@media (min-width: 640px) {
  #ce26-registration-form .ce26-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
