/*
Theme Skin: Webuno Prof
Purpose: struttura completa e collaudata dello skin editoriale, con identità Webuno.
Concept: professionale, scuro, ordinato e moderno. Palette e font arrivano da
variables.css; questo file gestisce esclusivamente forma, componenti e responsive.
Contract:
- Consumes colors and fonts from variables.css
- Defines the complete --skin-* structure and shape application rules
- Does not define brand colors, typography or semantic state tokens
- overrides.css remains the final layer for surgical fixes
*/

/* =========================================================
   TOKENS SHAPE GLOBALI
========================================================= */
:root {
  /* Sections */
  --skin-section-padding-y: clamp(52px, 7vw, 92px);
  --skin-section-gap: clamp(28px, 4vw, 56px);
  --skin-section-head-gap: 12px;
  --skin-section-body-gap: clamp(22px, 3vw, 34px);
  --skin-section-radius: 22px;
  --skin-section-border-width: 1px;

  /* Cards */
  --skin-card-radius: 22px;
  --skin-card-radius-sm: 14px;
  --skin-card-padding: clamp(20px, 2.6vw, 32px);
  --skin-card-gap: 16px;
  --skin-card-border-width: 1px;
  --skin-card-shadow: 0 16px 42px rgba(76, 141, 255, 0.14);
  --skin-card-hover-transform: translateY(-3px);

  /* Buttons */
  --skin-button-radius: 12px;
  --skin-button-radius-pill: 999px;
  --skin-button-padding-y: 13px;
  --skin-button-padding-x: 20px;
  --skin-button-minh: 46px;
  --skin-button-border-width: 1px;
  --skin-button-shadow: var(--button_shadow, 0 10px 24px rgba(0, 0, 0, 0.16));
  --skin-button-hover-transform: translateY(-2px);

  /* Forms */
  --skin-input-radius: 12px;
  --skin-input-padding-y: 12px;
  --skin-input-padding-x: 15px;
  --skin-input-minh: 46px;
  --skin-input-border-width: 1px;
  --skin-form-gap: 12px;
  --skin-form-panel-radius: 24px;

  /* Media */
  --skin-media-radius: 18px;
  --skin-media-radius-sm: 12px;
  --skin-media-shadow: 0 16px 42px rgba(11, 18, 32, 0.10);
  --skin-media-hover-scale: 1.01;

  /* Badges / Chips */
  --skin-badge-radius: 999px;
  --skin-badge-padding-y: 6px;
  --skin-badge-padding-x: 11px;
  --skin-chip-gap: 8px;

  /* Modal / Popup */
  --skin-modal-radius: 18px;
  --skin-modal-padding: clamp(20px, 2.5vw, 28px);
  --skin-modal-shadow: 0 18px 48px rgba(0, 0, 0, 0.16);
  --skin-modal-close-size: 36px;
  --skin-modal-max-width: 620px;

  /* Table */
  --skin-table-radius: 14px;
  --skin-table-cell-padding: 14px;
  --skin-table-border-width: 1px;

  /* Notices / States */
  --skin-notice-radius: 12px;
  --skin-notice-padding: 14px;
  --skin-notice-border-width: 1px;

  /* Header / Footer shape */
  --skin-header-height: 76px;
  --skin-header-padding-y: 14px;
  --skin-header-shadow: 0 8px 26px rgba(11, 18, 32, 0.06);
  --skin-header-menu-gap: 22px;
  --skin-header-cta-radius: 12px;
  --skin-footer-padding-y: clamp(40px, 5vw, 72px);
  --skin-footer-grid-gap: clamp(24px, 3vw, 42px);

  /* Focus / Motion */
  --skin-focus-ring-width: 2px;
  --skin-focus-ring-size: 2px;
  --skin-hover-lift-sm: translateY(-1px);
  --skin-hover-lift-md: translateY(-3px);
  --skin-transition-fast: 120ms ease;
  --skin-transition-base: 180ms ease;

  /* Cards extras */
  --skin-card-hover-lift: 3px;
  --skin-card-hover-shadow: 0 22px 52px rgba(255, 104, 72, 0.22);

  /* Buttons extras */
  --skin-button-shadow-active: var(--button_shadow_active, 0 5px 14px rgba(0, 0, 0, 0.14));
  --skin-button-shadow-focus: 0 0 0 4px var(--focus_ring, rgba(76, 141, 255, 0.24));

  /* Media extras */
  --skin-media-hover-shadow: 0 22px 52px rgba(11, 18, 32, 0.13);

  /* Hero */
  --skin-hero-panel-radius: 26px;
  --skin-hero-panel-padding: clamp(20px, 2.5vw, 32px);
  --skin-hero-panel-min-height: 380px;
  --skin-hero-media-radius: 18px;

  /* CTA */
  --skin-cta-frame-radius: 24px;
  --skin-cta-media-radius: 18px;

  /* Contact */
  --skin-contact-panel-radius: 24px;
  --skin-contact-map-radius: 18px;
  --skin-contact-pill-radius: 999px;
  --skin-contact-circle-shell-radius: 16px;

  /* Pricing */
  --skin-pricing-radius: 22px;
  --skin-pricing-panel-padding: clamp(20px, 2.6vw, 32px);
  --skin-pricing-table-radius: 14px;
  --skin-pricing-toggle-radius: 12px;
  --skin-pricing-pill-radius: 999px;

  /* Blog */
  --skin-blog-card-radius: 22px;
  --skin-blog-media-radius: 18px;
  --skin-blog-widget-radius: 16px;
  --skin-blog-widget-padding: 18px;

  /* Rooms */
  --skin-room-card-radius: 22px;
  --skin-room-card-padding: clamp(20px, 2.6vw, 32px);
  --skin-room-media-radius: 18px;
  --skin-room-media-ratio: 16 / 10;
  --skin-room-pill-radius: 999px;
  --skin-room-search-radius: 18px;

  /* Accommodation */
  --skin-accommodation-card-radius: 22px;
  --skin-accommodation-gallery-radius: 18px;
  --skin-accommodation-sticky-radius: 22px;

  /* Calendar / OTP */
  --skin-calendar-panel-radius: 22px;
  --skin-calendar-day-radius: 10px;
  --skin-calendar-day-minh: 64px;
  --skin-calendar-summary-radius: 14px;
  --skin-otp-input-radius: 12px;
  --skin-otp-input-size: 56px;
  --skin-otp-close-radius: 12px;

  /* Case Studies */
  --skin-case-study-rail-radius: 22px;
  --skin-case-study-pill-radius: 999px;

  /* Testimonials */
  --skin-testimonial-card-radius: 22px;
  --skin-testimonial-avatar-size: 40px;

  /* Steps */
  --skin-step-node-size: 56px;
  --skin-step-node-radius: 999px;

  /* Logos */
  --skin-logos-cell-radius: 16px;
  --skin-logos-cell-padding: clamp(12px, 1.5vw, 18px);

  /* Team */
  --skin-team-card-radius: 22px;
  --skin-team-pill-radius: 999px;
  --skin-team-avatar-size: 48px;
  --skin-team-avatar-size-sm: 38px;
}

