/* ==========================================================================
   Capsula del Tempo — Frontend CSS (minimal: layout/structure only)
   Colors and fonts inherit from the site theme.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Custom properties — only functional/layout values kept
   -------------------------------------------------------------------------- */
:root {
  /* Status colors (functional feedback) */
  --cdt-error:           #c0392b;
  --cdt-error-bg:        #fdf0ee;
  --cdt-success:         #1a6b2a;
  --cdt-success-bg:      #f0faf2;
  --cdt-warning:         #8a6400;
  --cdt-warning-bg:      #fffae6;
  --cdt-info:            #1a4a8a;
  --cdt-info-bg:         #eef4ff;

  /* Structural */
  --cdt-border:          #E2C89E80;
  --cdt-radius:          8px;
  --cdt-radius-lg:       16px;
  --cdt-shadow:          0 2px 8px rgba(0,0,0,.08);
  --cdt-shadow-lg:       0 8px 32px rgba(0,0,0,.12);
  --cdt-transition:      0.2s ease;
  --cdt-max-width:       720px;
  --cdt-step-size:       50px;
}

/* --------------------------------------------------------------------------
   Base container
   -------------------------------------------------------------------------- */
.cdt-wizard-wrap,
.cdt-open-section,
.cdt-verify-section,
.cdt-gdpr-section,
.cdt-hero,
.cdt-cta-section {
  max-width: var(--w-container-stretto);
  margin: 0 auto;
  padding: 40px 40px;
}

.cdt-open-section {
  background: white;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.cdt-hero {
  text-align: center;
  padding: 60px 16px 40px;
  max-width: none;
}

.cdt-hero__title {
  margin: 0 0 12px;
  line-height: 1.2;
}

.cdt-hero__subtitle {
  margin: 0 auto;
  max-width: 560px;
  line-height: 1.6;
}

.cdt-hero__image {
  margin-top: 32px;
}

.cdt-hero__image img {
  max-height: 400px;
  width: 100%;
  object-fit: cover;
  border-radius: var(--cdt-radius-lg);
}

/* --------------------------------------------------------------------------
   Progress bar
   -------------------------------------------------------------------------- */
.cdt-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 0px;
  gap: 0;
}

.cdt-progress__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  position: relative;
  flex: 1;
}

.cdt-progress__step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: calc(var(--cdt-step-size) / 2);
  left: calc(50% + var(--cdt-step-size) / 2);
  right: calc(-50% + var(--cdt-step-size) / 2);
  height: 1px;
  background: var(--cdt-border);
  z-index: 0;
}

.cdt-progress__step--completed:not(:last-child)::after {
  background: currentColor;
  opacity: .4;
}

.cdt-progress__dot {
  width: var(--cdt-step-size);
  height: var(--cdt-step-size);
  border-radius: 50%;
  background: white;
  border: 1px solid var(--cdt-border);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  transition: border-color var(--cdt-transition), opacity var(--cdt-transition);
  height: 50px;
  width: 50px;
  opacity: 0.5;
}

.cdt-progress__dot svg,
.cdt-progress__dot img {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.cdt-progress__step--active .cdt-progress__dot,
.cdt-progress__step--completed .cdt-progress__dot {
    border-color: #E2C89E;
    background-color: #E2C89E;
    box-shadow: 0 0 0 4px rgb(255 255 255 / 30%);
    opacity: 1;
}

.cdt-progress__label {
    text-align: center;
    font-size: 14px;
    white-space: nowrap;
    letter-spacing: -0.28px;
    font-weight: 400;
    opacity: 0.5;
}

.cdt-progress__step--active .cdt-progress__label,
.cdt-progress__step--completed .cdt-progress__label {
  font-weight: 600;
  opacity: 1;
}

/* --------------------------------------------------------------------------
   Wizard steps
   -------------------------------------------------------------------------- */
.cdt-wizard-steps {
  padding: 32px 0;
}

.cdt-step {
  display: none;
  animation: cdtFadeIn .2s ease;
}

.cdt-step--active {
    display: block;
    width: var(--w-container-stretto);
    background: white;
    margin: auto;
    border-radius: 8px;
    padding: 40px;
}

.cdt-step__title {
  margin: 0 0 8px;
}

.cdt-step__subtitle {
  line-height: 1.5;
}

/* --------------------------------------------------------------------------
   Form elements
   -------------------------------------------------------------------------- */
.cdt-form-group {
  margin-bottom: 20px;
}

.cdt-field {
  margin-bottom: 16px;
}

.cdt-label {
    display: block;
    font-size: 14px;
    text-align: left;
    margin-bottom: 6px;
    font-weight: 600;
    opacity: 0.8;
}

.cdt-label--checkbox {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  margin-bottom: 0;
}

.cdt-label--checkbox input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 3px;
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.cdt-required {
  color: var(--cdt-error);
  margin-left: 2px;
}

.cdt-input,
.cdt-textarea,
.cdt-select {
  display: block;
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--cdt-border);
  border-radius: var(--cdt-radius);
  transition: border-color var(--cdt-transition), box-shadow var(--cdt-transition);
  box-sizing: border-box;
}

.cdt-input:focus,
.cdt-textarea:focus,
.cdt-select:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(0,0,0,.06);
}

.cdt-input--code {
  font-family: 'Courier New', monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cdt-textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.6;
}

.cdt-textarea--small {
  min-height: 80px;
}

.cdt-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23666' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 36px;
}

.cdt-char-count {
    text-align: right;
    margin-top: 4px;
    display: flex;
    flex-direction: row;
    justify-content: end;
    font-size: 12px;
    font-weight: 500;
    opacity: 0.5;
}

.cdt-char-count--over {
  color: var(--cdt-error);
  font-weight: 600;
}

.cdt-field-error {
    display: block;
    color: var(--cdt-error);
    margin-top: 4px;
    font-size: 12px;
    background: #c0392b1a;
    border: 1px solid #c0392ba3;
    border-radius: 8px;
    padding: 5px 15px;
    font-weight: 500;
    width: max-content;
}

