/* =========================================================
   DLG THEME STANDARDIZATION
   Visual tokens only: fonts, colors, effects.
========================================================= */

:root{
  --color-page:#f4f7f7;
  --color-surface:#ffffff;
  --color-surface-soft:#f7fbfa;
  --color-primary:#247d80;
  --color-primary-dark:#155f63;
  --color-primary-deep:#07545c;
  --color-accent:#bc955c;
  --color-accent-soft:#dfe9c8;
  --color-heading:#155f63;
  --color-text:#283638;
  --color-muted:#687476;
  --color-line:rgba(36,125,128,.18);
  --color-line-strong:rgba(36,125,128,.26);
  --color-white:#ffffff;
  --shadow-soft:0 14px 34px rgba(33,64,72,.075);
  --shadow-card:0 22px 52px rgba(33,64,72,.12);
  --shadow-float:0 28px 70px rgba(0,0,0,.16);
  --ease-standard:cubic-bezier(.22,.72,.22,1);
  --fx-fast:.24s;
  --fx-base:.34s;
  --fx-slow:.58s;
}

body{
  background:var(--color-page);
  color:var(--color-text);
  font-family:var(--font-body);
}

h1,
h2,
h3,
h4,
h5,
h6{
  font-family:var(--font-title);
  color:inherit;
}

button,
input,
select,
textarea{
  font-family:var(--font-ui);
}

::selection{
  background:rgba(36,125,128,.22);
  color:var(--color-primary-dark);
}

:focus-visible{
  outline:2px solid rgba(36,125,128,.72);
  outline-offset:4px;
}

.dlg-home-content,
.dlg-about-simple,
.dlg-rooms-page,
.dining-page,
.meeting-page,
.spa-page,
.dlg-gallery-page,
.dlg-offers-page,
.dlg-offer-detail,
.special-detail-page,
.contact-page,
.wellness-page{
  color:var(--color-text);
  font-family:var(--font-body);
}

.dlg-home-content{
  --dlg-teal:var(--color-primary);
  --dlg-teal-dark:var(--color-primary-dark);
  --dlg-page:var(--color-page);
  --dlg-soft:#e8efdf;
  --dlg-text:var(--color-text);
  --dlg-muted:var(--color-muted);
  --dlg-line:var(--color-line);
  --dlg-shadow:var(--shadow-card);
}

.dlg-about-simple{
  --about-green:var(--color-primary);
  --about-dark:var(--color-primary-dark);
  --about-gold:var(--color-accent);
  --about-cream:#f7efe8;
  --about-text:var(--color-text);
  --about-muted:var(--color-muted);
  --about-line:var(--color-line);
}

.dining-page{
  --dining-green:var(--color-primary);
  --dining-dark:var(--color-primary-dark);
  --dining-gold:var(--color-accent);
  --dining-text:var(--color-text);
  --dining-muted:var(--color-muted);
  --dining-line:var(--color-line);
}

.meeting-page{
  --meeting-green:var(--color-primary);
  --meeting-dark:var(--color-primary-dark);
  --meeting-gold:var(--color-accent);
  --meeting-text:var(--color-text);
  --meeting-muted:var(--color-muted);
  --meeting-line:var(--color-line);
}

.spa-page{
  --spa-green:var(--color-primary);
  --spa-dark:var(--color-primary-dark);
  --spa-gold:var(--color-accent);
  --spa-text:var(--color-text);
  --spa-muted:var(--color-muted);
  --spa-line:var(--color-line);
}

.dlg-gallery-page{
  --gallery-green:var(--color-primary);
  --gallery-dark:var(--color-primary-dark);
  --gallery-gold:var(--color-accent);
  --gallery-text:var(--color-text);
  --gallery-muted:var(--color-muted);
  --gallery-line:var(--color-line);
  --gallery-bg:var(--color-page);
}

.dlg-offers-page{
  --offers-green:var(--color-primary);
  --offers-dark:var(--color-primary-dark);
  --offers-gold:var(--color-accent);
  --offers-text:var(--color-text);
  --offers-muted:var(--color-muted);
  --offers-soft:var(--color-page);
}

.dlg-offer-detail,
.dlg-room-detail{
  --dlg-teal:var(--color-primary);
  --dlg-teal-dark:var(--color-primary-dark);
  --dlg-gold:var(--color-accent);
  --dlg-text:var(--color-text);
  --dlg-muted:var(--color-muted);
  --dlg-line:var(--color-line);
  --dlg-page-bg:var(--color-page);
  --dlg-white:var(--color-white);
  --dlg-icon-soft:var(--color-accent-soft);
}