/* =========================================================
   PRIMITIVE GLOBALI
========================================================= */
body {
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 0.4em;
  line-height: 1.18;
  letter-spacing: -0.005em;
  text-wrap: balance;
}

p,
ul,
ol,
blockquote,
table {
  margin: 0 0 0.9rem;
}

.am-section {
  padding-block: var(--skin-section-padding-y);
}

/* =========================================================
   INTERNAL PAGES SPACING OVERRIDE — NO HOME
   Mantiene il respiro della homepage, ma nelle pagine interne
   usa i token strutturali del child theme.
========================================================= */
body.page:not(.home):not(.front-page) #main.site-main .am-section,
body.page:not(.home):not(.front-page) #main.site-main section[class*="am-section--"] {
  padding-top: var(--am-section-padding-y, clamp(24px, 2.8vw, 42px));
  padding-bottom: var(--am-section-padding-y, clamp(24px, 2.8vw, 42px));
}

body.page:not(.home):not(.front-page) #main.site-main .am-section-body {
  margin-top: clamp(18px, 2.4vw, 30px);
}

.am-section-head {
  display: grid;
  gap: var(--skin-section-head-gap);
}

.am-section-body {
  margin-top: var(--skin-section-body-gap);
}

/* =========================================================
   CARDS / PANELS
========================================================= */
.am-card,
.card,
.am-panel,
.am-tile,
[class*="__card"],
[class*="__panel"],
[class*="__box"] {
  border-width: var(--skin-card-border-width);
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-card-radius);
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--skin-card-shadow);
  transition:
    transform var(--skin-transition-base),
    border-color var(--skin-transition-fast);
}

