/* Sun & Sage mobile refinement — September 2026. */

/* About-page location marker replaces the demo counter. */
.page-id-3564 .ss-about-address-mark {
  display:block;
  color:var(--sun-sage,#8ca255);
  font:500 clamp(64px,8vw,104px)/.9 "Playfair Display",serif;
}
.page-id-3564 .elementor-element-1fd0f48 .title {
  max-width:260px;
  color:#73665f;
  line-height:1.45;
}

/* The two editorial image tiles remain photographs with simple overlaid type. */
.elementor-element-4eed002 > .elementor-element,
.elementor-element-3390549 > .elementor-element,
.elementor-element-4eed002 .elementor-widget-container,
.elementor-element-3390549 .elementor-widget-container,
.elementor-element-4eed002 .tm-text-editor,
.elementor-element-3390549 .tm-text-editor,
.elementor-element-4eed002 h4,
.elementor-element-3390549 h4 {
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.elementor-element-4eed002 h4,
.elementor-element-3390549 h4 {
  padding:0 !important;
  color:#fff !important;
  text-shadow:0 2px 18px rgba(24,16,13,.68);
}
.elementor-element-4eed002 .theme-btn,
.elementor-element-3390549 .theme-btn {
  min-height:0 !important;
  padding:2px 0 5px !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.72) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#fff !important;
}

/* Founding badge: one high-contrast line on mobile and desktop. */
.ss-home-founding-media > span {
  display:flex !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  align-items:baseline !important;
  justify-content:center;
  gap:9px !important;
}
.ss-home-founding-media > span b,
.ss-home-founding-media > span small {
  margin:0 !important;
  color:#fff !important;
  text-align:left !important;
}

/* Training eligibility reads as a guided checklist instead of a text wall. */
.sun-sage-ttc-page .ss-fit-list {
  display:grid;
  gap:10px;
  margin:22px 0 20px;
  padding:0;
  list-style:none;
}
.sun-sage-ttc-page .ss-fit-list li {
  position:relative;
  margin:0;
  padding:15px 16px 15px 47px;
  border:1px solid rgba(75,46,37,.11);
  border-radius:14px;
  background:rgba(255,253,250,.72);
  line-height:1.55;
}
.sun-sage-ttc-page .ss-fit-list li::before {
  content:"✓";
  position:absolute;
  top:14px;
  left:15px;
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border-radius:50%;
  background:var(--sun-deep-sage,#556b2f);
  color:#fff;
  font-size:11px;
  font-weight:800;
}

/* Faculty carousel controls sit on the left/right edges of the photograph. */
.sun-sage-ttc-page .ss-team-carousel__nav {
  position:absolute;
  z-index:6;
  top:112px;
  right:13px;
  left:13px;
  display:flex;
  justify-content:space-between;
  margin:0;
  pointer-events:none;
}
.sun-sage-ttc-page .ss-team-carousel__nav button {
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  border:2px solid rgba(255,255,255,.86) !important;
  background:rgba(75,46,37,.92) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(29,19,15,.24);
  font-family:Arial,sans-serif !important;
  font-weight:800;
  line-height:1;
  pointer-events:auto;
}
.sun-sage-ttc-page .ss-team-carousel__nav button:hover,
.sun-sage-ttc-page .ss-team-carousel__nav button:focus-visible {
  background:var(--sun-deep-sage,#556b2f) !important;
}

/* Course-enrolment CTA stays distinct from the chocolate section. */
.sun-sage-ttc-page .ss-ttc-final .elementor-button,
.sun-sage-ttc-page .ss-ttc-final a.ss-ttc-enrol {
  border:2px solid #fff !important;
  background:#fff !important;
  color:var(--sun-chocolate,#4b2e25) !important;
  box-shadow:0 10px 26px rgba(28,18,14,.2);
}
.sun-sage-ttc-page .ss-ttc-final .elementor-button *,
.sun-sage-ttc-page .ss-ttc-final a.ss-ttc-enrol * {
  color:var(--sun-chocolate,#4b2e25) !important;
}

/* Membership actions are centred, balanced and easy to tap. */
.page-id-3568 .ss-membership-card .elementor-button {
  display:flex !important;
  width:100% !important;
  min-height:56px;
  align-items:center;
  justify-content:center;
  padding:14px 22px !important;
  text-align:center;
}
.page-id-3568 .ss-membership-card .elementor-button-text {
  width:100%;
  text-align:center;
  line-height:1.35;
}

/* Horizontal account and booking strips support touch gestures without a clumsy scrollbar. */
.woocommerce-MyAccount-navigation,
.robina-stepper {
  -webkit-overflow-scrolling:touch;
  overflow-x:auto !important;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  touch-action:pan-x;
  scrollbar-width:none;
}
.woocommerce-MyAccount-navigation::-webkit-scrollbar,
.robina-stepper::-webkit-scrollbar { display:none; }
.woocommerce-MyAccount-navigation li,
.robina-stepper__item { scroll-snap-align:start; }
.ss-account-swipe-hint {
  margin:0 0 9px;
  color:#806f65;
  font:700 9px/1.3 "Azeret Mono",monospace;
  letter-spacing:.08em;
  text-align:right;
  text-transform:uppercase;
}
.ss-account-swipe-hint span { color:var(--sun-deep-sage,#556b2f); font-size:15px; }

@media (max-width:767px) {
  /* Consistent compact page-title treatment on every internal page. */
  .page-title { min-height:0 !important; padding-block:0 !important; }
  .page-title > .container,
  .page-title > .container.padding-medium {
    padding-top:58px !important;
    padding-bottom:62px !important;
  }
  .page-title .title {
    margin-bottom:14px !important;
    font-size:clamp(31px,8.8vw,39px) !important;
    line-height:1.06 !important;
  }
  .page-title .breadcrumbs { margin-top:0 !important; }

  /* Header geometry and a true side-drawer navigation. */
  #elementor-header-top .elementor-element-daf785e > .e-con-inner {
    position:relative !important;
    min-height:78px !important;
  }
  #elementor-header-top .elementor-element-ac5d23e {
    display:flex !important;
    align-items:center !important;
    align-self:stretch !important;
  }
  #elementor-header-top .elementor-element-5da20ed {
    position:static !important;
    align-self:stretch !important;
    justify-content:flex-end !important;
    align-items:center !important;
  }
  #elementor-header-top .ss-mobile-menu-toggle {
    position:absolute !important;
    top:50% !important;
    right:0 !important;
    margin:0 !important;
    align-self:auto !important;
    flex:0 0 48px;
    transform:translateY(-50%);
  }
  #elementor-header-top .ss-mobile-menu-backdrop {
    position:fixed;
    inset:0;
    z-index:1000;
    display:block;
    border:0;
    background:rgba(31,22,18,.48) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease,visibility .25s ease;
  }
  #elementor-header-top.ss-mobile-menu-open .ss-mobile-menu-backdrop {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu {
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    z-index:1001 !important;
    display:block !important;
    width:min(88vw,380px) !important;
    height:100dvh !important;
    max-height:none !important;
    margin:0 !important;
    padding:88px 18px 26px !important;
    overflow-y:auto;
    border:0 !important;
    border-left:1px solid rgba(75,46,37,.12) !important;
    border-radius:0 !important;
    background:#f5eddf !important;
    box-shadow:-24px 0 60px rgba(36,24,19,.2) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(105%);
    transition:transform .28s ease,opacity .2s ease,visibility .28s ease;
  }
  #elementor-header-top.ss-mobile-menu-open .elementor-element-5da20ed .menuzord-menu {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
  }
  #elementor-header-top.ss-mobile-menu-open .ss-mobile-menu-toggle {
    position:fixed;
    top:22px;
    right:22px;
    z-index:1003;
    transform:none;
  }
  body.admin-bar #elementor-header-top .elementor-element-5da20ed .menuzord-menu {
    top:46px !important;
    height:calc(100dvh - 46px) !important;
  }
  body.admin-bar #elementor-header-top.ss-mobile-menu-open .ss-mobile-menu-toggle { top:60px !important; }
  body.ss-mobile-nav-active { overflow:hidden; }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li > a {
    min-height:52px;
    padding:14px 12px !important;
    border-bottom:1px solid rgba(75,46,37,.09);
    border-radius:0;
    font-weight:600;
    letter-spacing:.035em;
  }

  /* Smaller editorial headings keep mobile pages calm and readable. */
  .ss-classes-intro h2,
  .ss-home-founding-copy h2,
  .ss-home-ttc-copy h2,
  .ss-journal-page > header h1,
  .sun-sage-ttc-page h2.elementor-heading-title,
  .page-id-3564 h2.elementor-heading-title {
    font-size:clamp(34px,10.2vw,43px) !important;
    line-height:1.04 !important;
  }
  .ss-classes-intro h2 { font-size:clamp(36px,10.6vw,44px) !important; }

  /* A cleaner, intentionally ordered mobile footer. */
  .ss-footer-final {
    padding:30px 20px 20px !important;
    text-align:left;
  }
  .ss-footer-final .ss-footer-cta {
    display:grid !important;
    gap:17px !important;
    padding:0 0 27px !important;
  }
  .ss-footer-final .ss-footer-cta h2 {
    margin:0 !important;
    font-size:clamp(27px,8.2vw,34px) !important;
    line-height:1.08 !important;
  }
  .ss-footer-final .ss-footer-cta > a,
  .ss-footer-final .ss-footer-cta > p > a {
    width:100%;
    justify-content:center;
  }
  .ss-footer-final .ss-footer-identity {
    display:grid !important;
    gap:14px !important;
    padding:25px 0 !important;
    border-top:1px solid rgba(75,46,37,.12);
    border-bottom:1px solid rgba(75,46,37,.12);
    text-align:center;
  }
  .ss-footer-final .ss-footer-logo { margin-bottom:5px; }
  .ss-footer-final .ss-footer-logo img { width:132px !important; }
  .ss-footer-final .ss-footer-identity p { margin:0 !important; line-height:1.7; }
  .ss-footer-final .ss-footer-identity a { overflow-wrap:anywhere; }
  .ss-footer-final .ss-footer-main,
  .ss-footer-final .ss-footer-practices {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 !important;
    padding:18px 0 8px !important;
    text-align:left;
  }
  .ss-footer-final .ss-footer-main a,
  .ss-footer-final .ss-footer-practices a {
    padding:10px 7px;
    border-bottom:1px solid rgba(75,46,37,.08);
    line-height:1.35;
  }
  .ss-footer-final .ss-footer-legal {
    display:grid !important;
    gap:10px;
    margin-top:19px !important;
    text-align:center;
    line-height:1.6;
  }

  /* Carousel cards become a deliberate one-card mobile slider. */
  .sun-sage-ttc-page .ss-team-card { flex-basis:100%; }
  .sun-sage-ttc-page .ss-team-card img { aspect-ratio:4/3; }

  /* Compact membership and final-course actions. */
  .page-id-3568 .ss-membership-card .elementor-button {
    min-height:54px;
    padding:13px 18px !important;
  }
  .sun-sage-ttc-page .ss-ttc-final .elementor-widget-button,
  .sun-sage-ttc-page .ss-ttc-final .elementor-button,
  .sun-sage-ttc-page .ss-ttc-final a.ss-ttc-enrol { width:100%; }
  .sun-sage-ttc-page .ss-ttc-final .elementor-button,
  .sun-sage-ttc-page .ss-ttc-final a.ss-ttc-enrol { justify-content:center; text-align:center; }

  /* Mobile cart rows read as labelled booking details, without the empty image/title collision. */
  .woocommerce-cart .woocommerce { width:calc(100% - 20px); margin:30px auto 65px; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item {
    display:block;
    overflow:hidden;
    margin:0 0 16px;
    border:1px solid rgba(75,46,37,.13);
    border-radius:16px;
    background:#fff;
  }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td {
    display:flex !important;
    min-height:54px;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:13px 15px !important;
    border:0 !important;
    border-bottom:1px solid rgba(75,46,37,.09) !important;
    text-align:right !important;
  }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td:last-child { border-bottom:0 !important; }
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail { display:none !important; }
  .woocommerce-cart table.shop_table_responsive td.product-remove { justify-content:center; }
  .woocommerce-cart table.shop_table_responsive td.product-remove::before,
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail::before { display:none !important; content:none !important; }
  .woocommerce-cart table.shop_table_responsive td.product-name::before { content:"Practice:" !important; flex:0 0 72px; }
  .woocommerce-cart table.shop_table_responsive td.product-name a {
    max-width:calc(100% - 88px);
    color:var(--sun-chocolate,#4b2e25);
    line-height:1.45;
  }
  .woocommerce-cart table.shop_table_responsive tr td.actions { display:block !important; padding:15px !important; }
  .woocommerce-cart table.shop_table_responsive tr td.actions .coupon { display:grid !important; grid-template-columns:minmax(0,1fr) 54px; }
  .woocommerce-cart table.shop_table_responsive tr td.actions button[name="update_cart"] { width:100% !important; margin-top:12px; }
}
