.elementor-1729 .elementor-element.elementor-element-55ecb38{--display:flex;--min-height:70vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:120px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-1729 .elementor-element.elementor-element-844addb{--display:flex;--z-index:0;}.elementor-1729 .elementor-element.elementor-element-14f48b8{width:100%;max-width:100%;z-index:0;}.elementor-1729 .elementor-element.elementor-element-14f48b8.elementor-element{--align-self:center;}.elementor-1729 .elementor-element.elementor-element-14f48b8 img{width:100%;max-width:100%;}.elementor-1729 .elementor-element.elementor-element-e5f5b8e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1729 .elementor-element.elementor-element-3bea2f2{color:#FFFFFF;}.elementor-1729 .elementor-element.elementor-element-3260c77{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for container, class: .elementor-element-55ecb38 *//**************
 * Spencer's – HERO (refined)
 **************/
:root{
  --swe-gold:#CDA057;
  --ink:#FFFFFF;
  --muted:#E6E9EE;
  --ink-weak:rgba(255,255,255,.82);
  --shadow:0 18px 48px rgba(0,0,0,.35);
}

/* OUTER */
.swe-hero{
  position:relative;
  min-height:clamp(560px, 74vh, 860px);
  background:#000;
  overflow:hidden;
  isolation:isolate;
}

/* Full-bleed image, stays behind */
.swe-hero .elementor-widget-image,
.swe-hero .elementor-widget-image .elementor-widget-container{
  position:absolute !important;
  inset:0 !important;
  margin:0 !important;
  z-index:-1;
}
.swe-hero .elementor-widget-image img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

/* Overlay for legibility (a touch stronger behind text area) */
.swe-hero::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none; z-index:0;
  background:
    radial-gradient(200% 85% at 25% 70%, rgba(0,0,0,.60) 0%, rgba(0,0,0,.18) 62%, rgba(0,0,0,.04) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.50) 90%);
}

/* CONTENT GRID */
.swe-hero__content{
  position:relative; z-index:1;
  width:min(1200px, 92%);
  margin-inline:auto;
  display:grid;
  grid-template-columns: 1fr auto;   /* text | CTA */
  align-items:end;
  gap:clamp(16px, 3vw, 32px);
  padding-block: clamp(28px, 6vh, 78px);
  color:var(--ink);
}

/* HEADLINE */
.swe-hero__title,
.swe-hero__content .elementor-heading-title{
  color:var(--swe-gold);
  margin:0 0 .4rem 0;
  font-weight:800;
  line-height:1.06;
  letter-spacing:.005em;
  font-size:clamp(34px, 6.4vw, 84px);
  text-wrap:balance;
  text-shadow:0 2px 20px rgba(0,0,0,.25);
}

/* SUBHEAD (strapline) */
.swe-hero__strap,
.swe-hero__content .elementor-text-editor p:first-child{
  margin:0 0 1rem 0;
  color:var(--ink-weak);
  font-size:clamp(16px, 1.7vw, 19px);
}

/* META BAR — compacts price • location • days into one row */
.swe-hero__meta{
  display:flex; align-items:center; flex-wrap:wrap;
  gap:.6rem 1.25rem;
  color:var(--muted);
  font-size:clamp(15px, 1.6vw, 18px);
  margin:.35rem 0 0 0;
}

/* A more deliberate price styling (like the reference) */
.swe-hero__price{
  color:#fff;
  font-weight:700;
}
.swe-hero__price .value{ color:var(--swe-gold); font-weight:800; }

/* dot separators */
.swe-hero__meta .dot{
  width:.35rem; height:.35rem; border-radius:50%;
  background:rgba(255,255,255,.45);
  display:inline-block; margin:0 .35rem;
}

/* CTA column */
.swe-hero__cta{ display:flex; align-items:end; justify-content:flex-end; }

/* GOLD BUTTON — hard override Elementor defaults */
.swe-hero .elementor-button.btn--gold,
.swe-hero a.elementor-button.btn--gold,
.swe-hero .elementor-button.btn--gold .elementor-button-text{
  background:var(--swe-gold) !important;
  color:#111 !important;
  border:0 !important;
  border-radius:999px !important;
  padding:clamp(12px, 1.2vw, 14px) clamp(22px, 2.2vw, 26px) !important;
  font-weight:800 !important;
  font-size:clamp(14px, 1.4vw, 16px) !important;
  line-height:1 !important;
  box-shadow:0 12px 32px rgba(0,0,0,.34) !important;
  transform:translateZ(0);
  transition:filter .15s ease, transform .15s ease, box-shadow .15s ease !important;
}
.swe-hero .elementor-button.btn--gold:hover{
  filter:brightness(.95);
  transform:translateY(-1px);
  box-shadow:0 18px 44px rgba(0,0,0,.38) !important;
}
.swe-hero .elementor-button.btn--gold:active{ transform:translateY(0); }