.am-card,
.card,
.am-panel,
.am-tile {
  padding: var(--skin-card-padding);
}

.am-card,
.card {
  gap: var(--skin-card-gap);
}

.am-card.is-no-pad,
.card.is-no-pad {
  padding: 0;
}

.am-card-pad,
.am-card-inner.is-pad {
  padding: var(--skin-card-padding);
}

.am-card:hover,
.card:hover,
.am-panel:hover,
.am-tile:hover,
[class*="__card"]:hover,
[class*="__panel"]:hover,
[class*="__box"]:hover {
  transform: var(--skin-card-hover-transform);
}

/* =========================================================
   BUTTONS / CTA
========================================================= */
.am-button,
a.am-button,
.button,
.wp-block-button__link,
.header-cta-button,
button[type="submit"],
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--skin-button-minh);
  padding: var(--skin-button-padding-y) var(--skin-button-padding-x);
  border-width: var(--skin-button-border-width);
  border-style: solid;
  border-color: var(--button_bg_color);
  border-radius: var(--skin-button-radius);
  background: var(--button_bg_color);
  color: var(--button_text_color);
  box-shadow: var(--skin-button-shadow);
  text-decoration: none;
  transition:
    transform var(--skin-transition-base),
    border-color var(--skin-transition-fast),
    background-color var(--skin-transition-fast),
    color var(--skin-transition-fast);
}

.header-cta-button {
  border-radius: var(--skin-header-cta-radius);
}

.am-button:hover,
a.am-button:hover,
.button:hover,
.wp-block-button__link:hover,
.header-cta-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  transform: var(--skin-button-hover-transform);
}

.am-button:focus-visible,
a.am-button:focus-visible,
.button:focus-visible,
.wp-block-button__link:focus-visible,
.header-cta-button:focus-visible,
button[type="submit"]:focus-visible,
input[type="submit"]:focus-visible {
  outline: var(--skin-focus-ring-width) solid var(--focus_border);
  outline-offset: 2px;
  box-shadow: 0 0 0 var(--skin-focus-ring-width) var(--focus_ring);
}

/* =========================================================
   HEADER / FOOTER SHAPE
========================================================= */
.header {
  min-height: var(--skin-header-height);
  padding-block: var(--skin-header-padding-y);
  border-bottom: 1px solid var(--border);
  background: var(--header_bg_color);
  box-shadow: var(--skin-header-shadow);
  backdrop-filter: none;
  color: var(--header-text, var(--text));
  transition:
    background-color var(--skin-transition-fast),
    border-color var(--skin-transition-fast);
}

.site-header .header.header-transparent,
#site-header .header.header-transparent {
  background: color-mix(in srgb, var(--header_bg_color) 80%, transparent);
  box-shadow: none;
  border-bottom-color: transparent;
  backdrop-filter: none;
}

.header-inner {
  min-height: calc(var(--skin-header-height) - (var(--skin-header-padding-y) * 2));
}

.header-menu {
  align-items: center;
  gap: var(--skin-header-menu-gap);
}

.header-menu a {
  padding: 8px 0 10px;
  color: var(--header-text, var(--text));
  transition:
    color var(--skin-transition-fast);
}

.header-menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 4px;
  width: 0;
  height: 2px;
  border-radius: 0;
  background: var(--header-text, var(--text));
  transition:
    width var(--skin-transition-base);
}

.header-menu a:hover::after,
.header-menu .current-menu-item > a::after {
  width: 100%;
}

.header-actions {
  gap: 10px;
}

.header-cta-button {
  min-height: 40px;
  padding: var(--skin-button-padding-y) var(--skin-button-padding-x);
  border-width: var(--skin-button-border-width);
  border-radius: var(--skin-header-cta-radius);
}

.header-cta-button:hover {
  background: var(--button_bg_hover);
  border-color: var(--button_bg_hover);
}

.header-toggle {
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--header_bg_color);
  box-shadow: none;
  transition:
    background-color var(--skin-transition-fast),
    border-color var(--skin-transition-fast);
}

.header-toggle span {
  border-radius: 0;
  background: var(--header-text, var(--text));
  transition:
    transform var(--skin-transition-base),
    opacity var(--skin-transition-fast);
}

@media (max-width: 991px) {
  .header-nav {
    border-inline-start: 1px solid var(--border);
    background: var(--header_bg_color);
    box-shadow: none;
  }

  .header-menu {
    gap: calc(var(--skin-header-menu-gap) - 4px);
  }
}

