/* ============================================================
   PASANG ADVENTURES — Elementor cascade overrides (CLEAN REWRITE)
   Single source of truth. Applies the design system on top of
   Elementor's own widget/container classes site-wide.
   ============================================================ */

/* ---- Astra: full-width canvas, no theme gutter ---- */
.elementor-page .site-content .ast-container,
.ast-page-builder-template .site-content > .ast-container{max-width:100% !important; padding-left:0 !important; padding-right:0 !important;}

/* ---- Container widths (match source) ---- */
.e-con.container{width:100%; max-width:1200px !important; margin-inline:auto !important; padding-inline:var(--space-5) !important; --width:100%;}
.e-con.container--wide{max-width:1360px !important; --width:100%;}
.e-con.container--prose{max-width:680px !important; --width:100%;}

/* ---- Headings ---- */
.elementor-heading-title{font-family:var(--font-display) !important; font-weight:var(--fw-semibold,600) !important; color:var(--text-strong) !important; text-transform:uppercase; line-height:1.1; letter-spacing:.005em;}
.elementor-widget-heading h1.elementor-heading-title{font-size:var(--text-4xl);}
.elementor-widget-heading h2.elementor-heading-title{font-size:var(--text-3xl);}
.elementor-widget-heading h3.elementor-heading-title{font-size:var(--text-2xl);}
.elementor-widget-heading h4.elementor-heading-title{font-size:var(--text-md); text-transform:none;}

/* ---- Eyebrow / breadcrumb ---- */
.elementor-widget-text-editor.eyebrow .elementor-widget-container{display:inline-block; font-family:var(--font-accent); font-weight:var(--fw-semibold,600); font-size:var(--text-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--text-accent,var(--amber-600));}
.elementor-widget-text-editor.eyebrow--light .elementor-widget-container{color:var(--amber-300);}
.elementor-widget-text-editor.breadcrumb .elementor-widget-container{font-family:var(--font-accent); font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.8);}
.elementor-widget-text-editor.breadcrumb a{color:rgba(255,255,255,.8);}

/* ============================================================
   HERO — identical on every page (contact is the reference)
   ============================================================ */
.e-con.pagehero{position:relative; color:#fff; isolation:isolate; overflow:hidden; display:flex !important; align-items:center; min-height:clamp(320px,44vh,460px) !important; padding:0 !important; --padding-top:0; --padding-bottom:0; --padding-inline-start:0; --padding-inline-end:0;}
.e-con.pagehero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(26,24,21,.55), rgba(26,24,21,.68));}
.e-con.pagehero > .e-con.pagehero__inner{width:100% !important; max-width:1200px !important; margin-inline:auto !important; padding-block:var(--space-7) !important; padding-inline:var(--space-5) !important;}
.e-con.pagehero__inner{display:flex; flex-direction:column;}
.e-con.pagehero__inner > *{width:100%; max-width:720px; margin-inline:auto;}
.e-con.pagehero .elementor-heading-title{color:#fff !important; font-size:var(--text-4xl);}

/* ============================================================
   SECTIONS — consistent rhythm, no Elementor padding stacking
   ============================================================ */
.e-con.section, .e-con.stats-band{--padding-top:0; --padding-bottom:0; --padding-inline-start:0; --padding-inline-end:0;}
.e-con.section{padding:var(--space-8) 0 !important;}
.e-con.section--sunken{background:var(--bg-sunken,var(--stone-100));}
.e-con.section > .e-con.container, .e-con.stats-band > .e-con.container{--padding-top:0; --padding-bottom:0; padding-block:0 !important;}
.e-con.section-head{max-width:720px; margin:0 0 var(--space-7);}
.e-con.section-head--center{max-width:720px; margin-inline:auto; text-align:center;}

/* ============================================================
   CONTACT — grid, cards, form, FAQ
   ============================================================ */
.e-con.contact-grid{display:grid !important; gap:var(--space-7); grid-template-columns:1.1fr .9fr; align-items:start;}
.e-con.contact-info{display:flex !important; flex-direction:column; gap:var(--space-5);}
.e-con.info-card{display:flex !important; flex-direction:row !important; gap:16px; align-items:flex-start; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); padding:var(--space-5); box-shadow:var(--shadow-xs);}
.e-con.info-card > .elementor-widget-text-editor.info-card__icon{flex:none; width:auto !important;}
.info-card__icon .elementor-widget-container{width:44px; height:44px; border-radius:var(--radius-md); background:var(--olive-50); display:flex; align-items:center; justify-content:center;}
.info-card__icon svg{width:22px; height:22px; display:block;}
.e-con.info-card > .e-con.info-card__text{flex:1;}
.e-con.info-card .info-card__text{display:flex; flex-direction:column; gap:2px;}
.info-card .elementor-heading-title{font-size:var(--text-md) !important; text-transform:none; margin-bottom:2px;}
.e-con.form-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:var(--space-6); box-shadow:var(--shadow-md);}
.map-embed{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--border); aspect-ratio:16/7;}
.map-embed img{width:100%; height:100%; object-fit:cover; display:block;}
.form-card .form-intro .elementor-widget-container{color:var(--text-muted); font-size:var(--text-sm); margin-bottom:var(--space-2);}
.form-card .form-note .elementor-widget-container{font-size:var(--text-xs); color:var(--text-muted); margin-top:var(--space-4);}

