/*
 * Travora Global Layout System — v1.8.0
 * ------------------------------------------------------------
 * Owns site geometry only: containers, page shells, section rhythm
 * and WordPress wide/full alignment. Page styles may compose these
 * primitives but must not redefine the global .container contract.
 */

:root{
  --section-space-sm:clamp(56px,6vw,80px);
  --section-space-md:clamp(72px,7vw,96px);
  --section-space-lg:clamp(84px,8vw,112px);
  --section-space-xl:clamp(96px,9vw,132px);
}

/* Canonical horizontal rhythm. */
.container,
.layout-container{
  width:min(var(--site-container),calc(100% - (var(--site-gutter) * 2)));
  max-width:var(--site-container);
  margin-inline:auto;
}
.container-wide{width:min(var(--site-container-wide),calc(100% - (var(--site-gutter) * 2)));max-width:var(--site-container-wide);margin-inline:auto;}
.container-narrow{width:min(var(--site-container-narrow),calc(100% - (var(--site-gutter) * 2)));max-width:var(--site-container-narrow);margin-inline:auto;}
.container-reading{width:min(var(--site-container-reading),calc(100% - (var(--site-gutter) * 2)));max-width:var(--site-container-reading);margin-inline:auto;}

/* Shared vertical rhythm for new/refactored sections. Legacy aliases retain
 * their 1.7.x spacing until each page is migrated in later stages. */
.section-sm{padding-block:var(--section-space-sm);}
.section-md{padding-block:var(--section-space-md);}
.section-lg{padding-block:var(--section-space-lg);}
.section-xl{padding-block:var(--section-space-xl);}

/* Every custom template gets one page shell. The shell scopes page visuals
 * without wrapping or influencing the shared header/footer chrome. */
.travora-page-shell{
  position:relative;
  width:100%;
  min-width:0;
  background:transparent;
}
.travora-page-shell > .site-main,
.travora-page-shell > main{
  display:block;
  min-width:0;
}

/* Existing visual wrappers are transparent by contract. */
.travora-page-shell,
.travora-booking-systems-page,
.travora-automation-systems-page,
.travora-whatsapp-ai-sales-assistant-page,
.travora-crm-booking-automation-page,
.travora-email-follow-up-systems-page,
.travora-dmc-booking-system-page,
.travora-hotel-booking-system-page,
.travora-tour-operator-booking-system-page,
.travora-solutions-page,
.site-shell,
.page-shell{
  background:transparent;
}

/* Decorative page backgrounds no longer restart the global site canvas. */
.page-bg,
.travora-booking-systems-page .page-bg,
.page-grid{
  display:none!important;
}

/* Header/content rhythm survives both legacy direct-main templates and the
 * Stable page-shell architecture. */
.site-header + main,
.site-header + .travora-page-shell > main,
.site-header + .travora-page-shell > .site-main,
.site-header + div > main,
.site-header + div > .page-shell > main{
  margin-top:18px;
}

body.travora-site :where(.wp-block-image,.wp-block-video,.wp-block-embed){margin-inline:0;}
body.travora-site :where(.alignwide){width:min(var(--site-container-wide),calc(100% - (var(--site-gutter) * 2)));max-width:none;margin-inline:auto;}
body.travora-site :where(.alignfull){width:100%;max-width:none;}

@media(max-width:1024px){
  .site-header + main,
  .site-header + .travora-page-shell > main,
  .site-header + .travora-page-shell > .site-main,
  .site-header + div > main,
  .site-header + div > .page-shell > main{margin-top:8px;}
}

@media(max-width:720px){
  :root{--site-gutter:var(--site-gutter-mobile);}
  .container,
  .layout-container,
  .container-wide,
  .container-narrow,
  .container-reading{
    width:calc(100% - (var(--site-gutter) * 2));
  }
}

/* Canonical section contract for standalone/custom compositions. */
.travora-page-shell .section{
  position:relative;
  padding-block:var(--section-space-lg);
}
.travora-page-shell .section.section-sm{padding-block:var(--section-space-sm);}
.travora-page-shell .section.section-md{padding-block:var(--section-space-md);}
.travora-page-shell .section.section-lg{padding-block:var(--section-space-lg);}
.travora-page-shell .section.section-xl{padding-block:var(--section-space-xl);}
.travora-page-shell .section.compact{padding-block:var(--section-space-sm);}
/* Hero sections without an explicit size modifier use the canonical XL rhythm. */
.travora-page-shell .hero.section:not(.section-sm):not(.section-md):not(.section-lg):not(.section-xl){padding-block:var(--section-space-xl);}
.travora-page-shell .section-surface{
  border-block:1px solid rgba(230,247,255,.07);
  background:linear-gradient(180deg,rgba(16,42,67,.30),rgba(0,191,255,.025));
}
@media(max-width:720px){
  .travora-page-shell .section{padding-block:var(--section-space-md);}
}