.footer-base,
.footer-premium {
  padding-block: var(--skin-footer-padding-y);
  border-top: 1px solid var(--border);
  background: var(--footer_bg_color);
  color: var(--footer_text_color);
}

.footer-premium + .footer-base {
  border-top: 0;
}

.footer-base-inner {
  gap: var(--skin-footer-grid-gap);
}

.footer-base-left,
.footer-base-right {
  gap: 6px;
}

.footer-grid {
  gap: var(--skin-footer-grid-gap);
}

.footer-column {
  gap: 8px;
}

.footer-legal-nav ul,
.footer-legal-menu {
  gap: 12px;
}

.footer-title {
  margin-bottom: 10px;
  letter-spacing: 0.06em;
  line-height: 1.2;
  color: var(--footer_text_color);
}

.footer-description {
  margin-top: 4px;
  max-width: 320px;
  line-height: 1.5;
  color: var(--footer_text_color);
}

.footer-menu,
.footer-list {
  display: grid;
  gap: 4px;
}

.footer-menu a,
.footer-list a,
.footer-legal-menu a {
  color: var(--footer_text_color);
  transition:
    color var(--skin-transition-fast);
}

.footer-copyright {
  margin-top: 24px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

/* =========================================================
   FORMS / INPUTS
========================================================= */
.am-form,
.booking-form-wrapper,
.contact-form-wrapper {
  gap: var(--skin-form-gap);
}

:where(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  input[type="url"],
  input[type="password"],
  input[type="date"],
  select,
  textarea
) {
  min-height: var(--skin-input-minh);
  padding: var(--skin-input-padding-y) var(--skin-input-padding-x);
  border-width: var(--skin-input-border-width);
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-input-radius);
  background: var(--surface);
  color: var(--text);
  transition:
    border-color var(--skin-transition-fast),
    background-color var(--skin-transition-fast);
}

textarea {
  min-height: calc(var(--skin-input-minh) * 2.2);
}

:where(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  input[type="url"],
  input[type="password"],
  input[type="date"],
  select,
  textarea
)::placeholder {
  color: var(--placeholder_color);
}

:where(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  input[type="url"],
  input[type="password"],
  input[type="date"],
  select,
  textarea
):focus-visible {
  outline: var(--skin-focus-ring-width) solid var(--focus_border);
  outline-offset: 1px;
  box-shadow: 0 0 0 var(--skin-focus-ring-width) var(--focus_ring);
}

/* =========================================================
   DISABLED / LABELS / PRIVACY
========================================================= */
button:disabled,
input[type="submit"]:disabled,
.am-button:disabled,
.wp-block-button__link:disabled,
.rooms-booking-otp-resend-button:disabled,
#am-calendar-submit:disabled {
  border-color: var(--disabled_border);
  background: var(--disabled_bg);
  color: var(--disabled_text);
  box-shadow: none;
  transform: none;
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
}

label,
.am-form label,
.am-form-wrapper label,
.booking-form-wrapper label,
.contact-form-wrapper label,
#am-calendar-modal .am-field label,
.rooms-booking-otp-form__label {
  color: var(--label_color);
  line-height: 1.35;
  font-weight: 600;
}

#am-calendar-modal .am-field label,
.rooms-booking-otp-form__label {
  display: block;
  margin-bottom: 6px;
}

input::placeholder,
textarea::placeholder,
.rooms-booking-otp-input::placeholder,
.subscription-otp-input::placeholder {
  color: var(--placeholder_color);
}

.am-field-privacy .am-privacy,
#am-calendar-modal .am-privacy {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-width: var(--skin-card-border-width);
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-card-radius-sm);
  background: var(--surface_0);
  color: var(--label_color);
  line-height: 1.5;
}

/* =========================================================
   MEDIA
========================================================= */
img {
  border-radius: var(--skin-media-radius-sm);
}

.am-media,
.am-blog-card-media,
[class*="__media"],
[class*="__thumb"],
[class*="__image"] {
  overflow: hidden;
  border-radius: var(--skin-media-radius);
}

.am-media img,
.am-blog-card img,
[class*="__media"] img,
[class*="__thumb"] img,
[class*="__image"] img {
  display: block;
  width: 100%;
  box-shadow: var(--skin-media-shadow);
  transition: transform var(--skin-transition-base);
}