.cdt-field-error:empty,
.cdt-field-error[hidden] {
  display: none;
  margin: 0;
}

.cdt-field-hint {
  display: block;
  margin-top: 10px;
  line-height: 1.4;
  font-size: 12px;
  opacity: 0.8;
}

/* Input with error */
.cdt-input.cdt-is-invalid,
.cdt-textarea.cdt-is-invalid {
  border-color: var(--cdt-error);
}

/* Input verified state */
.cdt-input.cdt-is-verified {
  border-color: var(--cdt-success);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%231a6b2a'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px;
  padding-right: 40px;
}

/* --------------------------------------------------------------------------
   Phone field
   -------------------------------------------------------------------------- */
.cdt-phone-wrap {
  display: flex;
  gap: 8px;
}

.cdt-phone-prefix {
  width: 80px;
  flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   Upload areas
   -------------------------------------------------------------------------- */
.cdt-upload-area {
  border: 2px dashed var(--cdt-border);
  border-radius: var(--cdt-radius-lg);
  padding: 32px 16px;
  text-align: center;
  cursor: pointer;
  transition: border-color var(--cdt-transition);
  position: relative;
}

.cdt-upload-area:hover,
.cdt-upload-area--drag-over {
  border-color: currentColor;
}

/* Griglia immagine + audio + video affiancati su desktop */
.cdt-media-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}

@media (max-width: 900px) {
  .cdt-media-row {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .cdt-media-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.cdt-upload-area--uploaded {
  border-style: solid;
  border-color: var(--accent-color);
  padding: 0;
  overflow: hidden;
}

.cdt-upload-hint, .cdt-upload-text, .cdt-upload-hint {
    font-size:14px;
    font-weight:500;
    
}


.cdt-upload-area--uploaded .cdt-upload-label,
.cdt-upload-area--uploaded input[type="file"] {
  display: none;
}

.cdt-upload-area--uploaded .cdt-upload-file-name {
  display: block;
  padding: 6px 12px;
  background: rgba(0, 0, 0, .52);
  color: #fff;
  font-size: .78rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

.cdt-upload-area input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
}

.cdt-upload-icon {
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto 12px;
}

.cdt-upload-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cdt-btn-icon {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.cdt-upload-text {
  line-height: 1.5;
}

.cdt-upload-hint {
  margin-top: 6px;
}

.cdt-upload-preview {
  margin-top: 16px;
}

.cdt-upload-area--uploaded .cdt-upload-preview {
  margin-top: 0;
  background: transparent;
}

.cdt-upload-preview img {
  max-height: 160px;
  max-width: 100%;
  border-radius: var(--cdt-radius);
  object-fit: contain;
}

.cdt-upload-area--uploaded .cdt-upload-preview img {
  width: 100%;
  height: auto;
  max-height: none;
  max-width: none;
  object-fit: cover;
  border-radius: 0;
  display: block;
}

.cdt-upload-file-name {
  margin-top: 8px;
}

/* Progress upload */
.cdt-upload-progress {
  height: 4px;
  background: var(--cdt-border);
  border-radius: 2px;
  margin-top: 12px;
  overflow: hidden;
}

.cdt-upload-progress__bar {
  height: 100%;
  width: 0;
  background: currentColor;
  border-radius: 2px;
  transition: width .3s ease;
}

.cdt-upload-progress__text {
  margin-top: 4px;
  font-style: italic;
}

/* --------------------------------------------------------------------------
   Date picker section
   -------------------------------------------------------------------------- */
.cdt-date-presets {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.cdt-preset-btn {
    flex: 1;
    min-width: 100px;
    padding: 16px 16px;
    border: 1.5px solid var(--cdt-border);
    border-radius: 60px;
    cursor: pointer;
    transition: all var(--cdt-transition);
    text-align: center;
    background: white;
    font-weight: 600;
}

.cdt-preset-btn:hover {
  border-color: currentColor;
}

.cdt-preset-btn--active {
  border-color: currentColor;
  font-weight: 600;
}

.cdt-date-input-wrap {
  position: relative;
}
.cdt-summary__label, .cdt-summary__value {
    font-size:14px;
    width: max-content;
}

.cdt-summary__value {
    text-align:right;
}


.cdt-date-sleep-text {
  padding: 16px 0;
  text-align: center;
  min-height: 2em;
  transition: opacity var(--cdt-transition);
}

.cdt-date-sleep-text--active {
  opacity: 1;
}

.cdt-date-sleep-text__date {
  font-weight: 500;
}

/* --------------------------------------------------------------------------
   Summary (step 5)
   -------------------------------------------------------------------------- */
.cdt-summary {
    border: 1px solid var(--cdt-border);
    border-radius: var(--cdt-radius-lg);
    padding: 24px;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}


.cdt-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid var(--cdt-border);
  gap: 16px;
}

.cdt-summary__row:last-child {
  border-bottom: none;
}

.cdt-summary__label {
  font-weight: 600;
  flex-shrink: 0;
  width: 120px;
}

.cdt-summary__value {
  text-align: right;
}

/* --------------------------------------------------------------------------
   Checkbox custom
   -------------------------------------------------------------------------- */
.cdt-checkbox-wrap {
  margin-bottom: 8px;
}

.cdt-checkbox-label {
    font-size: 14px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    line-height: 1.5;
    font-weight: 400;
}

.cdt-checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.cdt-checkbox__custom {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--cdt-border);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--cdt-transition);
  margin-top: 2px;
}

.cdt-checkbox:checked + .cdt-checkbox__custom {
  border-color: currentColor;
  opacity: .8;
}

.cdt-checkbox:focus + .cdt-checkbox__custom {
  box-shadow: 0 0 0 3px rgba(0,0,0,.1);
}

.cdt-tick {
  width: 12px;
  height: 10px;
  opacity: 0;
  transition: opacity var(--cdt-transition);
}

.cdt-checkbox:checked ~ .cdt-checkbox__custom .cdt-tick {
  opacity: 1;
}

/* Radio */
.cdt-radio-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cdt-radio-group--horizontal {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
}

.cdt-radio-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.cdt-radio {
  width: 16px;
  height: 16px;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.cdt-btn {
  display: inline-flex;
  align-items: inherit;
  justify-content: flex-start;
  gap: 8px;
  padding: 11px 24px;
  border: 1.5px solid transparent;
  border-radius: var(--cdt-radius);
  cursor: pointer;
  transition: all var(--cdt-transition);
  text-decoration: none;
  white-space: nowrap;
}

.cdt-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
  pointer-events: none;
}

.cdt-step-nav .cdt-btn.btn,
.cdt-refuse-form__actions .cdt-btn.btn,
.cdt-capsule-actions .cdt-btn.btn {
  font-family: var(--family-btn-s1, inherit);
  letter-spacing: var(--spacing-btn-s1, normal);
  font-weight: var(--weight-btn-s1, 600);
  text-transform: var(--transform-btn-s1, none);
  font-size: var(--size-btn-s1, 1rem);
  line-height: var(--lineH-btn-s1, 1.2);
  padding: var(--padding-btn-s1, 15px 30px);
  margin: var(--margin-btn-s1, 0);
  border-radius: var(--radius-btn-s1, var(--cdt-radius));
  border-width: var(--border-btn-s1, 0);
  border-style: solid;
  position: relative;
  overflow: hidden;
  transition: color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}

.cdt-step-nav .cdt-btn.btn::before,
.cdt-refuse-form__actions .cdt-btn.btn::before,
.cdt-capsule-actions .cdt-btn.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
}