/* WPForms skin */
.form-card .wpforms-field-label{font-family:var(--font-accent); font-weight:var(--fw-semibold,600); font-size:var(--text-sm); color:var(--text-strong);}
.form-card .wpforms-field input[type=text],.form-card .wpforms-field input[type=email],.form-card .wpforms-field input[type=tel],.form-card .wpforms-field input[type=number],.form-card .wpforms-field textarea,.form-card .wpforms-field .choices__inner,.form-card .wpforms-field select{width:100%; font-family:var(--font-body); font-size:var(--text-base); color:var(--text-strong); background:var(--surface); border:1.5px solid var(--border-strong); border-radius:var(--radius-sm); padding:11px 14px; transition:border-color .15s ease, box-shadow .15s ease;}
.form-card .wpforms-field input:focus,.form-card .wpforms-field textarea:focus,.form-card .wpforms-field select:focus{outline:none; border-color:var(--olive-500); box-shadow:0 0 0 3px var(--ring);}
.form-card .wpforms-field textarea{resize:vertical; min-height:128px; line-height:1.5;}
.form-card .wpforms-submit{display:inline-flex; align-items:center; justify-content:center; gap:.5em; width:100%; font-family:var(--font-accent); font-weight:var(--fw-semibold,600); font-size:var(--text-md); background:var(--amber-500) !important; color:var(--stone-900) !important; border:1.5px solid transparent !important; border-radius:var(--radius-sm); padding:15px 28px; cursor:pointer; letter-spacing:.02em;}
.form-card .wpforms-submit:hover{background:var(--amber-600) !important; color:var(--stone-50) !important;}
.form-card .wpforms-required-label{color:var(--garnet-600);}

/* FAQ accordion */
.faq .elementor-accordion .elementor-tab-title,.faq .elementor-accordion .elementor-tab-title a{color:var(--text-strong) !important; font-family:var(--font-accent); font-weight:var(--fw-semibold,600);}
.faq .elementor-accordion .elementor-tab-title.elementor-active,.faq .elementor-accordion .elementor-tab-title.elementor-active a,.faq .elementor-accordion .elementor-tab-title:hover{color:var(--olive-700) !important;}
.faq .elementor-widget-accordion .elementor-accordion-icon svg{fill:var(--olive-600) !important;}
.faq .elementor-accordion .elementor-accordion-item{border:1px solid var(--border) !important; border-radius:var(--radius-md) !important; margin-bottom:12px !important; overflow:hidden; background:var(--surface);}
.faq .elementor-accordion .elementor-tab-title{padding:18px 22px;}
.faq .elementor-accordion .elementor-tab-content{padding:0 22px 20px;}

/* ============================================================
   ABOUT — split, value grid, stats band, CTA band
   ============================================================ */
.e-con.split{display:grid !important; gap:var(--space-8); align-items:center; grid-template-columns:1fr 1fr;}
.e-con.split__media{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:4/3;}
.e-con.split__media img{width:100%; height:100%; object-fit:cover; display:block;}
.split__text .lede .elementor-widget-container{font-size:var(--text-md); color:var(--text-body);}

.e-con.value-grid{display:grid !important; gap:var(--space-5); grid-template-columns:repeat(3,1fr);}
.e-con.value-card{display:flex !important; flex-direction:column; gap:var(--space-3); background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-card); padding:var(--space-6); box-shadow:var(--shadow-sm);}
.value-card__icon .elementor-widget-container{width:48px; height:48px; border-radius:var(--radius-md); background:var(--amber-100); display:flex; align-items:center; justify-content:center;}
.value-card__icon svg{width:24px; height:24px; display:block;}
.e-con.value-card .elementor-heading-title{font-size:var(--text-lg) !important; text-transform:none;}