/* No scale on hover for editorial-sharp (--skin-media-hover-scale = 1) */
.am-media:hover img,
.am-blog-card:hover .am-blog-card-media img {
  transform: scale(var(--skin-media-hover-scale));
}

/* =========================================================
   BADGES / CHIPS
========================================================= */
[class*="badge"],
[class*="pill"],
.am-kicker,
.am-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--skin-chip-gap);
  padding: var(--skin-badge-padding-y) var(--skin-badge-padding-x);
  border-width: 1px;
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-badge-radius);
  background: var(--surface_soft, var(--surface));
  color: var(--text_secondary, var(--text));
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.78em;
}

/* =========================================================
   TABLES / BLOCKQUOTE / DIVIDERS
========================================================= */
blockquote {
  padding: var(--skin-card-padding);
  border-inline-start: 3px solid var(--border);
  border-radius: 0;
  background: var(--surface_soft, var(--surface));
}

table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--skin-table-radius);
}

th,
td {
  padding: var(--skin-table-cell-padding);
  border-width: 0 0 var(--skin-table-border-width);
  border-style: solid;
  border-color: var(--border);
}

hr {
  margin-block: clamp(20px, 3vw, 32px);
  border: 0;
  border-top: 1px solid var(--border);
}

/* =========================================================
   NOTICES / STATES
========================================================= */
.am-success,
.am-error,
.am-info,
.am-warning,
.notice-success,
.notice-error,
.notice-info,
.notice-warning,
.is-success,
.is-error,
.is-info,
.is-warning {
  padding: var(--skin-notice-padding);
  border-width: var(--skin-notice-border-width);
  border-style: solid;
  border-radius: var(--skin-notice-radius);
  box-shadow: none;
}

.am-success,
.notice-success,
.is-success {
  background: var(--success_bg);
  color: var(--success_text);
  border-color: var(--success_border);
}

.am-error,
.notice-error,
.is-error {
  background: var(--error_bg);
  color: var(--error_text);
  border-color: var(--error_border);
}

.am-warning,
.notice-warning,
.is-warning {
  background: var(--warning_bg);
  color: var(--warning_text);
  border-color: var(--warning_border);
}

.am-info,
.notice-info,
.is-info {
  background: var(--info_bg);
  color: var(--info_text);
  border-color: var(--info_border);
}

/* =========================================================
   MODAL SHELL BASE
========================================================= */
#am-calendar-modal .am-modal,
.subscription-otp-modal__dialog,
.rooms-booking-otp-modal__dialog {
  max-width: min(100%, var(--skin-modal-max-width));
  padding: var(--skin-modal-padding);
  border-width: 1px;
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-modal-radius);
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--skin-modal-shadow);
}

.subscription-otp-modal__close,
.rooms-booking-otp-modal__close,
#am-calendar-modal .am-modal-close,
#am-calendar-modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--skin-modal-close-size);
  block-size: var(--skin-modal-close-size);
  border-width: 1px;
  border-style: solid;
  border-color: var(--border);
  border-radius: 4px;
  background: var(--surface_0);
  color: var(--text);
  box-shadow: none;
  transition:
    background-color var(--skin-transition-fast),
    border-color var(--skin-transition-fast),
    color var(--skin-transition-fast);
}

.subscription-otp-modal__close:hover,
.rooms-booking-otp-modal__close:hover,
#am-calendar-modal .am-modal-close:hover,
#am-calendar-modal-close:hover {
  background: var(--surface_soft_hover);
  border-color: var(--focus_border);
}

/* =========================================================
   BLOG V1 SAFE
========================================================= */
.am-blog-sidebar {
  display: grid;
  gap: var(--skin-card-gap);
  align-content: start;
}

.am-blog-card,
.am-blog-widget,
.am-blog-cta,
.am-related-post-card,
.am-article-header,
.am-article-content,
.am-article-footer {
  border-width: var(--skin-card-border-width);
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-blog-card-radius);
  background: var(--surface);
  color: var(--text);
  box-shadow: none;
}

.am-blog-card,
.am-blog-widget,
.am-blog-cta,
.am-related-post-card,
.am-article-header,
.am-article-content,
.am-article-footer {
  padding: var(--skin-card-padding);
}

.am-blog-widget {
  padding: var(--skin-blog-widget-padding);
  border-radius: var(--skin-blog-widget-radius);
}