.cdt-step-nav .cdt-btn.btn:hover::before,
.cdt-refuse-form__actions .cdt-btn.btn:hover::before,
.cdt-capsule-actions .cdt-btn.btn:hover::before {
  opacity: 1;
}

.cdt-step-nav .cdt-btn.btn .cdt-btn__text,
.cdt-refuse-form__actions .cdt-btn.btn .cdt-btn__text,
.cdt-capsule-actions .cdt-btn.btn .cdt-btn__text {
  position: relative;
  z-index: 2;
}

.cdt-step-nav .cdt-btn.btn-style-1,
.cdt-refuse-form__actions .cdt-btn.btn-style-1,
.cdt-capsule-actions .cdt-btn.btn-style-1 {
  color: var(--color-btn-type-1, #200e03);
  border-color: var(--border-btn-type-1, #e2c89e);
  background-color: var(--bg-top-btn-type-1, #e2c89e);
  background-image: linear-gradient(
    180deg,
    var(--bg-top-btn-type-1, #e2c89e) 0%,
    var(--bg-bottom-btn-type-1, var(--bg-top-btn-type-1, #e2c89e)) 100%
  );
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--border-btn-type-1-h, #e2bd7c) 30%, transparent);
}

.cdt-step-nav .cdt-btn.btn-style-1:hover,
.cdt-refuse-form__actions .cdt-btn.btn-style-1:hover,
.cdt-capsule-actions .cdt-btn.btn-style-1:hover {
  color: var(--color-btn-type-1-h, #200e03);
  border-color: var(--border-btn-type-1-h, #e2bd7c);
  background-color: var(--bg-top-btn-type-1, #e2c89e);
  background-image: linear-gradient(
    180deg,
    var(--bg-top-btn-type-1, #e2c89e) 0%,
    var(--bg-bottom-btn-type-1, var(--bg-top-btn-type-1, #e2c89e)) 100%
  );
}

.cdt-step-nav .cdt-btn.btn-style-1::before,
.cdt-refuse-form__actions .cdt-btn.btn-style-1::before,
.cdt-capsule-actions .cdt-btn.btn-style-1::before {
  background-color: var(--bg-top-btn-type-1-h, #e2bd7c);
  background-image: linear-gradient(
    180deg,
    var(--bg-top-btn-type-1-h, #e2bd7c) 0%,
    var(--bg-bottom-btn-type-1-h, var(--bg-top-btn-type-1-h, #e2bd7c)) 100%
  );
}

.cdt-step-nav .cdt-btn.btn-style-2 {
  color: var(--color-btn-type-2, #191919);
  border-color: var(--border-btn-type-2, rgba(237,229,218,.3));
  background-color: var(--bg-top-btn-type-2, #ede5da);
  background-image: linear-gradient(
    180deg,
    var(--bg-top-btn-type-2, #ede5da) 0%,
    var(--bg-bottom-btn-type-2, #ede5da) 100%
  );
  box-shadow: 0 0 0 3px #e9e9e930;
}

.cdt-step-nav .cdt-btn.btn-style-2:hover {
  color: var(--color-btn-type-2-h, #191919);
  border-color: var(--border-btn-type-2-h, #191919);
  background-color: var(--bg-top-btn-type-2, #ede5da);
  background-image: linear-gradient(
    180deg,
    var(--bg-top-btn-type-2, #ede5da) 0%,
    var(--bg-bottom-btn-type-2, #ede5da) 100%
  );
}

.cdt-step-nav .cdt-btn.btn-style-2::before {
  background-color: var(--bg-top-btn-type-2-h, rgba(237,229,218,.1));
  background-image: linear-gradient(
    180deg,
    var(--bg-top-btn-type-2-h, rgba(237,229,218,.1)) 0%,
    var(--bg-bottom-btn-type-2-h, rgba(237,229,218,.1)) 100%
  );
}

.cdt-btn--cta {
  background: #C4A573;
  border-color: #C4A573;
  color: #1a0a00;
}

.cdt-btn--cta:hover {
  background: #B5945E;
  border-color: #B5945E;
  color: #1a0a00;
}

.cdt-btn--full {
  width: 100%;
}

.cdt-btn--large {
  padding: 14px 32px;
}

.cdt-btn--small {
  padding: 6px 14px;
  background: var(--bg-bottom-btn-type-3);
  border: 1px solid var(--bg-bottom-btn-type-4);
}


.cdt-btn--small  {
    color:#333!important;
    font-size:14px;
    align-items: center;
    font-weight:500;
}

.cdt-btn--small  span::before {
    color:#333!important;
    font-size:24px;
}

.cdt-btn .cdt-btn__spinner {
  display: none !important;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: cdtSpin .7s linear infinite;
}

.cdt-btn.cdt-btn--loading .cdt-btn__spinner {
  display: inline-block !important;
}

.cdt-btn--loading .cdt-btn__text {
  opacity: .7;
}

/* Step nav buttons */
.cdt-step-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--cdt-border);
}

/* --------------------------------------------------------------------------
   Notices
   -------------------------------------------------------------------------- */
.cdt-notice {
  display: flex;
  gap: 10px;
  padding: 12px 16px;
  border-radius: var(--cdt-radius);
  line-height: 1.5;
  margin: 16px 0;
}

.cdt-notice--error {
  background: var(--cdt-error-bg);
  color: var(--cdt-error);
  border: 1px solid #f5c6c2;
}

.cdt-notice--success {
  background: var(--cdt-success-bg);
  color: var(--cdt-success);
  border: 1px solid #b3dfc0;
}

.cdt-notice--warning {
  background: var(--cdt-warning-bg);
  color: var(--cdt-warning);
  border: 1px solid #ffe4a0;
}

.cdt-notice--info {
  background: var(--cdt-info-bg);
  color: var(--cdt-info);
  border: 1px solid #b3ccf0;
}

.cdt-notice__icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
}

/* --------------------------------------------------------------------------
   Legal consents
   -------------------------------------------------------------------------- */
.cdt-legal-consents {
  border: 1px solid var(--cdt-border);
  border-radius: var(--cdt-radius);
  padding: 20px;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* --------------------------------------------------------------------------
   Link button
   -------------------------------------------------------------------------- */
.cdt-link {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  font-size: inherit;
  font-family: inherit;
}


@media screen and (max-width:600px) {
.cdt-segment {
    flex-direction: column;
    border-radius: 24px;
    border: 0;
}

button#cdt-toggle-self {
    border: 1px solid var(--accent-color);
    border-radius: 50px;
    margin-bottom: 10px;
}

.cdt-summary__row {
    flex-direction: column;
}

.cdt-summary__value {
    text-align: left;
    width: 100%;
}

div#cdt-recipient-toggle {
    border: 0;
    border-radius: 0;
}

}

/* --------------------------------------------------------------------------
   Request code page
   -------------------------------------------------------------------------- */
.cdt-request-code {
  width: 99%;
  max-width: 800px;
  margin: auto;
  padding: 20px 40px 40px;
  background: #fff;
  border-radius: 8px;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}

.lp-capsula-tempo .title-container {
    max-width: 800px;
    background: white;
    border-radius: 10px;
}

.lp-capsula-tempo .title-container h1 {
    font-size: 50px;
    color: #333 ! Important;
    margin: 0;
    padding-top: 40px;
}
.lp-capsula-tempo #breadcrumb {
    display: none;
}

@media screen and (max-width: 967px) {
    .lp-capsula-tempo .title-container h1 {
        font-size:30px;
    }
}

button#cdt-capsule-report-btn {
    margin-top: 10px;
    width: 100%;
    background-color: #fef1f1;
    border-color: #e5aaaa;
    color: #8d2d2d !important;
}


.cdt-request-code__wrap {
  background: #fff;
}

.cdt-request-code,
.cdt-request-code :where(h1, h2, h3, h4, h5, h6, p, label, label span, a:not(.cdt-btn), button.cdt-link, input, textarea, select) {
  color: #333333 !important;
}

.cdt-request-code .cdt-input::placeholder {
  color: rgba(51, 51, 51, .65);
}

.cdt-request-code .cdt-step__body {
  margin-top: 50px;
}

.cdt-request-code .cdt-input {
  padding: 10px 20px !important;
  border-color: rgb(189 146 86 / 30%);
  background: #F8F5F0;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
}

.cdt-request-code .cdt-input:focus {
  border-color: var(--accent-color, #bd9256);
  background: #F8F5F0;
}

.cdt-request-code .cdt-btn.btn-style-1 {
  width: 100%;
  margin-top: 8px;
  color: var(--color-btn-type-1, #200e03);
  border-color: var(--border-btn-type-1, #e2c89e);
  background-color: var(--bg-top-btn-type-1, #e2c89e);
  background-image: linear-gradient(
    180deg,
    var(--bg-top-btn-type-1, #e2c89e) 0%,
    var(--bg-bottom-btn-type-1, var(--bg-top-btn-type-1, #e2c89e)) 100%
  );
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--border-btn-type-1-h, #e2bd7c) 30%, transparent);
  font-family: var(--family-btn-s1, inherit);
  letter-spacing: var(--spacing-btn-s1, normal);
  font-weight: var(--weight-btn-s1, 600);
  text-transform: var(--transform-btn-s1, none);
  font-size: var(--size-btn-s1, 1rem);
  line-height: var(--lineH-btn-s1, 1.2);
  padding: var(--padding-btn-s1, 15px 30px);
  border-width: var(--border-btn-s1, 0);
  border-style: solid;
}

.cdt-request-code .cdt-btn.btn-style-1:hover {
  color: var(--color-btn-type-1-h, #200e03);
  border-color: var(--border-btn-type-1-h, #e2bd7c);
  background-color: var(--bg-top-btn-type-1-h, #e2bd7c);
  background-image: linear-gradient(
    180deg,
    var(--bg-top-btn-type-1-h, #e2bd7c) 0%,
    var(--bg-bottom-btn-type-1-h, var(--bg-top-btn-type-1-h, #e2bd7c)) 100%
  );
}

/* --------------------------------------------------------------------------
   Modals
   -------------------------------------------------------------------------- */
.cdt-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.cdt-modal[hidden] {
  display: none;
}

.cdt-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(2px);
}

.cdt-modal__box {
  position: relative;
  background: Canvas;
  text-align: center;
  color: CanvasText;
  border-radius: var(--cdt-radius-lg);
  box-shadow: var(--cdt-shadow-lg);
  padding: 50px 32px;
  max-width: 560px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  animation: cdtSlideUp .2s ease;
}

.cdt-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  display: flex;
  transition: opacity var(--cdt-transition);
}

.cdt-modal__close:hover {
  opacity: .7;
}

.cdt-modal__close svg {
  width: 20px;
  height: 20px;
}

.cdt-modal__title {
  margin: 0 0 8px;
}

/* Contenuto testo della modale legale */
.cdt-modal__content {
  line-height: 1.7;
  max-height: 60vh;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.cdt-modal__content p,
.cdt-modal__content ul,
.cdt-modal__content ol {
  margin: 0 0 12px;
}

.cdt-modal__subtitle {
  margin: 0 0 24px;
  line-height: 1.5;
}

.cdt-modal__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 24px;
  flex-wrap: wrap;
}

.cdt-modal__legal-content {
  max-height: 60vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px;
  border: 1px solid var(--cdt-border);
  border-radius: var(--cdt-radius);
  line-height: 1.7;
}

/* --------------------------------------------------------------------------
   Success animation (seal)
   -------------------------------------------------------------------------- */
.cdt-success-section {
  text-align: center;
  padding: 48px 16px;
  display: none;
}

.cdt-success-section--visible {
  display: block;
  animation: cdtFadeIn .4s ease;
}

.cdt-seal-animation {
  width: 120px;
  height: 120px;
  margin: 0 auto 24px;
}

.cdt-envelope {
  opacity: 0;
}

.cdt-envelope--visible {
  animation: cdtEnvelopeAppear .5s ease forwards;
}

.cdt-lock {
  opacity: 0;
}

.cdt-lock--snap {
  animation: cdtLockSnap .3s ease .5s forwards;
}

.cdt-particles {
  position: absolute;
  pointer-events: none;
}

.cdt-success-title {
  margin: 0 0 12px;
}

.cdt-success-text {
  max-width: 420px;
  margin: 0 auto 24px;
  line-height: 1.7;
}

.cdt-under-review-section {
  display: none;
  text-align: center;
  padding: 48px 16px;
}

.cdt-under-review-section--visible {
  display: block;
  animation: cdtFadeIn .4s ease;
}

/* --------------------------------------------------------------------------
   Open page
   -------------------------------------------------------------------------- */
.cdt-open-form {
  padding: 40px 0;
}

.cdt-open-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
}

.cdt-hero.cdt-hero--open {
    display: none;
}

input#cdt-open-code, input {
    font-family: 'Poppins';
    text-transform: none;
    letter-spacing: 0;
}

.cdt-open-form__title {
  text-align: center;
  margin: 0 0 8px;
}

.cdt-open-form__subtitle {
  text-align: center;
  margin: 0 0 32px;
  line-height: 1.6;
}

.cdt-open-form__note {
    text-align: center;
    margin-top: 16px;
    font-size: 12px;
    font-weight: 500;
    opacity: 1;
}

button#cdt-open-submit {
    margin: 30px 0;
}


.cdt-capsule-download-btns span ::before {
    color: #333;
    font-size: 25px;
}

.dettagli-account {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.dettagli-account span, .dettagli-account p {
    font-size: 16px;
    font-weight: 500;
    color: #333;
    margin-top: 16px;
}

.container-capsula-cont {
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.sinistra-caps-cont {
    width: 33%;
}

.destra-caps-cont {
    width: 60%;
}

/* Capsule content display */
.cdt-capsule-header {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 24px;
    text-align: center;
    border-radius: var(--cdt-radius-lg);
    margin-bottom: 32px;
    justify-content: center;
}

p#cdt-capsule-retention-text {
    margin: 0;
    font-size: 14px;
}


.cdt-capsule-section-title {
    font-family: 'Poppins';
    font-weight: 600;
    font-size: 15px;
    color: #333;
}
.cdt-capsule-header__badge {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.cdt-capsule-header__title {
  margin: 0 0 4px;
}

.cdt-capsule-header__from,
.cdt-capsule-header__date {
  margin: 0;
}

.cdt-capsule-text-wrap,
.cdt-capsule-image-wrap,
.cdt-capsule-audio-wrap {
  margin-bottom: 32px;
}

.cdt-capsule-section-title {
  border-bottom: 1px solid var(--cdt-border);
  padding-bottom: 8px;
  margin-bottom: 16px;
}

.cdt-capsule-text {
    line-height: 1.4;
    font-size: 16px;
    white-space: pre-wrap;
    padding: 20px;
    background: var(--background-color-body);
    border-radius: var(--cdt-radius);
    border: 1px solid var(--bg-bottom-btn-type-3);
}

.cdt-capsule-figure__caption {
    margin-top: 6px;
    font-size: 12px;
    font-style: italic;
    font-weight: 500;
    color: #333;
}

.cdt-capsule-figure {
  margin: 0;
}

.cdt-capsule-image {
  max-width: 100%;
  border-radius: var(--cdt-radius);
}

.cdt-capsule-figure__caption {
  margin-top: 6px;
}

.cdt-audio-player {
  border: 1px solid var(--cdt-border);
  border-radius: var(--cdt-radius);
  padding: 16px;
}

.cdt-audio {
  width: 100%;
}

.cdt-capsule-image-expiry,
.cdt-capsule-audio-expiry {
  margin-top: 8px;
}

.cdt-capsule-actions {
  display: flex;
  flex-wrap: wrap;
  margin-top: 32px;
  padding-top: 24px;
  padding-bottom: 24px;
  border-top: 1px solid var(--cdt-border);
  border-bottom: 1px solid var(--cdt-border);
}

.destra-caps-cont img, .destra-caps-cont video {
    max-height: 450px;
}

button#cdt-capsule-print {
    width: 100%;
}

.cdt-capsule-retention-notice {
  margin-bottom: 16px;
}

/* Refuse screen */
.cdt-refuse-screen,
.cdt-refused-screen {
  padding: 40px 0;
  text-align: center;
}

.cdt-refuse-icon,
.cdt-success-icon {
  display: none;
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
}

.cdt-input, .cdt-input--code {
    font-family: 'poppins';
    letter-spacing: 0;
    font-size: 14px;
    text-transform: none;
}

.cdt-refuse-screen__title,
.cdt-refused-screen__title {
  margin: 0 0 12px;
}

.cdt-refuse-screen__text,
.cdt-refused-screen__text {
  margin: 0 auto 24px;
  line-height: 1.6;
}

.cdt-refuse-form__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 24px;
}

/* --------------------------------------------------------------------------
   Verify email page
   -------------------------------------------------------------------------- */
.cdt-verify-section {
  padding: 60px 16px;
  text-align: center;
}

.cdt-verify-loading,
.cdt-verify-success,
.cdt-verify-already,
.cdt-verify-error,
.cdt-verify-no-token {
  max-width: 480px;
  margin: 0 auto;
}

.cdt-verify-spinner svg {
  width: 80px;
  height: 80px;
  animation: cdtSpin 1.2s linear infinite;
  margin: 0 auto 24px;
  display: block;
}

.cdt-verify-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
}

.cdt-verify-title {
  margin: 0 0 12px;
}

.cdt-verify-title--error {
  color: var(--cdt-error);
}

.cdt-verify-text {
  line-height: 1.7;
  margin-bottom: 24px;
}

.cdt-verify-note {
  margin-top: 16px;
}

/* --------------------------------------------------------------------------
   GDPR page
   -------------------------------------------------------------------------- */
.cdt-gdpr-hero {
  padding: 40px 0 32px;
  text-align: center;
}

.cdt-gdpr-hero__title {
  margin: 0 0 8px;
}

.cdt-gdpr-hero__subtitle {
  margin: 0;
  line-height: 1.6;
}

.cdt-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 2px solid var(--cdt-border);
  margin-bottom: 32px;
}

.cdt-tab {
  padding: 10px 20px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: opacity var(--cdt-transition), border-color var(--cdt-transition);
  opacity: .6;
}

.cdt-tab--active {
  opacity: 1;
  border-bottom-color: currentColor;
}

.cdt-tabpanel {
  display: block;
}

.cdt-tabpanel[hidden] {
  display: none;
}

.cdt-gdpr-description {
  line-height: 1.7;
  margin-bottom: 24px;
}

.cdt-gdpr-form {
  max-width: 520px;
}

.cdt-gdpr-legal {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--cdt-border);
}

.cdt-gdpr-legal__title {
  margin-bottom: 16px;
}

.cdt-gdpr-legal__list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cdt-gdpr-legal__list li {
  line-height: 1.5;
}

.cdt-gdpr-legal__contact {
  line-height: 1.5;
}

/* --------------------------------------------------------------------------
   CTA section
   -------------------------------------------------------------------------- */
.cdt-cta-section {
  text-align: center;
  padding: 60px 16px;
  border-top: 1px solid var(--cdt-border);
  max-width: none;
  margin-top: 48px;
}

.cdt-cta-section__title {
  margin: 0 0 12px;
}

.cdt-cta-section__text {
  margin: 0 auto 24px;
  max-width: 480px;
  line-height: 1.6;
}

/* --------------------------------------------------------------------------
   Step 1 — card bianco
   -------------------------------------------------------------------------- */
.cdt-step1-card {
  background: #fff;
  border-radius: 12px;
  padding: 0;
  margin-top: 24px;
}

.cdt-step1-nav {
  margin-top: 24px;
  border-top: none;
  padding-top: 0;
}

@media (max-width: 600px) {
  .cdt-step1-card {
    padding: 0;
  }
}

/* --------------------------------------------------------------------------
   Step 1 collage
   -------------------------------------------------------------------------- */
.cdt-step1-collage {
  margin-top: 16px;
  height: 220px;
  overflow: hidden;
  border-radius: var(--cdt-radius);
}

.cdt-step1-collage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

@media (max-width: 600px) {
  .cdt-step1-collage {
    height: 140px;
  }
}

/* --------------------------------------------------------------------------
   Flatpickr overrides (structural only)
   -------------------------------------------------------------------------- */
.flatpickr-calendar {
  border: 1px solid var(--cdt-border) !important;
  border-radius: var(--cdt-radius) !important;
  box-shadow: var(--cdt-shadow-lg) !important;
}

/* --------------------------------------------------------------------------
   Animations
   -------------------------------------------------------------------------- */
@keyframes cdtFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes cdtSlideUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes cdtSpin {
  to { transform: rotate(360deg); }
}

@keyframes cdtEnvelopeAppear {
  0%   { opacity: 0; transform: scale(.6) translateY(20px); }
  60%  { transform: scale(1.05) translateY(-4px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes cdtLockSnap {
  0%   { opacity: 0; transform: scale(1.3); }
  50%  { transform: scale(.9); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes cdtParticleBurst {
  0%   { transform: translate(0,0) scale(1); opacity: 1; }
  100% { transform: translate(var(--tx), var(--ty)) scale(0); opacity: 0; }
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 600px) {
  .cdt-progress__label { display: none; }
  .cdt-date-presets { flex-direction: column; }
  .cdt-modal__box { padding: 20px; }
  .cdt-capsule-header { flex-direction: column; }
  .cdt-step-nav { flex-direction: column; gap: 12px; }
  .cdt-step-nav .cdt-btn { width: 100%; }
  .cdt-refuse-form__actions { flex-direction: column; }
  .cdt-modal__actions { flex-direction: column; }
}

/* --------------------------------------------------------------------------
   Segmented toggle (destinatario)
   -------------------------------------------------------------------------- */
.cdt-segment {
  display: flex;
  border: 1.5px solid var(--cdt-border);
  border-radius: 50px;
  overflow: hidden;
}

.cdt-segment__btn {
  flex: 1;
  padding: 12px 10px;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: background var(--cdt-transition), color var(--cdt-transition);
  text-align: center;
  line-height: 1.4;
  font-size: .875em;
  font-weight: 500;
}

.cdt-segment__btn--active {
    background: #e2bd7c;
    color: var(--border-btn-type-2-h);
    border-radius: 60px;
}
/* --------------------------------------------------------------------------
   Pulsante fotocamera (mobile)
   -------------------------------------------------------------------------- */
.cdt-capture-btn, button#cdt-camera-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 8px 16px;
  border: 1.5px solid var(--cdt-border);
  border-radius: var(--cdt-radius);
  background: transparent;
  cursor: pointer;
  font-size: .875em;
  transition: border-color var(--cdt-transition);
}

.cdt-capture-btn:hover {
  border-color: currentColor;
}

.cdt-capture-btn[hidden],
button#cdt-camera-btn[hidden] {
  display: none !important;
}

/* --------------------------------------------------------------------------
   Registrazione audio
   -------------------------------------------------------------------------- */
.cdt-record-section {
  text-align: center;
  margin-bottom: 16px;
}

.cdt-record-btn, button#cdt-video-record-btn, button#cdt-camera-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: 1.5px solid var(--cdt-border);
    border-radius: var(--cdt-radius-lg);
    background: #f8f5f0;
    cursor: pointer;
    font-size: .95em;
    margin-top: 10px;
    transition: border-color var(--cdt-transition);
}

.cdt-record-btn:hover, button#cdt-video-record-btn:hover,button#cdt-camera-btn:hover  {
  border-color: currentColor;
}

#cdt-record-active:not([hidden]) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 12px 0;
}

.cdt-record-pulse {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--cdt-error);
  flex-shrink: 0;
  animation: cdtPulse 1s ease-in-out infinite;
}

@keyframes cdtPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .4; transform: scale(.75); }
}

.cdt-record-timer {
  font-family: 'Courier New', monospace;
  font-size: 1.1em;
  letter-spacing: .05em;
}

.cdt-record-or {
  margin: 10px 0 8px;
  font-size: .8em;
  opacity: .55;
}

/* --------------------------------------------------------------------------
   Registrazione video
   -------------------------------------------------------------------------- */
.cdt-video-record-section {
  text-align: center;
  margin-bottom: 16px;
}

#cdt-video-record-active:not([hidden]) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
}

.cdt-video-live-preview {
  width: 100%;
  max-height: 160px;
  border-radius: var(--cdt-radius);
  object-fit: cover;
  background: #000;
  display: block;
}


#cdt-video-upload video {
    object-fit:cover;
}
.cdt-video-record-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cdt-video-record-timer,
.cdt-record-timer-badge {
  font-family: 'Courier New', monospace;
  font-size: 1.2em;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--cdt-error);
}

/* --------------------------------------------------------------------------
   Video nella capsula aperta
   -------------------------------------------------------------------------- */
.cdt-capsule-video-wrap {
  margin-bottom: 32px;
}

.cdt-video-player {
  border-radius: var(--cdt-radius);
  padding: 0;
}

.cdt-capsule-video {
  width: 100%;
  border-radius: var(--cdt-radius);
}

.cdt-capsule-video-expiry {
  margin-top: 8px;
}

/* --------------------------------------------------------------------------
   Gruppo pulsanti download
   -------------------------------------------------------------------------- */
.cdt-capsule-download-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
  width: 100%;
}

.cdt-capsule-download-label {
    margin: 0;
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

.cdt-capsule-download-btns {
  display: flex;
  gap: 10px;
  flex-direction: column;
  flex-wrap: wrap;
}

h6.cdt-capsule-header__label {
  padding: 0;
  margin: 0 auto 30px;
  border-radius: 50px;
  border: 1px solid var(--accent-color-alt);
  padding: 6px 20px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 600;
  width: max-content;
  background: var(--bg-top-btn-type-1);
  display: flex;
  gap: 5px;
  align-items: center;
}


@media screen and (max-width: 967px) {
    .container-capsula-cont {
        flex-direction:column;   
    }

    .sinistra-caps-cont, .destra-caps-cont{
        width:100%;
    }
}

/* --------------------------------------------------------------------------
   Header stampa (nascosto su schermo, visibile solo in @media print)
   -------------------------------------------------------------------------- */
.cdt-print-header {
  display: none;
}

@media print {
  /* Il JS sposta #cdt-capsule-print-area come figlio diretto di body prima di window.print().
     Nascondendo tutti i figli diretti di body tranne quello, evitiamo qualsiasi dipendenza
     dal tema e qualsiasi problema di posizionamento. */
  body > * { display: none !important; }
  body > #cdt-capsule-print-area {
    display: block !important;
    padding: 32px;
    box-sizing: border-box;
    width: 100%;
  }

  /* Header stampa */
  .cdt-print-header {
    display: block;
    text-align: center;
    margin-bottom: 28px;
  }

  .cdt-print-logo {
    max-height: 60px;
    max-width: 220px;
    display: block;
    margin: 0 auto 12px;
  }

  .cdt-print-site-name {
    font-size: 1.1em;
    font-weight: 700;
    margin: 0 0 8px;
  }

  .cdt-print-capsule-title {
    font-size: 1.4em;
    margin: 0 0 6px;
  }

  .cdt-print-meta {
    font-size: .9em;
    color: #555;
    margin: 0 0 8px;
  }

  .cdt-print-divider {
    border: none;
    border-top: 1px solid #ccc;
    margin: 12px 0 28px;
  }

  /* Testo: rimuove bordi e sfondo per stampa pulita */
  .cdt-capsule-text {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 11pt;
    line-height: 1.7;
  }

  .cdt-capsule-section-title {
    border-bottom: none !important;
    display: none;
  }

  /* Nasconde tutto tranne il testo */
  .cdt-capsule-header,
  .cdt-capsule-image-wrap,
  .cdt-capsule-audio-wrap,
  .cdt-capsule-video-wrap,
  .cdt-capsule-retention-notice,
  .cdt-capsule-actions {
    display: none !important;
  }
}



/** custom  **/
.select2-container--default .select2-selection--single .select2-selection__placeholder, input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea, input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus {
    padding: 10px 20px!important;
    border-color: rgb(189 146 86 / 30%);
    background: #F8F5F0;
}


h2.cdt-step__title {
    margin-bottom: 20px;
}

.cdt-step__body {
    margin-top: 50px;
}


@media screen and (max-width:767px) {
    .cdt-step--active {
        padding:20px;
    }

    .cdt-request-code {
        padding:20px;
    }

    .cdt-open-section{
      padding:20px;
    }

    .dettagli-account span {
    display: none;
  }

  .dettagli-account  {
      flex-direction:column;
      gap:0;   
      font-size:12px;
  }

  .dettagli-account p:last-child {
      margin:0;
  }


  .dettagli-account p {
      font-size:14px;   
  }
}


body:not(.blog) .addtoany_share_save_container {
    display: none;
}

.cdt-upload-area--uploaded .cdt-upload-icon,
.cdt-upload-area--uploaded .cdt-upload-label,
.cdt-upload-area--uploaded .cdt-upload-text,
.cdt-upload-area--uploaded .cdt-upload-hint {
    display:none!important;
}


.cdt-upload-area{
    height:200px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.cdt-modal__content,
.cdt-modal__content h1,
.cdt-modal__content h2,
.cdt-modal__content h3,
.cdt-modal__content h4,
.cdt-modal__content h5,
.cdt-modal__content h6,
.cdt-modal__content p,
.cdt-modal__content span,
.cdt-modal__content div,
.cdt-modal__content strong,
.cdt-modal__content b,
.cdt-modal__content em,
.cdt-modal__content small,
.cdt-modal__content ul,
.cdt-modal__content ol,
.cdt-modal__content li {
	color: #000 !important;
}


#page .cdt-modal p, #page  .cdt-modal span {
  color:black!important;
}
.cdt-modal__content, .cdt-modal__content h1, .cdt-modal__content h2, .cdt-modal__content h3, .cdt-modal__content h4, .cdt-modal__content h5, .cdt-modal__content h6, .cdt-modal__content p, .cdt-modal__content span, .cdt-modal__content div, .cdt-modal__content strong, .cdt-modal__content b, .cdt-modal__content em, .cdt-modal__content small, .cdt-modal__content ul, .cdt-modal__content ol, .cdt-modal__content li {
  color: #000 !important;
  text-align: left;
  font-family: 'Poppins';
}

.cdt-modal__content h2 {
  font-size:30px;
  font-weight:700;
  margin-top: 30px;
}

.cdt-modal__content h3 {
  font-size:20px;
  font-weight:600;
  margin-top: 30px;
}

.flatpickr-current-month .flatpickr-monthDropdown-months, .flatpickr-current-month input.cur-year {
  font-size: 15px;
  padding: 0 10px!important;
  margin: 0;
}



/** animazione **/

.cdt-seal-animation {
    position: relative;
    width: 120px;
    height: 120px;
    margin: 0 auto 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4000px;
    isolation: isolate;
    background: white;
    border: 1px solid var(--bg-bottom-btn-type-3);
}

.cdt-envelope,
.cdt-lock {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: center;
}

.cdt-envelope img,
.cdt-lock img {
  display: block;
  width: 1em;
  height: 1em;
}

/* Busta */
.cdt-success-section--visible .cdt-envelope {
  animation: cdtEnvelopeIn 0.8s ease-out both,
             cdtEnvelopeFloat 3s ease-in-out 1s infinite;
}

/* Lucchetto */
.cdt-success-section--visible .cdt-lock {
  animation: cdtLockSnap 0.9s cubic-bezier(.2, 1.4, .4, 1) 0.45s both,
             cdtLockPulse 2.4s ease-in-out 1.5s infinite;
}

/* Particelle */
.cdt-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
}

.cdt-particle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #c7a46a;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0);
  animation: cdtParticleBurst 0.9s ease-out forwards;
}

.cdt-particle:nth-child(2n) {
  background: #8b5e34;
}

.cdt-particle:nth-child(3n) {
  background: #f3d9a4;
}

/* Animazioni */
@keyframes cdtEnvelopeIn {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(0.82) rotate(-6deg);
  }

  65% {
    opacity: 1;
    transform: translateY(-4px) scale(1.06) rotate(2deg);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

@keyframes cdtEnvelopeFloat {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(-5px) rotate(-1deg);
  }
}

@keyframes cdtLockSnap {
  0% {
    opacity: 0;
    transform: translateY(-32px) scale(0.5) rotate(-12deg);
  }

  60% {
    opacity: 1;
    transform: translateY(4px) scale(1.18) rotate(4deg);
  }

  78% {
    transform: translateY(-2px) scale(0.94) rotate(-2deg);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

@keyframes cdtLockPulse {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 0 rgba(199, 164, 106, 0));
  }

  50% {
    transform: scale(1.06);
    filter: drop-shadow(0 6px 12px rgba(199, 164, 106, 0.35));
  }
}

@keyframes cdtParticleBurst {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0);
  }

  70% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform:
      translate(
        calc(-50% + var(--x)),
        calc(-50% + var(--y))
      )
      scale(1);
  }
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce) {
  .cdt-envelope,
  .cdt-lock,
  .cdt-particle {
    animation: none !important;
  }
}