.e-con.stats-band{background:var(--slate-700) !important; color:#fff; padding:0 !important;}
.e-con.stats-band__grid{display:grid !important; grid-template-columns:repeat(4,1fr); gap:var(--space-7); padding-block:var(--space-8);}
.e-con.pa-stat{display:flex !important; flex-direction:column; gap:4px;}
.stats-band .pa-stat__value .elementor-widget-container{font-family:var(--font-display); font-weight:600; font-size:var(--text-4xl); color:#fff; line-height:1;}
.stats-band .pa-stat__label .elementor-widget-container{font-family:var(--font-accent); font-weight:600; font-size:var(--text-xs); letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.72);}
.stats-band__note .elementor-widget-container{margin-top:var(--space-7); color:rgba(255,255,255,.72); font-size:var(--text-sm); text-align:center; padding-bottom:var(--space-8);}

/* CTA band — container background, gradient overlay, controlled height */
.e-con.cta-band{position:relative; color:#fff; isolation:isolate; overflow:hidden; text-align:center; border-radius:var(--radius-2xl); display:block !important;}
.e-con.cta-band::after{content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg, rgba(45,66,100,.78), rgba(26,24,21,.82));}
.e-con.cta-band > *{position:relative; z-index:1;}
.e-con.cta-band__inner{padding:var(--space-9) var(--space-6) !important; max-width:640px; margin-inline:auto;}
.e-con.cta-band__inner .elementor-heading-title{color:#fff !important;}
.e-con.cta-cluster{display:flex !important; flex-direction:row; flex-wrap:wrap; gap:var(--space-3); justify-content:center;}

/* ============================================================
   BUTTONS — map .pa-btn--* to inner .elementor-button
   ============================================================ */
.elementor-widget-button.pa-btn{background:transparent !important; width:auto; border:none !important;}
.elementor-widget-button.pa-btn .elementor-button{background:transparent; border:1.5px solid transparent; border-radius:var(--radius-sm); font-family:var(--font-accent); font-weight:var(--fw-semibold,600); letter-spacing:.02em; display:inline-flex; align-items:center; justify-content:center; gap:.5em; padding:11px 20px; line-height:1; transition:background .15s ease,border-color .15s ease,color .15s ease;}
.elementor-widget-button.pa-btn--primary .elementor-button{background:var(--olive-600); color:var(--text-on-brand,#fff);}
.elementor-widget-button.pa-btn--primary .elementor-button:hover{background:var(--olive-700);}
.elementor-widget-button.pa-btn--accent .elementor-button{background:var(--amber-500); color:var(--stone-900);}
.elementor-widget-button.pa-btn--accent .elementor-button:hover{background:var(--amber-600); color:var(--stone-50);}
.elementor-widget-button.pa-btn--ghost-light .elementor-button{background:transparent; color:#fff; border-color:rgba(255,255,255,.5);}
.elementor-widget-button.pa-btn--ghost-light .elementor-button:hover{background:rgba(255,255,255,.12); border-color:#fff;}
.elementor-widget-button.pa-btn--secondary .elementor-button{background:transparent; color:var(--olive-700); border-color:var(--olive-300);}
.elementor-widget-button.pa-btn--secondary .elementor-button:hover{background:var(--olive-50); border-color:var(--olive-500);}
.elementor-widget-button.pa-btn--lg .elementor-button{font-size:var(--text-md); padding:15px 28px;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .e-con.contact-grid{grid-template-columns:1fr !important;}
  .e-con.split{grid-template-columns:1fr !important;}
  .e-con.value-grid{grid-template-columns:repeat(2,1fr) !important;}
  .e-con.stats-band__grid{grid-template-columns:repeat(2,1fr) !important;}
}
@media (max-width:640px){
  .e-con.value-grid{grid-template-columns:1fr !important;}
}

/* ============================================================
   TREKS — grid + cards
   ============================================================ */
.e-con.trek-grid{display:grid !important; gap:var(--space-5); grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
.e-con.trekcard{display:flex !important; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-sm); transition:box-shadow .2s ease, transform .2s ease;}
.e-con.trekcard:hover{box-shadow:var(--shadow-lg); transform:translateY(-3px);}
.e-con.trekcard__media{position:relative; aspect-ratio:4/3; background:var(--stone-200); overflow:hidden;}
.e-con.trekcard__media > .elementor-widget-image, .e-con.trekcard__media .elementor-widget-image .elementor-widget-container, .e-con.trekcard__media img{width:100%; height:100%;}
.e-con.trekcard__media img{object-fit:cover; display:block;}
.e-con.trekcard__tagrow{position:absolute; left:12px; top:12px; display:flex !important; flex-direction:row; gap:6px; width:auto;}
.e-con.trekcard__tagrow .elementor-widget{width:auto;}
.e-con.trekcard__body{padding:var(--space-4) var(--space-5) var(--space-5); display:flex !important; flex-direction:column; gap:8px; flex:1;}
.trekcard__region .elementor-widget-container{font-family:var(--font-accent); font-weight:600; font-size:var(--text-xs); letter-spacing:.14em; text-transform:uppercase; color:var(--text-accent);}
.e-con.trekcard__body .trekcard__title .elementor-heading-title{font-size:var(--text-lg) !important; text-transform:uppercase; line-height:1.1;}
.trekcard__desc .elementor-widget-container{font-size:var(--text-sm); color:var(--text-muted);}
.trekcard__detail{margin-top:auto;}