.am-blog-card,
.am-blog-widget,
.am-blog-cta,
.am-related-post-card {
  transition:
    transform var(--skin-transition-base),
    border-color var(--skin-transition-fast);
}

.am-blog-card:hover,
.am-blog-widget:hover,
.am-blog-cta:hover,
.am-related-post-card:hover {
  transform: var(--skin-hover-lift-sm);
}

.am-blog-card-media {
  overflow: hidden;
  border-radius: var(--skin-blog-media-radius);
}

.am-blog-card-category {
  border-width: 1px;
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-badge-radius);
  background: var(--surface_soft, var(--surface));
  color: var(--text_secondary);
  box-shadow: none;
}

/* =========================================================
   PRICING V1 SAFE
========================================================= */
.am-section--pricing {
  gap: var(--skin-section-body-gap);
}

.am-section--pricing .pricing-card,
.am-section--pricing .pricing-plan,
.am-section--pricing .pricing-table {
  border-width: var(--skin-card-border-width);
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-pricing-radius);
  background: var(--surface);
  color: var(--text);
  box-shadow: none;
}

.am-section--pricing .pricing-card,
.am-section--pricing .pricing-plan,
.am-section--pricing .pricing-table {
  padding: var(--skin-pricing-panel-padding);
}

.am-section--pricing .pricing-card,
.am-section--pricing .pricing-plan {
  transition:
    transform var(--skin-transition-base),
    border-color var(--skin-transition-fast);
}

.am-section--pricing .pricing-card:hover,
.am-section--pricing .pricing-plan:hover {
  transform: var(--skin-hover-lift-sm);
}

.am-section--pricing .pricing-table {
  overflow: hidden;
  border-radius: var(--skin-pricing-table-radius);
}

.am-section--pricing .pricing-toggle,
.am-section--pricing .pricing-toggle-inner {
  border-width: 1px;
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-pricing-toggle-radius);
  background: var(--surface_soft, var(--surface));
  box-shadow: none;
}

.am-section--pricing .pricing-toggle-btn {
  border-radius: var(--skin-pricing-toggle-radius);
  transition:
    background-color var(--skin-transition-fast),
    color var(--skin-transition-fast);
}

.am-section--pricing .pricing-badge,
.am-section--pricing .pricing-pill {
  border-radius: var(--skin-pricing-pill-radius);
}

.am-section--pricing .pricing-more-summary {
  border-width: 1px;
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-card-radius-sm);
  background: var(--surface_soft, var(--surface));
  box-shadow: none;
}

/* =========================================================
   BUILDER SECTIONS V1 SAFE
========================================================= */
.am-section--faq,
.am-section--testimonials,
.am-section--stats,
.am-section--logos,
.am-section--team {
  gap: var(--skin-section-body-gap);
}

.am-section--faq .am-faq-item,
.am-section--faq .am-faq-panel,
.am-section--testimonials .am-testimonial-card,
.am-section--testimonials .am-testimonials-card,
.am-section--testimonials .am-t-card,
.am-section--stats .am-stat-card,
.am-section--stats .am-stat-tile,
.am-section--logos .am-logo-item,
.am-section--logos .am-logos-cell,
.am-section--team .am-team-card,
.am-section--team .am-team-member,
.am-section--services .am-card,
.am-service-card,
.am-section--features .am-card,
.am-feature-card {
  border-width: var(--skin-card-border-width);
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-card-radius);
  background: var(--surface);
  color: var(--text);
  box-shadow: none;
}

.am-section--faq .am-faq-item,
.am-section--faq .am-faq-panel,
.am-section--testimonials .am-testimonial-card,
.am-section--testimonials .am-testimonials-card,
.am-section--testimonials .am-t-card,
.am-section--stats .am-stat-card,
.am-section--stats .am-stat-tile,
.am-section--logos .am-logo-item,
.am-section--logos .am-logos-cell,
.am-section--team .am-team-card,
.am-section--team .am-team-member,
.am-section--services .am-card,
.am-service-card,
.am-section--features .am-card,
.am-feature-card {
  padding: var(--skin-card-padding);
}

.am-section--logos .am-logo-item,
.am-section--logos .am-logos-cell {
  padding: var(--skin-logos-cell-padding);
  border-radius: var(--skin-logos-cell-radius);
}

.am-section--testimonials .am-testimonial-card,
.am-section--testimonials .am-testimonials-card,
.am-section--testimonials .am-t-card {
  border-radius: var(--skin-testimonial-card-radius);
}