.special-detail-page{
  --special-green:var(--color-primary);
  --special-dark:var(--color-primary-dark);
  --special-gold:var(--color-accent);
  --special-text:var(--color-text);
  --special-muted:var(--color-muted);
  --special-soft:var(--color-page);
  --special-line:var(--color-line);
}

.contact-page{
  --contact-green:var(--color-primary);
  --contact-dark:var(--color-primary-dark);
  --contact-gold:var(--color-accent);
  --contact-text:var(--color-text);
  --contact-muted:var(--color-muted);
  --contact-line:var(--color-line);
}

.wellness-page{
  --wellness-cream:var(--color-page);
  --wellness-soft:#f1eadf;
  --wellness-red:var(--color-primary);
  --wellness-ink:var(--color-text);
  --wellness-muted:#514843;
  --wellness-line:rgba(36,125,128,.24);
  --wellness-ease:var(--ease-standard);
}

.footer-lhag{
  --footer-bg:var(--color-primary);
  --footer-bg-deep:var(--color-primary-dark);
  --footer-text:var(--color-white);
  --footer-muted:rgba(255,255,255,.86);
  --footer-soft:var(--color-accent-soft);
  --footer-line:rgba(255,255,255,.34);
  font-family:var(--font-body);
}

.site-header{
  --header-primary:var(--color-primary);
  --header-primary-dark:var(--color-primary-dark);
  --header-accent:#e9d9a6;
}

.nav-link,
.book-btn,
.mobile-book-btn,
.header-booking-submit,
.language-dropdown,
.mobile-menu-links a,
.header-booking,
.footer-lhag,
.rooms-card__btn,
.dining-link,
.meeting-link,
.spa-link,
.offers-card__btn,
.offer-btn,
.special-detail-btn,
.contact-submit{
  font-family:var(--font-ui) !important;
}

.dlg-section-title h2,
.dlg-welcome h1,
.dlg-dining__panel h3,
.dlg-service-card h3,
.dlg-awards__header h2,
.about-simple-banner__content h1,
.dlg-about-simple h1,
.dlg-about-simple h2,
.rooms-hero h1,
.rooms-card__body h3,
.dining-hero-content h1,
.dining-text h2,
.meeting-hero-content h1,
.meeting-text h2,
.spa-hero-content h1,
.spa-text h2,
.gallery-hero__content h1,
.gallery-heading h2,
.offers-hero__title,
.offers-heading h2,
.contact-card__info h1,
.contact-section-heading h2,
.footer-lhag__col h4{
  font-family:var(--font-title) !important;
}

.nav-link:hover,
.language-trigger:hover,
.mobile-menu-links a:hover,
.dining-label,
.meeting-label,
.spa-label,
.gallery-kicker,
.offers-kicker,
.offer-kicker,
.special-detail-label,
.contact-eyebrow,
.dlg-kicker,
.dlg-section-title span{
  color:var(--color-accent);
}

.book-btn,
.mobile-book-btn,
.header-booking-submit,
.rooms-card__btn--book,
.offers-card__btn,
.contact-submit{
  transition:
    background var(--fx-base) ease,
    border-color var(--fx-base) ease,
    color var(--fx-base) ease,
    transform var(--fx-base) var(--ease-standard),
    box-shadow var(--fx-base) ease;
}

.book-btn:hover,
.mobile-book-btn:hover,
.header-booking-submit:hover,
.rooms-card__btn--book:hover,
.offers-card__btn:hover,
.contact-submit:hover{
  transform:translateY(-2px);
}

.rooms-card,
.dlg-service-card,
.dlg-award-card,
.dining-item,
.meeting-item,
.spa-item,
.gallery-card,
.offers-card,
.contact-card{
  transition:
    transform var(--fx-slow) var(--ease-standard),
    border-color var(--fx-base) ease,
    background var(--fx-base) ease,
    box-shadow var(--fx-base) ease;
}

.rooms-card:hover,
.dlg-service-card:hover,
.dlg-award-card:hover,
.gallery-card:hover,
.offers-card:hover,
.contact-card:hover{
  box-shadow:var(--shadow-card);
}

.dlg-image-soft img,
.rooms-card__media img,
.dining-image img,
.meeting-image img,
.spa-image img,
.gallery-card img,
.offers-card__media img,
.contact-card__image img{
  transition:
    transform .9s var(--ease-standard),
    filter var(--fx-slow) ease;
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