/* MOBILE */
@media (max-width:1024px){
  .swe-hero__content{
    grid-template-columns:1fr;
    align-items:start;
    gap:18px;
  }
  .swe-hero__cta{ justify-content:flex-start; }
}
@media (max-width:640px){
  .swe-hero__title,
  .swe-hero__content .elementor-heading-title{ font-size:clamp(28px, 8vw, 40px); }
}
/* CTA column */
.swe-hero__cta {
  display:flex;
  align-items:end;
  justify-content:flex-end;
}

/* GOLD BUTTON — using Spencer's official swe-btn class */
.swe-hero .elementor-button.swe-btn,
.swe-hero a.elementor-button.swe-btn,
.swe-hero .elementor-button.swe-btn .elementor-button-text {
  background:var(--swe-gold) !important;
  color:#111 !important;
  border:0 !important;
  border-radius:999px !important;
  padding:clamp(12px, 1.2vw, 14px) clamp(22px, 2.2vw, 26px) !important;
  font-weight:800 !important;
  font-size:clamp(14px, 1.4vw, 16px) !important;
  line-height:1 !important;
  box-shadow:0 12px 32px rgba(0,0,0,.34) !important;
  transform:translateZ(0);
  transition:filter .15s ease, transform .15s ease, box-shadow .15s ease !important;
}

/* Hover / active */
.swe-hero .elementor-button.swe-btn:hover {
  filter:brightness(.95);
  transform:translateY(-1px);
  box-shadow:0 18px 44px rgba(0,0,0,.38) !important;
}
.swe-hero .elementor-button.swe-btn:active {
  transform:translateY(0);
}

/* Safety fallback — if someone forgets to add swe-btn class */
.swe-hero__cta .elementor-button {
  background:var(--swe-gold) !important;
  color:#111 !important;
  border-radius:999px !important;
  font-weight:800 !important;
  box-shadow:0 12px 32px rgba(0,0,0,.34) !important;
}
.swe-hero .elementor-button.swe-btn {
  background-color: #CDA057 !important;
  color: #111 !important;
}
/* Force GOLD button inside hero */
.swe-hero .elementor-button.swe-btn {
  background-color: #CDA057 !important;
  background: #CDA057 !important;
  border-color: #CDA057 !important;
  color: #111 !important;
  box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d298295 *//* ============================
   SWE – Travel Sections
   ============================ */

.swe-sections {
    background: #000;
    padding: 50px 20px 20px;
    color: #fff;
}

.swe-section {
    max-width: 1100px;
    margin: 0 auto 30px;
}

.swe-section.swe-section--has-image {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

.swe-section__text { flex: 1 1 55%; }
.swe-section__image { flex: 1 1 45%; }

.swe-section__image img {
    width: 100%;
    border-radius: 12px;
    display: block;
    object-fit: cover;
}

.swe-section__heading {
    font-size: 20px;
    color: var(--swe-gold, #cda246);
    font-weight: 600;
    margin-bottom: 8px;
}

.swe-section__body p {
    margin-bottom: 8px;
    color: #eee;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .swe-section.swe-section--has-image {
        flex-direction: column;
    }
}

/* ============================
   SHARE BAR
   ============================ */

.swe-blog-share {
    background: #000;
    padding: 30px 20px 60px;
}

.swe-blog-share__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.swe-blog-share__heading {
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #d0d0d0;
    margin-bottom: 20px;
}

.swe-blog-share__icons {
    display: flex;
    justify-content: center;
    gap: 16px;
}

.swe-blog-share__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--swe-gold, #cda246);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swe-gold, #cda246);
    text-decoration: none;
    transition: 0.25s;
}

/* All glyphs share the same size */
.swe-blog-share__icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

/* No extra scaling/offset for WA now – keep it identical sizing */
/* (If it still feels small, bump this to 19px / 19px just for .--wa) */

/* Hover */
.swe-blog-share__icon:hover {
    background: var(--swe-gold, #cda246);
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}

/* Mobile tweaks */
@media (max-width: 480px) {
    .swe-blog-share__icon {
        width: 38px;
        height: 38px;
    }
    .swe-blog-share__icon svg {
        width: 16px;
        height: 16px;
    }
}/* End custom CSS */