.am-section--team .am-team-card,
.am-section--team .am-team-member {
  border-radius: var(--skin-team-card-radius);
}

.am-section--faq .am-faq-item,
.am-section--testimonials .am-testimonial-card,
.am-section--testimonials .am-testimonials-card,
.am-section--testimonials .am-t-card,
.am-section--stats .am-stat-card,
.am-section--stats .am-stat-tile,
.am-section--logos .am-logo-item,
.am-section--logos .am-logos-cell,
.am-section--team .am-team-card,
.am-section--team .am-team-member,
.am-section--services .am-card,
.am-service-card,
.am-section--features .am-card,
.am-feature-card {
  transition:
    transform var(--skin-transition-base),
    border-color var(--skin-transition-fast);
}

.am-section--faq .am-faq-item:hover,
.am-section--testimonials .am-testimonial-card:hover,
.am-section--testimonials .am-testimonials-card:hover,
.am-section--testimonials .am-t-card:hover,
.am-section--stats .am-stat-card:hover,
.am-section--stats .am-stat-tile:hover,
.am-section--logos .am-logo-item:hover,
.am-section--logos .am-logos-cell:hover,
.am-section--team .am-team-card:hover,
.am-section--team .am-team-member:hover,
.am-section--services .am-card:hover,
.am-service-card:hover,
.am-section--features .am-card:hover,
.am-feature-card:hover {
  transform: var(--skin-hover-lift-sm);
}

.am-section--faq .am-faq-chip {
  border-radius: var(--skin-badge-radius);
}

.am-section--testimonials .am-testimonial-avatar {
  inline-size: var(--skin-testimonial-avatar-size);
  block-size: var(--skin-testimonial-avatar-size);
  overflow: hidden;
  border-radius: 4px;
}

.am-section--team .am-team-avatar {
  inline-size: var(--skin-team-avatar-size);
  block-size: var(--skin-team-avatar-size);
  overflow: hidden;
  border-radius: 4px;
}

.am-section--team .am-team-row .am-team-avatar {
  inline-size: var(--skin-team-avatar-size-sm);
  block-size: var(--skin-team-avatar-size-sm);
}

.am-section--team .am-team-pill {
  border-radius: var(--skin-team-pill-radius);
}

.am-section--steps .am-step-node {
  inline-size: var(--skin-step-node-size);
  block-size: var(--skin-step-node-size);
  border-radius: var(--skin-step-node-radius);
}

.am-section--features .am-feature-icon,
.am-section--features .am-feature-card-icon,
.am-section--features .am-feature-icon-badge {
  display: inline-grid;
  place-items: center;
  padding: 10px;
  border-width: 1px;
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-card-radius-sm);
  background: var(--surface_soft, var(--surface));
}

/* =========================================================
   CTA / CONTACT / HERO V1 SAFE
========================================================= */
.am-section--hero .hero__panel,
.am-section--cta .am-cta-card,
.am-section--cta .am-cta--card,
.am-contact-panel,
.am-contact-card,
.am-section--contact .contact-form-wrapper,
.am-section--contact .am-contact-map-panel {
  border-width: var(--skin-card-border-width);
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-card-radius);
  background: var(--surface);
  color: var(--text);
  box-shadow: none;
}

.am-section--hero .hero__panel {
  min-height: var(--skin-hero-panel-min-height);
  padding: var(--skin-hero-panel-padding);
  border-radius: var(--skin-hero-panel-radius);
}

.am-section--cta .am-cta-card,
.am-section--cta .am-cta--card {
  border-radius: var(--skin-cta-frame-radius);
}

.am-contact-panel,
.am-contact-card,
.am-section--contact .contact-form-wrapper {
  border-radius: var(--skin-contact-panel-radius);
}

.am-section--contact .am-contact-map-panel {
  border-radius: var(--skin-contact-map-radius);
}

.am-section--contact [class*="contact-pill"] {
  border-radius: var(--skin-contact-pill-radius);
}

.am-section--contact [class*="contact-circle"] {
  border-radius: var(--skin-contact-circle-shell-radius);
}

.am-section--hero .hero__panel,
.am-section--cta .am-cta-card,
.am-section--cta .am-cta--card,
.am-contact-panel,
.am-contact-card {
  padding: var(--skin-card-padding);
}

