/* ==========================================================================
   TASTE MY ARUBA — design system (Elementor 4 containers)
   Ported 1:1 from the source stylesheet shared by all six pages.

   Structure mapping
     <header> / <section class="hero"> ...   ->  .tma.tma-hero          (parent container,
 boxed)
     <div class="wrap">                      ->  > .e-con-inner
     inner grid columns                      ->  child containers (full)
     <h1> <h2> <p>                           ->  widget > h1 / h2 / p

   Palette
     --green #2E8B57   --dark-green #173B2C   --sage #4E7079
     --cream #F4F1E8   --coral #E8874A
   ========================================================================== */

.tma{--green:#2E8B57;--dark-green:#173B2C;--sage:#4E7079;--cream:#F4F1E8;--coral:#E8874A}

/* containers: no default gap,
 no default 10px padding */
.tma,
.tma .e-con{--gap:0px;--row-gap:0px;--column-gap:0px}

/* ---- .wrap : max-width 1180 with 40px gutters == 1100 of content ---- */
.tma.e-con>.e-con-inner{max-width:1180px;margin-left:auto;margin-right:auto;width:100%;padding-left:40px;padding-right:40px}

/* ---- section padding,
 straight from the source stylesheet.
        Driven here rather than through container settings so it can't be
        re-mapped by Elementor's boxed-container padding vars. ---- */
.tma-hero>.e-con-inner{padding-block:90px 70px}
.tma.tma-hero-sub>.e-con-inner{padding-block:80px 60px}
.tma.tma-story>.e-con-inner{padding-block:100px}
.tma.tma-exp>.e-con-inner{padding-block:110px 60px}
.tma.tma-band>.e-con-inner{padding-block:100px}
.tma.tma-band-sub>.e-con-inner{padding-block:90px}
.tma.tma-mesa>.e-con-inner{padding-block:100px}
.tma.tma-ctaband>.e-con-inner{padding-block:90px}
.tma.tma-details>.e-con-inner{padding-block:90px}
.tma.tma-footer>.e-con-inner{padding-block:70px 40px}
.tma .tma-exp-card{padding:32px 28px}
.tma .tma-detail-card{padding:28px}
.tma .tma-mesa-card{padding:70px}

/* ---- base type ---- */
.tma{font-family:Archivo,sans-serif;background:#F4F1E8;color:#173B2C;line-height:1.5}
.tma .elementor-element,
.tma .elementor-heading-title,

.tma .elementor-widget-text-editor p{font-family:Archivo,sans-serif}
.tma .elementor-widget-heading h1,

.tma .elementor-widget-heading h2,

.tma .elementor-widget-heading h3,

.tma .elementor-widget-heading h4{font-family:'Baloo 2',sans-serif;font-weight:700;margin:0;color:#173B2C}
.tma .elementor-widget-text-editor p{margin:0;line-height:1.5;color:#173B2C}
.tma a{color:inherit;text-decoration:none}
.tma img{max-width:100%;display:block}

/* ---- vertical rhythm: the source uses element margins,
 restated on widgets ---- */
.tma .elementor-widget{margin-bottom:0}

/* ==========================================================================
   HEADER
   ========================================================================== */
.tma.tma-header{position:sticky;top:0;z-index:50;background:#F4F1E8;
  border-bottom:1px solid rgba(23,59,44,0.08)}
.tma.tma-header>.e-con-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
.tma .tma-brandmark{display:flex;align-items:center;gap:12px;width:auto}
.tma .tma-brandmark .tma-logo{width:46px;height:46px;flex:none}
.tma .tma-brandmark .tma-logo svg{width:46px;height:46px;display:block}
.tma .tma-brandname .elementor-heading-title{font-family:'Baloo 2',sans-serif;font-size:18px;
  color:#173B2C;line-height:1.5;margin:0;white-space:nowrap}
.tma .tma-navlinks{width:auto}
.tma .tma-navlinks .elementor-icon-list-items{display:flex;gap:30px;margin:0;padding:0;list-style:none}
.tma .tma-navlinks .elementor-icon-list-item{display:block;margin:0;padding:0;font-size:15px;line-height:1.5}
.tma .tma-navlinks .elementor-icon-list-text,
.tma .tma-navlinks a{font-family:Archivo,sans-serif;font-size:15px;
  line-height:1.5;color:#173B2C;opacity:0.85}
.tma .tma-navcta{width:auto}
.tma .tma-navcta .elementor-button{display:inline-block;background:#173B2C;color:#F4F1E8;
  padding:11px 22px;border-radius:100px;font-family:'Baloo 2',sans-serif;font-size:14px;
  font-weight:400;line-height:1.5;border:0}

/* breadcrumb bar (sub-pages) */
.tma.tma-crumb{background:#173B2C;color:#F4F1E8}
.tma.tma-crumb>.e-con-inner{text-align:center;padding-block:8px}
.tma.tma-crumb .elementor-widget-text-editor p{font-family:Archivo,sans-serif;font-size:13px;
  line-height:1.5;color:#F4F1E8;opacity:0.85}

/* ==========================================================================
   HERO
   ========================================================================== */
.tma.tma-hero>.e-con-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.tma.tma-hero-sub>.e-con-inner{grid-template-columns:1.05fr 0.95fr}
.tma.tma-hero>.e-con-inner>.e-con{width:auto}
.tma.tma-hero .tma-h1 h1{font-size:58px;line-height:1.04;color:#173B2C}
.tma.tma-hero-sub .tma-h1 h1{font-size:52px}
.tma.tma-hero .tma-sub{margin-top:22px}
.tma.tma-hero-sub .tma-sub{margin-top:20px}
.tma.tma-hero .tma-sub p{font-size:18px;max-width:460px;color:#3a4d45}
.tma.tma-hero-sub .tma-sub p{font-size:17px}
.tma.tma-hero .tma-note{margin-top:18px}
.tma.tma-hero .tma-note p{font-size:14px;max-width:460px;color:#4E7079}
.tma .tma-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px;width:auto}
.tma.tma-hero-sub .tma-ctas{margin-top:30px}
.tma .tma-ctas>.e-con{width:auto}

.tma .tma-btn-primary .elementor-button{display:inline-block;background:#E8874A;color:#F4F1E8;
  padding:15px 30px;border-radius:100px;font-family:Archivo,sans-serif;font-size:15px;
  font-weight:400;line-height:1.5;border:0;box-shadow:0 8px 20px rgba(232,135,74,0.35)}
.tma .tma-btn-secondary .elementor-button{display:inline-block;background:transparent;color:#173B2C;
  padding:15px 26px;border:2px solid #173B2C;border-radius:100px;font-family:Archivo,sans-serif;
  font-size:15px;font-weight:400;line-height:1.5;box-shadow:none}
.tma .tma-btn-onsage .elementor-button{border-color:#F4F1E8;color:#F4F1E8}

/* ---- hero art: two clip-path blobs ---- */
.tma .tma-hero-art{position:relative;height:440px}
.tma.tma-hero-sub .tma-hero-art{height:400px}
.tma .tma-blob{position:absolute;overflow:hidden;background:#4E7079;width:320px;height:380px;
  clip-path:path('M170 6C260 -4 336 62 338 168C340 274 300 380 196 396C92 412 12 350 6 240C0 130 80 16 170 6Z')}
.tma.tma-hero-sub .tma-blob{width:300px;height:350px}
.tma .tma-blob img{width:100%;height:100%;object-fit:cover;display:block}
.tma .tma-blob.tma-blob-one{top:0;left:60px}
.tma.tma-hero-sub .tma-blob.tma-blob-one{left:40px}
.tma .tma-blob.tma-blob-two{width:180px;height:210px;top:220px;left:220px;z-index:2;
  border:6px solid #F4F1E8;
  clip-path:path('M95 4C148 -3 189 36 190 94C191 152 168 212 108 220C48 228 6 190 4 130C2 70 42 11 95 4Z')}
.tma.tma-hero-sub .tma-blob.tma-blob-two{width:170px;height:190px;top:200px;left:210px}
.tma .tma-blob .elementor-widget-image,
.tma .tma-blob img{width:100%;height:100%}

/* ==========================================================================
   SCROLLING STRIP
   ========================================================================== */
.tma.tma-strip{background:#173B2C;color:#F4F1E8;overflow:hidden;white-space:nowrap}
.tma.tma-strip>.e-con-inner{max-width:none;padding-block:16px}
.tma.tma-strip .tma-strip-inner{display:inline-flex;gap:40px;font-size:15px;
  animation:tma-scroll 24s linear infinite}
.tma.tma-strip .tma-strip-inner span{font-family:Archivo,sans-serif;font-size:15px;line-height:1.5;color:#F4F1E8}
@keyframes tma-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tma.tma-strip .tma-strip-inner{animation:none}}

/* ==========================================================================
   STORY
   ========================================================================== */
.tma.tma-story>.e-con-inner{display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;align-items:center}
.tma.tma-story>.e-con-inner>.e-con{width:auto}
.tma .tma-photo-round{height:420px;border-radius:32px;overflow:hidden;background:#4E7079}
.tma .tma-photo-round .elementor-widget-image,
.tma .tma-photo-round img{width:100%;height:100%}
.tma .tma-photo-round img{object-fit:cover}
.tma .tma-eyebrow p{font-family:Archivo,sans-serif;font-size:13px;color:#E8874A;letter-spacing:1px;line-height:1.5}
.tma .tma-eyebrow{margin-bottom:10px}
.tma.tma-story .tma-h2 h2{font-size:36px;max-width:460px}
.tma.tma-story .tma-h2{margin-bottom:20px}
.tma.tma-story .tma-body p{font-size:16px;max-width:520px;color:#3a4d45}
.tma.tma-story .tma-body{margin-bottom:16px}
.tma.tma-story .tma-body:last-child{margin-bottom:0}

/* ==========================================================================
   EXPERIENCES
   ========================================================================== */
.tma .tma-exp-intro{max-width:600px;margin-bottom:60px}
.tma .tma-exp-intro .tma-h2 h2{font-size:38px}
.tma .tma-exp-intro .tma-h2{margin-bottom:16px}
.tma .tma-exp-intro .tma-body p{font-size:16px;color:#3a4d45}
.tma .tma-exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tma .tma-exp-grid>.e-con{width:auto}
.tma .tma-exp-card{background:#fff;border-radius:28px;border:1px solid rgba(23,59,44,0.08);
  position:relative;overflow:hidden}
.tma .tma-exp-card.tma-dark{background:#173B2C;color:#F4F1E8}
.tma .tma-exp-blob .elementor-heading-title{width:56px;height:56px;border-radius:50%;display:block;
  font-size:0;line-height:0;margin:0}
.tma .tma-exp-blob{margin-bottom:20px}
.tma .tma-exp-blob.tma-c-green .elementor-heading-title{background:#2E8B57}
.tma .tma-exp-blob.tma-c-coral .elementor-heading-title{background:#E8874A}
.tma .tma-exp-blob.tma-c-sage .elementor-heading-title{background:#4E7079}
.tma .tma-dot.tma-c-green .elementor-heading-title{background:#2E8B57}
.tma .tma-dot.tma-c-coral .elementor-heading-title{background:#E8874A}
.tma .tma-dot.tma-c-sage .elementor-heading-title{background:#4E7079}
.tma .tma-dot.tma-c-dark .elementor-heading-title{background:#173B2C}
.tma .tma-exp-name h3{font-family:'Baloo 2',sans-serif;font-size:21px;color:#173B2C;line-height:1.5}
.tma .tma-exp-card.tma-dark .tma-exp-name h3{color:#F4F1E8}
.tma .tma-exp-name{margin-bottom:10px}
.tma .tma-exp-card .tma-body p{font-size:14px;color:#3a4d45;margin:0}
.tma .tma-exp-card.tma-dark .tma-body p{color:#c7d6ce}
.tma .tma-exp-link{margin-top:12px}
.tma .tma-exp-link .elementor-button-wrapper{font-size:13px;line-height:1.5}
.tma .tma-exp-link .elementor-button{display:inline-block;background:transparent;padding:0;border:0;
  font-family:Archivo,sans-serif;font-size:13px;line-height:1.5;color:#2E8B57;box-shadow:none}
.tma .tma-exp-card.tma-dark .tma-exp-link .elementor-button{color:#F4F1E8;text-decoration:underline}

/* ==========================================================================
   FOOD BAND  /  SAGE BAND
   ========================================================================== */
.tma.tma-band{background:#4E7079;color:#F4F1E8}
.tma.tma-band>.e-con-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.tma.tma-band-sub>.e-con-inner{gap:56px}
.tma.tma-band>.e-con-inner>.e-con{width:auto}
.tma.tma-band .tma-h2 h2{font-size:36px;color:#F4F1E8}
.tma.tma-band-sub .tma-h2 h2{font-size:32px}
.tma.tma-band .tma-h2{margin-bottom:20px}
.tma.tma-band-sub .tma-h2{margin-bottom:16px}
.tma.tma-band .tma-body p{font-size:16px;max-width:460px;color:#F4F1E8;opacity:0.95}
.tma.tma-band-sub .tma-body p{font-size:15px;max-width:440px}
.tma.tma-band .tma-body{margin-bottom:16px}
.tma.tma-band-sub .tma-body{margin-bottom:10px}
.tma .tma-food-photo{height:380px;border-radius:32px;overflow:hidden}
.tma .tma-band-photo{height:320px;border-radius:28px;overflow:hidden}
.tma .tma-food-photo .elementor-widget-image,
.tma .tma-food-photo img,

.tma .tma-band-photo .elementor-widget-image,
.tma .tma-band-photo img{width:100%;height:100%}
.tma .tma-food-photo img,
.tma .tma-band-photo img{object-fit:cover}

/* ==========================================================================
   MESA CALLOUT
   ========================================================================== */
.tma .tma-mesa-card{background:#173B2C;border-radius:36px;color:#F4F1E8;display:grid;
  grid-template-columns:1.1fr 0.9fr;gap:50px;align-items:center;position:relative;overflow:hidden}
.tma .tma-mesa-card>.e-con{width:auto;position:relative;z-index:2}
.tma .tma-mesa-card:before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;
  background:#2E8B57;opacity:0.25;top:-140px;right:-100px}
.tma .tma-mesa-eyebrow p{font-family:Archivo,sans-serif;font-size:13px;color:#E8874A;letter-spacing:1px;line-height:1.5}
.tma .tma-mesa-eyebrow{margin-bottom:10px}
.tma .tma-mesa-card .tma-h2 h2{font-size:34px;color:#F4F1E8}
.tma .tma-mesa-card .tma-h2{margin-bottom:16px}
.tma .tma-mesa-card .tma-body p{font-size:15px;color:#c7d6ce;max-width:440px}
.tma .tma-mesa-card .tma-body{margin-bottom:24px}
.tma .tma-mesa-seats p{font-family:Archivo,sans-serif;font-size:14px;color:#4E7079;line-height:1.5}

/* ==========================================================================
   DETAIL CARDS (sub-pages)
   ========================================================================== */
.tma .tma-details-intro{max-width:620px;margin-bottom:50px}
.tma .tma-details-intro .tma-h2 h2{font-size:34px}
.tma .tma-details-intro .tma-h2{margin-bottom:14px}
.tma .tma-details-intro .tma-body p{font-size:16px;color:#3a4d45}
.tma .tma-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tma .tma-detail-grid>.e-con{width:auto}
.tma .tma-detail-card{background:#fff;border-radius:24px;border:1px solid rgba(23,59,44,0.08)}
.tma .tma-dot .elementor-heading-title{width:14px;height:14px;border-radius:50%;display:block;
  font-size:0;line-height:0;margin:0}
.tma .tma-dot{margin-bottom:14px}
.tma .tma-detail-name h3{font-family:'Baloo 2',sans-serif;font-size:16px;color:#173B2C;line-height:1.5}
.tma .tma-detail-name{margin-bottom:8px}
.tma .tma-detail-card .tma-body p{font-size:13px;color:#3a4d45}
.tma .tma-detail-note{margin-top:28px}
.tma .tma-detail-note p{font-size:16px;color:#173B2C}
.tma .tma-detail-note b{font-weight:700}
.tma .tma-price-note{margin-top:18px}
.tma.tma-ctaband-sub .tma-price-note{margin-bottom:28px}
.tma .tma-price-note p{font-size:11px;color:#4E7079}

/* ==========================================================================
   CLOSING CTA
   ========================================================================== */
.tma.tma-ctaband>.e-con-inner{text-align:center}
.tma.tma-ctaband .tma-h2 h2{font-size:40px;max-width:600px;margin-left:auto;margin-right:auto}
.tma.tma-ctaband-sub .tma-h2 h2{font-size:38px}
.tma.tma-ctaband .tma-h2{margin-bottom:26px}
.tma.tma-ctaband-sub .tma-h2{margin-bottom:24px}
.tma.tma-ctaband .tma-body p{max-width:500px;margin-left:auto;margin-right:auto;font-size:16px;color:#3a4d45}
.tma.tma-ctaband .tma-body{margin-bottom:30px}
.tma.tma-ctaband-sub .tma-body{margin-bottom:28px}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.tma.tma-footer{background:#173B2C;color:#F4F1E8}
.tma .tma-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px}
.tma .tma-footer-grid>.e-con{width:auto}
.tma .tma-footer-logo{margin-bottom:14px}
.tma .tma-footer-logo svg{width:56px;height:56px;display:inline-block;vertical-align:baseline}
.tma .tma-footer-brand p{font-size:14px;color:#a9c2b6;max-width:220px;line-height:1.5}
.tma .tma-footer-col h4{font-family:'Baloo 2',sans-serif;font-size:15px;color:#F4F1E8;line-height:1.5}
.tma .tma-footer-col .tma-foot-head{margin-bottom:14px}
.tma .tma-footer-col .elementor-icon-list-items{display:block;margin:0;padding:0;list-style:none}
.tma .tma-footer-col .elementor-icon-list-item{display:block;margin:0 0 9px;padding:0}
.tma .tma-footer-col .elementor-icon-list-text,
.tma .tma-footer-col a{display:block;font-family:Archivo,sans-serif;
  font-size:14px;color:#c7d6ce;line-height:1.5}
.tma .tma-footer-bottom{margin-top:60px;padding-top:24px;border-top:1px solid rgba(244,241,232,0.12);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.tma .tma-footer-bottom>.e-con{width:auto}
.tma .tma-footer-bottom p{font-family:Archivo,sans-serif;font-size:13px;color:#8fa89b;line-height:1.5}

/* ==========================================================================
   RESPONSIVE — the source breakpoint, 900px
   ========================================================================== */
@media (max-width:900px){
  .tma.tma-hero>.e-con-inner,

  .tma.tma-band>.e-con-inner,

  .tma.tma-story>.e-con-inner{grid-template-columns:1fr}
  .tma .tma-navlinks{display:none}
  .tma.tma-hero .tma-h1 h1{font-size:38px}
  .tma.tma-hero-sub .tma-h1 h1{font-size:36px}
  .tma .tma-exp-grid{grid-template-columns:1fr}
  .tma .tma-detail-grid{grid-template-columns:1fr}
  .tma .tma-mesa-card{grid-template-columns:1fr;padding:40px}
  .tma .tma-footer-grid{grid-template-columns:1fr 1fr}
}
