/* =====================================================================
   BeCloud Tourism — Homepage identity (new brand)
   Loaded after design-system.css. Restyles existing sections to the
   new palette + adds the new hero. Uses .bc- prefixes for new markup.
   ===================================================================== */

/* ---------- HERO SLIDER ---------- */
.bc-hero{ position:relative; width:100%; margin:0; }
.bc-hero .swiper{ width:100%; }
.bc-hero-slide{ position:relative; overflow:hidden; }
.bc-hero-media{ position:relative; width:100%; height:clamp(420px,72vh,660px); }
.bc-hero-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bc-hero-media .bc-hero-mobile{ display:none; }
.bc-hero-overlay{ position:absolute; inset:0; background:var(--primary-color); opacity:.70; }
.bc-hero-inner{
  position:absolute; inset:0; z-index:2; display:flex; flex-direction:column;
  justify-content:center; gap:18px; padding:0 6%; color:#fff;
  align-items:flex-start; text-align:right;
}
/* Content lives in the FIRST half of the slide only (col-6), starting at the edge */
.bc-hero-inner > *{ max-width:min(560px, 50%); }
.bc-hero-inner.align-center{ align-items:center; text-align:center; }
.bc-hero-inner.align-center > *{ margin-inline:auto; }
.bc-hero-inner.align-right{ align-items:flex-start; text-align:right; }
.bc-hero-inner.align-left{ align-items:flex-end; text-align:left; }
.bc-hero-title{ font-size:clamp(1.7rem,3.6vw,2.9rem); font-weight:900; margin:0; line-height:1.28; text-shadow:0 2px 14px rgba(0,0,0,.25); }
.bc-hero-desc{ font-size:clamp(1rem,1.5vw,1.2rem); font-weight:500; margin:0; opacity:.96; }
.bc-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:6px; }
.bc-hero .swiper-pagination-bullet{ background:#fff; opacity:.55; width:10px; height:10px; transition:.3s; }
.bc-hero .swiper-pagination-bullet-active{ background:var(--accent-color); opacity:1; width:26px; border-radius:6px; }
.bc-hero .swiper-button-next,
.bc-hero .swiper-button-prev{ color:#fff; }
.bc-hero .swiper-button-next:after,
.bc-hero .swiper-button-prev:after{ font-size:22px; font-weight:900; }
@media (max-width:768px){
  .bc-hero-media{ height:clamp(380px,68vh,560px); }
  .bc-hero-media .bc-hero-desktop.has-mobile{ display:none; }
  .bc-hero-media .bc-hero-mobile{ display:block; }
  .bc-hero-inner{ padding:0 6%; }
  .bc-hero-inner > *{ max-width:100%; }
}

/* ---------- SECTION HEADINGS (identity) ---------- */
.destinations .section-badge,
.features .section-badge,
.testimonials .section-badge,
.section-badge{
  background:rgba(11,60,93,.08); color:var(--primary-color);
  border-radius:40px; padding:7px 16px; font-weight:800; display:inline-flex;
  align-items:center; gap:8px; font-size:.9rem;
}
.section-header h2{ color:var(--primary-color)!important; font-weight:900; }
.section-header p{ color:var(--bc-muted)!important; }

/* ---------- CARDS: destinations / services (recolor existing) ---------- */
.destinations{ background:var(--light-background); }
.destination-card{
  border-radius:var(--bc-radius); overflow:hidden; background:#fff;
  box-shadow:var(--bc-shadow); border:1px solid transparent;
  transition:transform var(--bc-transition), box-shadow var(--bc-transition), border-color var(--bc-transition);
  display:flex; flex-direction:column;
}
.destination-card:hover{ transform:translateY(-6px); box-shadow:var(--bc-shadow-hover); border-color:var(--accent-color); }
.destination-card .destination-image img{ transition:transform .5s ease; }
.destination-card:hover .destination-image img{ transform:scale(1.06); }
.destination-badge{ background:var(--accent-color); color:#fff; font-weight:800; border-radius:10px; }
.destination-content{ flex:1; display:flex; flex-direction:column; }
.destination-rating{ color:var(--accent-color); }
.price-amount{ color:var(--primary-color); font-weight:900; }
/* =============================================================
   Buttons everywhere (home + internal pages): NO gradient.
   Solid PRIMARY, hover = SECONDARY (#2D9CDB). Overrides inline gradients.
   ============================================================= */
.btn-book, .btn-primary, .tp-btn, .card-more-btn, .offer-cta,
.so-btn-book, .sh-btn-book, .srv-cta-primary, .ft-btn, .back-btn,
.btn-step-submit, .city-btn, .cruz-btn, .read-more, .more-btn,
.so-booking-body .wpforms-submit, .sh-booking-body .wpforms-submit{
  background:var(--primary-color) !important; background-image:none !important;
  color:#fff !important; border:0;
  text-decoration:none; transition:var(--bc-transition); filter:none !important;
}
.btn-book:hover, .btn-primary:hover, .tp-btn:hover, .card-more-btn:hover, .offer-cta:hover,
.so-btn-book:hover, .sh-btn-book:hover, .srv-cta-primary:hover, .ft-btn:hover, .back-btn:hover,
.btn-step-submit:hover, .city-btn:hover, .cruz-btn:hover, .read-more:hover, .more-btn:hover,
.so-booking-body .wpforms-submit:hover, .sh-booking-body .wpforms-submit:hover{
  background:var(--secondary-cyan, #2D9CDB) !important; background-image:none !important;
  color:#fff !important;
}

/* Footer text links: hover = GOLD */
.footer a:hover, .footer-links a:hover{ color:var(--accent-color) !important; }
.footer .social-link:hover{ color:var(--accent-color) !important; }

/* ---------- WHY US ---------- */
.bc-why{ background:var(--primary-color); color:#fff; }
.bc-why .bc-section-head h2{ color:#fff; }
.bc-why .bc-section-head p{ color:rgba(255,255,255,.85); }
.bc-why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.bc-why-card{ text-align:center; padding:26px 18px; border-radius:var(--bc-radius); background:rgba(255,255,255,.06); transition:var(--bc-transition); }
.bc-why-card:hover{ background:rgba(255,255,255,.1); transform:translateY(-4px); }
.bc-why-icon{ font-size:2.2rem; color:var(--accent-color); margin-bottom:12px; }
.bc-why-card h3{ font-size:1.15rem; font-weight:800; margin:0 0 8px; color:#fff; }
.bc-why-card p{ font-size:.95rem; color:rgba(255,255,255,.82); margin:0; }
@media (max-width:900px){ .bc-why-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .bc-why-grid{ grid-template-columns:1fr; } }

/* ---------- CTA (Minimal Luxury banner) ---------- */
.bc-cta-wrap{ background:var(--light-background); }
.bc-cta{
  position:relative; overflow:hidden; border-radius:28px;
  background:var(--primary-color, #0B3C5D);
  background-size:cover; background-position:center;
  box-shadow:0 24px 60px rgba(11,60,93,.28);
  padding:clamp(36px,5vw,68px) clamp(22px,5vw,64px);
  text-align:center; isolation:isolate;
}
.bc-cta.has-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(11,60,93,.9),rgba(11,60,93,.62)); z-index:0; }
.bc-cta-deco{ position:absolute; border-radius:50%; filter:blur(6px); z-index:0; pointer-events:none; }
.bc-cta-deco-1{ width:320px; height:320px; background:radial-gradient(circle,rgba(244,180,0,.35),transparent 70%); top:-120px; inset-inline-end:-80px; }
.bc-cta-deco-2{ width:280px; height:280px; background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%); bottom:-130px; inset-inline-start:-70px; }
.bc-cta-watermark{ position:absolute; z-index:0; font-size:clamp(120px,20vw,240px); color:rgba(255,255,255,.06); inset-inline-start:6%; top:50%; transform:translateY(-50%) rotate(-18deg); pointer-events:none; }
.bc-cta-content{ position:relative; z-index:2; max-width:720px; margin:0 auto; color:#fff; display:flex; flex-direction:column; align-items:center; gap:14px; }
.bc-cta-eyebrow{
  display:inline-flex; align-items:center; gap:8px; background:rgba(244,180,0,.18);
  color:var(--accent-color); border:1px solid rgba(244,180,0,.5);
  padding:7px 16px; border-radius:40px; font-weight:800; font-size:.86rem;
}
.bc-cta-title{ font-size:clamp(1.7rem,4vw,2.7rem); font-weight:900; margin:0; line-height:1.25; text-shadow:0 2px 18px rgba(0,0,0,.2); }
.bc-cta-desc{ font-size:clamp(1rem,1.6vw,1.18rem); opacity:.95; margin:0; max-width:560px; }
.bc-cta-actions{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:8px; }
.bc-btn--lg{ padding:14px 30px; font-size:1.02rem; border-radius:14px; }
.bc-cta-actions .bc-btn--accent{ box-shadow:0 10px 26px rgba(244,180,0,.35); }
@media (max-width:560px){
  .bc-cta{ border-radius:22px; }
  .bc-cta-actions .bc-btn{ width:100%; justify-content:center; }
}

/* ---------- HEADER booking button ---------- */
.bc-book-btn{
  display:inline-flex; align-items:center; gap:8px; background:var(--accent-color);
  color:#fff!important; font-weight:800; padding:10px 22px; border-radius:12px;
  text-decoration:none; transition:var(--bc-transition); white-space:nowrap;
}
.bc-book-btn:hover{ filter:brightness(.95); transform:translateY(-1px); }

/* ---------- HEADER logo (white header) ---------- */
.site-logo{ display:inline-flex; align-items:center; }
.site-logo img{ max-height:52px; width:auto; display:block; }

/* ---------- PACKAGES ---------- */
.bc-packages{ background:var(--white-color); }
.bc-pkg-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.bc-pkg-card{
  background:#fff; border-radius:var(--bc-radius); overflow:hidden;
  box-shadow:var(--bc-shadow); border:1px solid transparent;
  display:flex; flex-direction:column;
  transition:transform var(--bc-transition), box-shadow var(--bc-transition), border-color var(--bc-transition);
}
.bc-pkg-card:hover{ transform:translateY(-6px); box-shadow:var(--bc-shadow-hover); border-color:var(--accent-color); }
.bc-pkg-media{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.bc-pkg-media img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.bc-pkg-card:hover .bc-pkg-media img{ transform:scale(1.06); }
.bc-pkg-days{
  position:absolute; top:12px; inset-inline-start:12px; background:var(--accent-color);
  color:#fff; font-weight:800; font-size:.82rem; padding:5px 12px; border-radius:10px;
}
.bc-pkg-body{ padding:14px 16px 16px; display:flex; flex-direction:column; gap:7px; flex:1; }
.bc-pkg-title{ font-size:1.02rem; font-weight:800; margin:0; line-height:1.35; }
.bc-pkg-title a{ color:var(--primary-color); text-decoration:none; }
.bc-pkg-hotel{ color:var(--bc-muted); font-size:.84rem; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.bc-pkg-hotel .bc-pkg-stars{ color:var(--accent-color); letter-spacing:1px; }
.bc-pkg-rating{ font-size:.84rem; color:var(--bc-muted); }
.bc-pkg-rating .num{ font-weight:800; color:var(--dark-text); }
.bc-pkg-rating .stars{ color:var(--accent-color); }
.bc-pkg-foot{ margin-top:auto; display:flex; flex-direction:column; align-items:stretch; gap:10px; padding-top:10px; }
.bc-pkg-price{ display:flex; align-items:baseline; gap:8px; line-height:1.2; }
.bc-pkg-price del{ color:#9aa3af; font-size:.8rem; }
.bc-pkg-price .amount{ color:var(--primary-color); font-weight:900; font-size:.98rem; }
.bc-pkg-actions{ width:100%; }
.bc-pkg-actions .bc-btn{ width:100%; justify-content:center; padding:10px 18px; font-size:.92rem; }
@media (max-width:1024px){ .bc-pkg-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .bc-pkg-grid{ grid-template-columns:1fr; } }

/* ---------- FOOTER newsletter ---------- */
.footer-newsletter .bc-news-desc{ font-size:.92rem; opacity:.85; margin:0 0 12px; }
.bc-news-form{ display:flex; gap:8px; flex-wrap:wrap; }
.bc-news-input{
  flex:1; min-width:150px; height:46px; border-radius:12px; border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06); color:#fff; padding:0 14px; font-family:inherit; font-size:.95rem;
}
.bc-news-input::placeholder{ color:rgba(255,255,255,.6); }
.bc-news-input:focus{ outline:none; border-color:var(--accent-color); }
.bc-news-btn{
  height:46px; border:0; border-radius:12px; background:var(--accent-color); color:#fff;
  font-weight:800; padding:0 22px; cursor:pointer; transition:var(--bc-transition); font-family:inherit;
}
.bc-news-btn:hover{ filter:brightness(.95); }

/* ---------- MOBILE: keep booking button visible in header ---------- */
@media (max-width:768px){
  .nav-actions{
    position:static !important; right:auto !important; bottom:auto !important;
    width:auto !important; max-width:none !important; background:transparent !important;
    padding:0 !important; flex-direction:row !important; box-shadow:none !important;
  }
  .bc-book-btn{ padding:9px 16px; font-size:.9rem; }
  .header-container{ padding:12px 16px !important; gap:10px; }
  .site-logo img{ max-height:42px; }
}
@media (max-width:480px){
  .bc-book-btn span, .bc-book-btn{ font-size:.85rem; }
  .bc-section{ padding:38px 0; }
}

/* ---------- FOOTER (identity) ---------- */
.footer{ background:var(--dark-text); color:var(--light-background); }
.footer a{ transition:var(--bc-transition); }
.footer .social-link:hover{ color:var(--accent-color); }
.bc-foot-payments{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.bc-foot-payments img{ height:34px; width:auto; background:#fff; border-radius:6px; padding:3px 6px; }