.am-section--hero .hero__media-inner,
.am-section--cta .am-cta-frame,
.am-section--contact .am-contact-map-panel {
  overflow: hidden;
  border-width: var(--skin-card-border-width);
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-card-radius);
  box-shadow: none;
}

.am-section--hero .hero__media-inner {
  border-radius: var(--skin-hero-media-radius);
}

.am-section--cta .am-cta-frame {
  border-radius: var(--skin-cta-media-radius);
}

/* =========================================================
   CASE STUDIES V1 SAFE
========================================================= */
.am-section--case_studies .am-cs-rail,
.am-section--case_studies .am-cs-rail-btn {
  border-radius: var(--skin-case-study-rail-radius);
}

.am-section--case_studies .am-cs-result-pill,
.am-section--case_studies [class*="case-study-pill"] {
  border-radius: var(--skin-case-study-pill-radius);
}

/* =========================================================
   ROOMS / ACCOMMODATION V1 SAFE
========================================================= */
.am-section--rooms .am-room-row,
.am-section--rooms .am-room-card {
  border-radius: var(--skin-room-card-radius);
  padding: var(--skin-room-card-padding);
}

.am-section--rooms [class*="room-media"],
.am-section--rooms .am-room-row__media-inner {
  border-radius: var(--skin-room-media-radius);
  aspect-ratio: var(--skin-room-media-ratio);
  overflow: hidden;
}

.am-section--rooms [class*="room-pill"],
.am-section--rooms .am-room-row__badge {
  border-radius: var(--skin-room-pill-radius);
}

.am-section--rooms .am-rooms-search__form {
  border-radius: var(--skin-room-search-radius);
}

.am-accommodation-content,
.am-accommodation-map,
.am-accommodation-faq,
.am-accommodation-related,
.am-accommodation-related-card {
  border-radius: var(--skin-accommodation-card-radius);
}

.am-accommodation-gallery,
.am-accommodation-gallery-item {
  border-radius: var(--skin-accommodation-gallery-radius);
  overflow: hidden;
}

.am-accommodation-sticky-card,
.am-accommodation-booking-summary {
  border-radius: var(--skin-accommodation-sticky-radius);
}

/* =========================================================
   CALENDAR / OTP V1 SAFE
========================================================= */
.rooms-calendar-panel,
#am-calendar-panel {
  border-radius: var(--skin-calendar-panel-radius);
}

.rooms-calendar__day,
.calendar-day {
  min-height: var(--skin-calendar-day-minh);
  border-radius: var(--skin-calendar-day-radius);
}

.rooms-calendar__summary,
.rooms-booking-price-summary {
  border-radius: var(--skin-calendar-summary-radius);
}

.rooms-booking-otp-input,
.subscription-otp-input,
#am-calendar-modal .am-otp-input {
  width: var(--skin-otp-input-size);
  height: var(--skin-otp-input-size);
  border-radius: var(--skin-otp-input-radius);
}

/* =========================================================
   FORMS / BOOKING / CONTACT / QUOTE SAFE WRAPPERS
========================================================= */
.am-form-wrapper,
.booking-form-wrapper,
.contact-form-wrapper,
.quote-form-wrapper,
.booking-calendar-wrapper {
  border-width: var(--skin-card-border-width);
  border-style: solid;
  border-color: var(--border);
  border-radius: var(--skin-form-panel-radius);
  background: var(--surface_soft, var(--surface));
  box-shadow: none;
}

.am-form-wrapper,
.booking-form-wrapper,
.contact-form-wrapper,
.quote-form-wrapper,
.booking-calendar-wrapper {
  padding: var(--skin-card-padding);
}

.am-field,
.am-field-group {
  gap: var(--skin-form-gap);
}

/* =========================================================
   CARD SURFACE — superficie all'85% / trasparenza al 15%
   Solo Feature Grid e le due varianti Hero richieste.
========================================================= */
.am-section--features.am-variant--grid .am-feature-card,
.am-section--hero.am-variant--default .hero__panel,
.am-section--hero.am-variant--minimal .hero__wrap--minimal {
  background: color-mix(in srgb, var(--surface, #fff) 85%, transparent);
}

.am-section--features.am-variant--grid .am-feature-card-media,
.am-section--hero.am-variant--default .hero__media-inner,
.am-section--hero.am-variant--minimal .hero__thumb-inner,
.am-section--solutions_grid.am-variant--alternating .am-solution-row__media {
  background: transparent;
}
