/* ------------------------------------------------------
File: landing.css
Purpose: Landing UI overrides (clean typography, correct grids, no image crop)
Key Fixes:
  1) Latest Templates: keep Bootstrap row/col; image full visible (no crop)
  2) Choose a Style: bigger on mobile, no hover/shadow/outline, circle mask via CSS only
  3) Custom Invitation: centered, image no card look, clean steps
------------------------------------------------------ */

:root {
  --green: #1aa865;
  --green-dark: #12824e;
  --text: #111827;
  --muted: #6b7280;
  --border: rgba(17, 24, 39, 0.10);
  --shadow-soft: 0 10px 28px rgba(17, 24, 39, 0.08);
  --radius: 18px;
}

body {
  font-family: "Spline Sans", sans-serif;
  color: var(--text);
}

.hero-bg-landing {
  background-image: url(../instapostapp/assets/images/hero/hero-bg-1.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Section typography */
.landing-section .section-title h2 {
  letter-spacing: -0.02em;
  margin-bottom: 10px;
  font-weight: 900;
  color: var(--text);
}

.landing-section .section-title p {
  color: var(--muted);
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.55;
  font-size: 16px;
}

@media (max-width: 768px) {
  .landing-section .section-title h2 {
    font-size: 30px;
    line-height: 1.12;
  }
  .landing-section .section-title p {
    font-size: 15px;
    max-width: 560px;
  }
}

/* Buttons */
.landing-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 900;
  border-radius: 999px;
  padding: 10px 18px;
  line-height: 1;
  border: 0;
  white-space: nowrap;
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.landing-btn-green {
  background: var(--green);
  color: #ffffff;
}

.landing-btn-green:hover {
  background: var(--green-dark);
  color: #ffffff;
}

.landing-btn-buy {
  padding: 9px 18px;
  font-size: 14px;
  min-height: 36px;
}

/* Square cards (How + Love) */
.landing-square-card {
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
}

.landing-square-media {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #ffffff;
}

.landing-square-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.landing-square-body {
  padding: 14px 14px 16px;
  text-align: center;
}

.landing-square-body h5 {
  font-weight: 900;
  margin: 0 0 6px;
  font-size: 18px;
  letter-spacing: -0.01em;
  color: var(--text);
}

.landing-square-body p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

/* -----------------------------
   Custom Invitation (center aligned)
----------------------------- */

.custom-invite-row {
  align-items: center;
  justify-content: center;
}

.landing-custom-steps {
  max-width: 560px;
  margin: 0 auto;
}

.landing-stepper {
  display: grid;
  gap: 18px;
}

.landing-step2 {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: start;
  text-decoration: none;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  transition: none;
}

.landing-step2:hover {
  transform: none;
  box-shadow: none;
}

.landing-step2-dot {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 14px;
  color: #ffffff;
  background: var(--green);
}

.landing-step2-title {
  font-weight: 900;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: var(--text);
  line-height: 1.15;
}

.landing-step2-sub {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.45;
  margin-top: 6px;
}

.landing-panel-cta {
  padding-top: 18px;
  display: flex;
  justify-content: flex-start;
}

@media (max-width: 768px) {
  .landing-panel-cta {
    justify-content: center;
  }
}

/* Image (no card look) */
.landing-panel-media {
  max-width: 720px;
  margin: 0 auto;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.landing-media-wrap {
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
}

.landing-media-wrap img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border: 0;
  outline: 0;
  box-shadow: none;
}

.landing-media-caption {
  text-align: center;
  color: var(--muted);
  font-weight: 800;
  margin-top: 10px;
}

/* -----------------------------
   Choose a Style (no hover, no shadow/outline, CSS circle mask)
----------------------------- */

.landing-style-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 26px 22px;
  align-items: start;
  justify-items: center;
}

.landing-style-item {
  text-decoration: none;
  color: var(--text);
  display: grid;
  justify-items: center;
  gap: 10px;
}

/* Circle mask via CSS only */
.landing-style-avatar {
  width: 220px;
  height: 220px;
  border-radius: 999px;
  overflow: hidden;
  background: transparent;
  border: 0;
  box-shadow: none;
  transition: none;
}

.landing-style-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 0;
  outline: 0;
  box-shadow: none;
}

/* No hover effect */
.landing-style-item:hover .landing-style-avatar {
  transform: none;
  box-shadow: none;
}

.landing-style-label {
  font-weight: 900;
  font-size: 18px;
  text-align: center;
  letter-spacing: -0.01em;
}

@media (max-width: 1200px) {
  .landing-style-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .landing-style-avatar {
    width: 200px;
    height: 200px;
  }
}

@media (max-width: 768px) {
  .landing-style-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 14px;
  }
  .landing-style-avatar {
    width: 170px;
    height: 170px;
  }
  .landing-style-label {
    font-size: 16px;
  }
}

/* -----------------------------
   Latest Templates (NO CROP + keep Bootstrap columns)
   IMPORTANT: Do NOT set .landing-latest-grid to display:grid
----------------------------- */

@media (min-width: 992px) {
  .landing-latest-grid.g-4 {
    --bs-gutter-x: 1.8rem;
    --bs-gutter-y: 1.8rem;
  }
}

.landing-template-card {
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* No aspect-ratio, no forced height */
.landing-template-media {
  width: 100%;
  background: #ffffff;
  overflow: visible;
}

/* No crop: full image visible */
.landing-template-media img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border: 0;
  outline: 0;
  box-shadow: none;
}

/* Only category + buy */
.landing-template-body {
  padding: 12px 12px 16px;
  display: grid;
  gap: 12px;
  justify-items: center;
}

.landing-template-title {
  margin: 0;
  font-weight: 900;
  font-size: 16px;
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: var(--text);
  text-align: center;
}

/* Button not full width; keep 25px side margin */
.landing-template-body .landing-btn-buy {
  width: calc(100% - 50px);
  margin-left: 25px;
  margin-right: 25px;
  display: inline-flex;
  justify-content: center;
}

@media (max-width: 768px) {
  .landing-template-title {
    font-size: 15px;
  }
}
/* ------------------------------------------------------
File: landing.css (or any global css loaded on index)
Section: How It Works (matches screenshot)
------------------------------------------------------ */

.hiw-section {
  padding: 70px 0 60px;
  background: #ffffff;
}

.hiw-header {
  margin-bottom: 34px;
}

.hiw-title {
  margin: 0 0 10px;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.05;
  font-size: 56px;
  color: #0f172a;
  text-transform: uppercase;
}

.hiw-accent {
  color: #ff3b7a;
}

.hiw-subtitle {
  margin: 0 auto;
  max-width: 760px;
  color: #6b7280;
  font-size: 16px;
  line-height: 1.6;
}

/* 3-column layout */
.hiw-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
  align-items: start;
}

.hiw-card {
  position: relative;
  text-align: center;
  padding: 10px 10px 0;
}

.hiw-num {
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 170px;
  font-weight: 900;
  line-height: 1;
  color: rgba(15, 23, 42, 0.06);
  pointer-events: none;
  user-select: none;
}

.hiw-illustration {
  width: 100%;
  max-width: 260px;
  margin: 70px auto 18px;
}

.hiw-illustration img {
  width: 100%;
  height: auto;
  display: block;
}

.hiw-card-title {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 900;
  color: #0f172a;
  letter-spacing: -0.01em;
}

.hiw-card-text {
  margin: 0 auto;
  max-width: 320px;
  color: #6b7280;
  font-size: 15px;
  line-height: 1.6;
}

/* CTA button */
.hiw-cta {
  margin-top: 34px;
}

.hiw-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border-radius: 999px;
  border: 2px solid rgba(255, 59, 122, 0.55);
  color: #ff3b7a;
  text-decoration: none;
  font-weight: 900;
  font-size: 15px;
  background: #ffffff;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.hiw-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 59, 122, 0.85);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.10);
}

.hiw-btn-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #ff3b7a;
  display: inline-block;
}

/* Responsive */
@media (max-width: 992px) {
  .hiw-title {
    font-size: 46px;
  }
  .hiw-grid {
    gap: 26px;
  }
  .hiw-num {
    font-size: 150px;
  }
  .hiw-illustration {
    margin-top: 60px;
    max-width: 240px;
  }
}

@media (max-width: 768px) {
  .hiw-section {
    padding: 55px 0 50px;
  }
  .hiw-title {
    font-size: 38px;
  }
  .hiw-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .hiw-card {
    padding-top: 0;
  }
  .hiw-num {
    font-size: 140px;
    top: -10px;
  }
  .hiw-illustration {
    margin-top: 58px;
    max-width: 250px;
  }
}
/* ------------------------------------------------------
   GLOBAL BUTTON OVERRIDE (Landing Page)
   Purpose:
     - All buttons become bright yellow
     - Black text
     - Round pill shape
     - Consistent padding + hover
------------------------------------------------------ */

:root {
  --btn-yellow: #ff085a; /* bright yellow */
  --btn-yellow-hover: #ff085a;
  --btn-text: #ffffff;
}

/* Covers: theme buttons + landing buttons + tutorial buttons */
.theme-btn,
.gradient-btn,
.landing-btn,
.hiw-btn,
button.theme-btn,
button.gradient-btn,
a.theme-btn,
a.gradient-btn {
  background: var(--btn-yellow) !important;
  color: var(--btn-text) !important;

  border: 0 !important;
  border-radius: 999px !important;

  font-weight: 900 !important;
  text-decoration: none !important;

  box-shadow: none !important;
}

/* If any button had gradient backgrounds before */
.gradient-btn::before,
.gradient-btn::after {
  display: none !important;
}

/* Hover */
.theme-btn:hover,
.gradient-btn:hover,
.landing-btn:hover,
.hiw-btn:hover,
button.theme-btn:hover,
button.gradient-btn:hover,
a.theme-btn:hover,
a.gradient-btn:hover {
  background: var(--btn-yellow-hover) !important;
  color: var(--btn-text) !important;

  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12) !important;
}

/* Focus (keyboard) */
.theme-btn:focus,
.gradient-btn:focus,
.landing-btn:focus,
.hiw-btn:focus {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(255, 212, 0, 0.35) !important;
}

/* Fix "Watch Video Tutorial" dot (black) */
.hiw-btn-dot {
  background: #ffffff !important;
}
/* ------------------------------------------------------
   BUTTON NORMALIZATION (match "Start Designing")
   Paste at END of landing.css
------------------------------------------------------ */

:root{
  --btn-yellow: #ff085a;
  --btn-yellow-hover: #ff085a;
  --btn-text: #ffffff;

  /* Master button sizing (desktop) */
  --btn-h: 46px;          /* Start Designing jaisi height */
  --btn-px: 22px;         /* left-right padding same feel */
  --btn-fs: 15px;         /* consistent text */
  --btn-ls: 0.2px;
}

/* 1) Make ALL buttons identical size */
.theme-btn,
.gradient-btn,
.landing-btn,
.hiw-btn,
button.theme-btn,
button.gradient-btn,
a.theme-btn,
a.gradient-btn{
  height: var(--btn-h) !important;
  min-height: var(--btn-h) !important;
  padding: 0 var(--btn-px) !important;

  font-size: var(--btn-fs) !important;
  letter-spacing: var(--btn-ls) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 0 !important;

  background: var(--btn-yellow) !important;
  color: var(--btn-text) !important;

  width: auto !important;         /* IMPORTANT: prevent full width */
  max-width: 100% !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

/* Remove gradient overlays if theme adds them */
.gradient-btn::before,
.gradient-btn::after{
  display:none !important;
}

/* Hover */
.theme-btn:hover,
.gradient-btn:hover,
.landing-btn:hover,
.hiw-btn:hover{
  background: var(--btn-yellow-hover) !important;
  color: var(--btn-text) !important;
}

/* Focus */
.theme-btn:focus,
.gradient-btn:focus,
.landing-btn:focus,
.hiw-btn:focus{
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(255, 212, 0, 0.35) !important;
}

/* 2) Fix BUY NOW specifically (it was stretching full width because of old rules) */
.landing-template-body .landing-btn-buy{
  justify-self: center !important; /* stop stretch */
  width: auto !important;          /* NOT full width */
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Optional: keep a neat spacing from card edges WITHOUT full width */
.landing-template-body{
  justify-items: center;           /* centers title + button */
}

/* 3) Mobile sizing = same feel as Start Designing (slightly smaller but same ratio) */
@media (max-width: 768px){
  :root{
    --btn-h: 44px;
    --btn-px: 20px;
    --btn-fs: 14px;
  }
}
/* ------------------------------------------------------
   HIW STEP BADGE (replace huge 1/2/3)
------------------------------------------------------ */

.hiw-card{
  position: relative;
}

/* hide old huge number if still exists */
.hiw-num{
  display: none !important;
}

.hiw-step-badge{
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 34px;
  padding: 0 14px;
  border-radius: 999px;

  background: #111111;
  color: #ffffff;

  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ensure badge doesn’t overlap image weirdly */
.hiw-illustration{
  margin-top: 52px; /* reduced because big number is gone */
}

/* -------------------------------------------
   HOW IT WORKS - PNG Arrows
   Desktop: horizontal arrow image between Step 1->2 and 2->3
   Mobile: vertical arrow image between Step 1->2 and 2->3
------------------------------------------- */

.hiw-arrows .hiw-card {
  position: relative;
}

/* Desktop arrows (horizontal PNG) */
@media (min-width: 992px) {
  .hiw-arrows .hiw-card:nth-child(1)::after,
  .hiw-arrows .hiw-card:nth-child(2)::after {
    content: "";
    position: absolute;
    top: 45%;
    right: -44px; /* spacing between cards */
    transform: translateY(-50%);
    width: 56px;
    height: 28px;
  background-image: url("../icons/hor.png");


    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.9;
    pointer-events: none;
    user-select: none;
  }
}

/* Mobile arrows (vertical PNG) */
@media (max-width: 991px) {
  .hiw-arrows .hiw-card:nth-child(1)::after,
  .hiw-arrows .hiw-card:nth-child(2)::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -52px; /* IMPORTANT: gap between step + arrow */
    transform: translateX(-50%);
    width: 34px;
    height: 34px;
 background-image: url("../icons/ver.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.9;
    pointer-events: none;
    user-select: none;
  }

  /* IMPORTANT: extra spacing so arrow doesn't stick */
  .hiw-arrows .hiw-card {
    padding-bottom: 16px;
  }

  .hiw-arrows .hiw-card:nth-child(1),
  .hiw-arrows .hiw-card:nth-child(2) {
    margin-bottom: 44px;
  }
}

/* ------------------------------------------------------
File: landing.css
Section: Monteno-style hero (InstaPost)
Purpose: Text left + vertical moving template columns right
------------------------------------------------------ */

:root {
  --ip-yellow: #ffd400; /* bright yellow */
  --ip-black: #111111;
  --ip-hero-bg: #ffffff;
}

/* HERO WRAPPER */
.ip-hero {
  padding: 70px 0 40px;
  background: var(--ip-hero-bg);
  overflow: hidden;
}

.ip-hero-text {
  padding-right: 10px;
}

.ip-hero-kicker {
  margin: 0 0 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 13px;
  color: #5b5b5b;
}

.ip-hero-title {
  margin: 0 0 14px;
  font-weight: 1000;
  letter-spacing: -0.02em;
  color: #111827;
  line-height: 1.08;
  font-size: 46px;
}

.ip-hero-desc {
  margin: 0 0 22px;
  color: #6b7280;
  font-size: 16px;
  line-height: 1.6;
  max-width: 520px;
}

/* BUTTON SYSTEM (all hero buttons same height/spacing like Start Designing) */
.ip-hero-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.ip-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 46px;              /* unified height */
  padding: 0 22px;           /* unified side spacing */
  border-radius: 999px;      /* pill */
  font-weight: 1000;
  text-decoration: none;
  border: 0;
  white-space: nowrap;
}

.ip-btn-primary,
.ip-btn-secondary {
  background: var(--ip-yellow);
  color: var(--ip-black);
}

.ip-btn-primary:hover,
.ip-btn-secondary:hover {
  background: #ffdf33;
  color: var(--ip-black);
}

/* RIGHT SIDE REELS */
.ip-hero-reels {
  display: flex;
  gap: 18px;
  justify-content: flex-end;
  align-items: center;
  height: 420px;
  padding-left: 10px;
}

.ip-reel {
  width: 170px;
  height: 420px;
  overflow: hidden;
  border-radius: 18px;
  background: transparent;
}

.ip-reel-track {
  display: grid;
  gap: 14px;
  will-change: transform;
}

.ip-reel-item {
  border-radius: 16px;
  overflow: hidden;
}

.ip-reel-item img {
  width: 100%;
  height: auto;
  display: block;
}

/* Animations */
@keyframes ipScrollUp {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}

@keyframes ipScrollDown {
  0%   { transform: translateY(-50%); }
  100% { transform: translateY(0); }
}

.ip-reel-up .ip-reel-track {
  animation: ipScrollUp 16s linear infinite;
}

.ip-reel-down .ip-reel-track {
  animation: ipScrollDown 18s linear infinite;
}

/* Hide 3rd column on smaller screens */
.ip-reel-hide-md {
  display: block;
}

@media (max-width: 991px) {
  .ip-hero {
    padding: 55px 0 30px;
  }

  .ip-hero-title {
    font-size: 36px;
  }

  .ip-hero-reels {
    height: 380px;
    justify-content: center;
    margin-top: 22px;
  }

  .ip-reel {
    width: 160px;
    height: 380px;
  }

  .ip-reel-hide-md {
    display: none;
  }
}

@media (max-width: 576px) {
  .ip-hero-title {
    font-size: 32px;
  }

  .ip-hero-actions {
    gap: 10px;
  }

  .ip-btn {
    height: 46px;
    padding: 0 18px;
    
  }

  .ip-hero-reels {
    height: 340px;
    gap: 12px;
  }

  .ip-reel {
    width: 150px;
    height: 340px;
  }
}
/* ------------------------------------------------------
Hero refinement: header overlap + spacing fix
------------------------------------------------------ */

/* give hero breathing room under sticky/transparent header */
.ip-hero {
  padding-top: 110px; /* was 70px */
}

/* ensure hero area stays above reels and doesn't get overlapped */
.ip-hero {
  position: relative;
  z-index: 1;
}

.ip-hero-reels {
  position: relative;
  z-index: 1;
}
@media (max-width: 576px) {
  .ip-hero-actions {
    gap: 10px;
    flex-wrap: wrap;
  }
}
/* ------------------------------------------------------
Hero mobile buttons: never full width (hard override)
------------------------------------------------------ */

.ip-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ip-btn {
  display: inline-flex;
  width: auto;
  max-width: none;
}

/* mobile override (beats any earlier width:100% rules) */
@media (max-width: 768px) {
  .ip-hero-actions {
    justify-content: flex-start;
  }

  .ip-hero-actions .ip-btn,
  .ip-hero-actions a.ip-btn,
  .ip-hero-actions .theme-btn,
  .ip-hero-actions a.theme-btn {
    width: auto !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    padding-left: 22px;
    padding-right: 22px;
  }
}
/* ------------------------------------------------------
Hero height: increase on mobile so next section doesn't feel cropped
------------------------------------------------------ */

.ip-hero {
  padding-bottom: 40px; /* base breathing room */
}

@media (max-width: 768px) {
  .ip-hero {
    padding-top: 92px;      /* header ke neeche space */
    padding-bottom: 70px;   /* next section push down */
  }

  /* reels/slider block ko taller banayo */
  .ip-hero-reels {
    min-height: 420px;
  }

  /* reels image cards ko thoda bada dikhane ke liye */
  .ip-reel-card {
    min-height: 120px;
  }

  /* ensure reels grid doesn't clip */
  .ip-hero-reels,
  .ip-reels-grid {
    overflow: visible;
  }
}
/* ------------------------------------------------------
HERO mobile padding: stop text from touching edges
------------------------------------------------------ */
@media (max-width: 768px) {
  /* safest: apply padding to hero container */
  .hero-section .container,
  .hero-wrapper .container,
  .hero-bg-landing .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* extra safety if any row/col removes padding */
  .hero-section .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
/* ------------------------------------------------------
HERO height/background: remove masking + give more vertical space
------------------------------------------------------ */
@media (max-width: 768px) {
  /* the background wrapper must grow with content */
  .hero-wrapper,
  .hero-bg-landing {
    overflow: visible !important;
    padding-bottom: 90px !important;   /* pushes next section down */
  }

  /* reels/slider container must be taller */
  .ip-hero-reels {
    min-height: 520px !important;
    overflow: visible !important;
  }

  /* if reels grid exists */
  .ip-reels-grid {
    min-height: 520px !important;
    overflow: visible !important;
  }

  /* if any card is being clipped */
  .ip-reel-card {
    min-height: 140px !important;
  }
}
/* ------------------------------------------------------
Fix: Mobile hero reels not fully visible
Root: .ip-hero-reels has padding-left + margin-top
      inner grid/items not stretching to container height
------------------------------------------------------ */

@media (max-width: 768px) {

  /* 1) Make the reels container clean and full width */
  .ip-hero-reels {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;              /* removes that 10px left padding */
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* 2) Force the inner layout to fill the container height */
  .ip-hero-reels > * {
    width: 100% !important;
    height: 100% !important;
  }

  /* If your inner wrapper exists, stretch it */
  .ip-hero-reels .ip-reels-grid,
  .ip-hero-reels .reels-grid,
  .ip-hero-reels .hero-reels-grid {
    width: 100% !important;
    height: 100% !important;
    align-content: stretch !important;
    justify-content: center !important;
  }

  /* 3) If it is a grid, make rows stretch (removes blank top/bottom feel) */
  .ip-hero-reels .ip-reels-grid {
    display: grid !important;
    grid-auto-rows: 1fr !important;
  }

  /* 4) Make each reel card fill its cell */
  .ip-hero-reels .ip-reel-card,
  .ip-hero-reels .reel-card,
  .ip-hero-reels .hero-reel-card {
    height: 100% !important;
  }

  /* 5) Images fill the card */
  .ip-hero-reels img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;   /* change to contain if you want zero crop */
    display: block !important;
  }
}
/* ------------------------------------------------------
Mobile fix (generic): hero text center + padding + button gap
Paste at END of your main CSS
------------------------------------------------------ */

@media (max-width: 768px) {

  /* 1) Hero area: add safe horizontal padding so nothing sticks to left */
  section.hero,
  section.hero-slider,
  .hero,
  .hero-slider,
  .ip-hero,
  .ip-hero-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  /* If you are using bootstrap container/row/cols inside hero */
  section.hero .container,
  section.hero-slider .container,
  .hero .container,
  .hero-slider .container,
  .ip-hero .container {
    padding-left: 0 !important;   /* section already has padding */
    padding-right: 0 !important;
  }

  section.hero .row > [class*="col-"],
  section.hero-slider .row > [class*="col-"],
  .hero .row > [class*="col-"],
  .hero-slider .row > [class*="col-"] {
    padding-left: 0 !important;   /* prevent double padding */
    padding-right: 0 !important;
  }

  /* 2) Force center alignment for hero text block */
  section.hero h1,
  section.hero h2,
  section.hero p,
  section.hero-slider h1,
  section.hero-slider h2,
  section.hero-slider p,
  .hero h1,
  .hero h2,
  .hero p,
  .hero-slider h1,
  .hero-slider h2,
  .hero-slider p,
  .ip-hero h1,
  .ip-hero h2,
  .ip-hero p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 3) Buttons row: gap + spacing from slider */
  section.hero .hero-button,
  section.hero .hero-buttons,
  section.hero .ip-hero-btns,
  section.hero-slider .hero-button,
  section.hero-slider .hero-buttons,
  section.hero-slider .ip-hero-btns,
  .hero .hero-button,
  .hero .hero-buttons,
  .hero .ip-hero-btns,
  .hero-slider .hero-button,
  .hero-slider .hero-buttons,
  .hero-slider .ip-hero-btns {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    margin-top: 18px !important;
    margin-bottom: 18px !important; /* important: buttons not touching slider */
  }

  /* 4) Buttons: never full width (kill 100% / flex:1) */
  section.hero a,
  section.hero-slider a,
  .hero a,
  .hero-slider a,
  .ip-hero a {
    max-width: 100% !important;
  }

  section.hero .btn,
  section.hero-slider .btn,
  .hero .btn,
  .hero-slider .btn,
  .ip-hero .btn,
  section.hero .theme-btn,
  section.hero-slider .theme-btn,
  .hero .theme-btn,
  .hero-slider .theme-btn,
  .ip-hero .theme-btn,
  section.hero .hero-btn,
  section.hero-slider .hero-btn,
  .hero .hero-btn,
  .hero-slider .hero-btn,
  .ip-hero .hero-btn {
    width: auto !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 170px !important;
    height: 46px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
  }

  /* 5) Slider block: make sure it starts below buttons */
  section.hero .ip-hero-reels,
  section.hero-slider .ip-hero-reels,
  .hero .ip-hero-reels,
  .hero-slider .ip-hero-reels {
    margin-top: 10px !important;
  }
}
/* ------------------------------------------------------
Fix: slider not sticking to hero buttons (mobile)
Paste at END of your main CSS
------------------------------------------------------ */

@media (max-width: 768px) {

  /* 1) Buttons wrapper: force gap below buttons */
  section.hero .hero-button,
  section.hero .hero-buttons,
  section.hero .ip-hero-btns,
  section.hero-slider .hero-button,
  section.hero-slider .hero-buttons,
  section.hero-slider .ip-hero-btns,
  .hero .hero-button,
  .hero .hero-buttons,
  .hero .ip-hero-btns,
  .hero-slider .hero-button,
  .hero-slider .hero-buttons,
  .hero-slider .ip-hero-btns {
    padding-bottom: 16px !important;   /* THIS creates hard gap */
    margin-bottom: 0 !important;       /* avoid collapse/override fights */
  }

  /* 2) Slider wrapper: add top spacing so it never touches buttons */
  section.hero .ip-hero-reels,
  section.hero-slider .ip-hero-reels,
  .hero .ip-hero-reels,
  .hero-slider .ip-hero-reels {
    padding-top: 16px !important;
    margin-top: 0 !important;
  }

  /* 3) If any slider container is using negative margin, kill it */
  section.hero .ip-hero-reels,
  section.hero-slider .ip-hero-reels,
  .hero .ip-hero-reels,
  .hero-slider .ip-hero-reels,
  section.hero .content-right,
  section.hero-slider .content-right,
  .hero .content-right,
  .hero-slider .content-right {
    transform: none !important;
    translate: none !important;
  }
}

/* ------------------------------------------------------
FINAL FIX (Hero Mobile):
1) Center align text
2) Center buttons (NOT full width)
3) Add guaranteed gap between buttons and slider
Paste at VERY END of landing.css
------------------------------------------------------ */

@media (max-width: 768px) {

  /* Center text */
  .ip-hero .ip-hero-text,
  .ip-hero .ip-hero-kicker,
  .ip-hero .ip-hero-title,
  .ip-hero .ip-hero-desc {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Buttons: center + never full width */
  .ip-hero .ip-hero-actions {
    justify-content: center !important;   /* important: was flex-start somewhere */
    align-items: center !important;
    gap: 12px !important;
    margin-top: 18px !important;
    margin-bottom: 20px !important;       /* guaranteed gap from slider */
  }

  .ip-hero .ip-hero-actions .ip-btn {
    width: auto !important;               /* kills width:100% rule */
    flex: 0 0 auto !important;            /* kills stretching */
    display: inline-flex !important;
    min-width: 170px !important;          /* keeps nice button size */
    height: 46px !important;
    padding: 0 22px !important;
  }

  /* Slider/reels: start below buttons (no sticking) */
  .ip-hero .ip-hero-reels {
    margin-top: 16px !important;
    padding-top: 10px !important;
  }
}
/* ------------------------------------------------------
FINAL: Uniform headings + better line spacing (Landing Page)
Paste at VERY END of landing.css
------------------------------------------------------ */

:root{
  --h-lh: 1.16;     /* heading line-height (desktop) */
  --h-lh-m: 1.18;   /* heading line-height (mobile) */
  --h-mb: 14px;     /* heading bottom margin */
}

/* 1) Make all key section headings uniform */
.landing-section .section-title h2,
.hiw-section .hiw-header h2,
.cta-section .cta-wrapper h2,
.faqs-section .section-title h2{
  font-family: "Spline Sans", sans-serif !important;
  font-weight: 1000 !important;
  letter-spacing: -0.02em !important;
  line-height: var(--h-lh) !important;
  margin-bottom: var(--h-mb) !important;
  color: var(--text) !important;
}

/* 2) Hero main title spacing */
.ip-hero .ip-hero-title{
  line-height: 1.12 !important;     /* hero thoda tighter but not chipki */
  margin-bottom: 16px !important;
}

/* 3) Subtitles paragraph spacing (consistent) */
.landing-section .section-title p,
.hiw-section .hiw-subtitle,
.cta-section .cta-wrapper p{
  line-height: 1.6 !important;
  margin-top: 0 !important;
}

/* 4) Mobile: slightly more breathing room */
@media (max-width: 768px){
  .landing-section .section-title h2,
  .hiw-section .hiw-header h2,
  .cta-section .cta-wrapper h2,
  .faqs-section .section-title h2{
    line-height: var(--h-lh-m) !important;
  }

  .ip-hero .ip-hero-title{
    line-height: 1.14 !important;
  }
}
/* ------------------------------------------------------
File: /instapostapp/assets/css/landing.css
Purpose: Force ALL landing headings to match HIW main heading
Rule: Desktop + Mobile SAME. No auto scaling.
Paste at VERY END of landing.css
------------------------------------------------------ */

/* MASTER STYLE = "Steps to create your invitation card" heading */
.hiw-section .hiw-header h2{
  font-family: "Spline Sans", sans-serif !important;
  font-weight: 1000 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.22 !important;         /* chipki fix */
  margin: 0 0 14px 0 !important;
  text-transform: none !important;
}

/* FORCE ALL major section headings to match master */
.ip-hero .ip-hero-text h1,
.ip-hero .ip-hero-text h2,
.ip-hero .ip-hero-text h3,
.landing-section .section-title h1,
.landing-section .section-title h2,
.landing-section .section-title h3,
.landing-section .section-title h4,
.landing-section .section-title h5,
.cta-section .cta-wrapper h1,
.cta-section .cta-wrapper h2,
.cta-section .cta-wrapper h3,
.faqs-section .section-title h1,
.faqs-section .section-title h2,
.faqs-section .section-title h3,
.faqs-section .section-title h4,
.faqs-section .section-title h5{
  font-family: "Spline Sans", sans-serif !important;
  font-weight: 1000 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.22 !important;
  margin: 0 0 14px 0 !important;
  text-transform: none !important;
}

/* IMPORTANT: Keep heading size SAME on mobile and desktop */
.hiw-section .hiw-header h2,
.ip-hero .ip-hero-text h1,
.ip-hero .ip-hero-text h2,
.ip-hero .ip-hero-text h3,
.landing-section .section-title h1,
.landing-section .section-title h2,
.landing-section .section-title h3,
.landing-section .section-title h4,
.landing-section .section-title h5,
.cta-section .cta-wrapper h1,
.cta-section .cta-wrapper h2,
.cta-section .cta-wrapper h3,
.faqs-section .section-title h1,
.faqs-section .section-title h2,
.faqs-section .section-title h3,
.faqs-section .section-title h4,
.faqs-section .section-title h5{
  font-size: 60px !important; /* this is the LOCKED size */
}

/* Mobile overrides in theme often shrink headings. Kill that explicitly. */
@media (max-width: 991px){
  .hiw-section .hiw-header h2,
  .ip-hero .ip-hero-text h1,
  .ip-hero .ip-hero-text h2,
  .ip-hero .ip-hero-text h3,
  .landing-section .section-title h1,
  .landing-section .section-title h2,
  .landing-section .section-title h3,
  .landing-section .section-title h4,
  .landing-section .section-title h5,
  .cta-section .cta-wrapper h1,
  .cta-section .cta-wrapper h2,
  .cta-section .cta-wrapper h3,
  .faqs-section .section-title h1,
  .faqs-section .section-title h2,
  .faqs-section .section-title h3,
  .faqs-section .section-title h4,
  .faqs-section .section-title h5{
    font-size: 48px !important; /* SAME on mobile */
    line-height: 1.22 !important;
  }
}

/* Do NOT touch accordion question titles (h6) */
.accordion .accordion-title{
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

/* ------------------------------------------------------
File: /instapostapp/assets/css/landing.css
Purpose: Hero background image
------------------------------------------------------ */

.ip-hero{
  position: relative;
  overflow: hidden;
  background: url("/instapostapp/assets/images/hero/banner1-1.jpg") center center / cover no-repeat;
}

/* Optional: dark overlay for better text readability */
.ip-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  pointer-events: none;
}

/* Ensure hero content stays above overlay */
.ip-hero .container{
  position: relative;
  z-index: 2;
}
/* ------------------------------------------------------
Purpose: Hero text white
------------------------------------------------------ */

.ip-hero,
.ip-hero h1,
.ip-hero h2,
.ip-hero p{
  color: #ffffff;
}

/* ------------------------------------------------------
Purpose: Desktop menu links white
Note: Only affects desktop view
------------------------------------------------------ */

@media (min-width: 992px){
  .transparent-header .main-menu ul li a{
    color: #ffffff !important;
  }
}
/* ------------------------------------------------------
File: /instapostapp/assets/css/landing.css
Purpose: Mobile hamburger menu white
------------------------------------------------------ */

@media (max-width: 1199px){
  .navbar-toggler span{
    background: #ffffff !important;
  }
}
/* ------------------------------------------------------
File: /instapostapp/assets/css/landing.css
Purpose: Hero (transparent) = white, Sticky (white bg) = black
------------------------------------------------------ */

/* Logo toggle */
.ip-logo .logo-dark { display: inline-block; }
.ip-logo .logo-light { display: none; }

.transparent-header.sticky .ip-logo .logo-dark { display: inline-block; }
.transparent-header.sticky .ip-logo .logo-light { display: none; }

/* On hero (not sticky) show white logo */
.transparent-header:not(.sticky) .ip-logo .logo-dark { display: none; }
.transparent-header:not(.sticky) .ip-logo .logo-light { display: inline-block; }

/* Desktop nav links: white on hero, black on sticky white bg */
.transparent-header:not(.sticky) .main-menu > ul > li > a {
  color: #ffffff !important;
}

.transparent-header.sticky .main-menu > ul > li > a {
  color: #111111 !important;
}

/* Mobile hamburger: white on hero, black on sticky */
.transparent-header:not(.sticky) .navbar-toggler span {
  background: #ffffff !important;
}

.transparent-header.sticky .navbar-toggler span {
  background: #111111 !important;
}
/* ------------------------------------------------------
File: /instapostapp/assets/css/landing.css
Purpose: Hero (dark) -> white logo/links, Sticky (white bg) -> black logo/links
------------------------------------------------------ */

/* 1) Logo default */
.ip-logo .logo-dark { display: inline-block; }
.ip-logo .logo-light { display: none; }

/* 2) HERO (non-sticky) -> white */
.transparent-header .main-menu > ul > li > a { color: #ffffff !important; }
.transparent-header .navbar-toggler span { background: #ffffff !important; }
.transparent-header .ip-logo .logo-dark { display: none; }
.transparent-header .ip-logo .logo-light { display: inline-block; }

/* 3) STICKY detection (cover all common classes) */
header.sticky,
header.is-sticky,
header.sticky-on,
header.header-sticky,
header.header-fixed,
header.fixed-header,
header.nav-fixed,
.transparent-header.sticky,
.transparent-header.is-sticky,
.transparent-header.sticky-on,
.transparent-header.header-sticky,
.transparent-header.header-fixed,
.transparent-header.fixed-header,
.transparent-header.nav-fixed,
.header-navigation.sticky,
.header-navigation.is-sticky,
.header-navigation.sticky-on,
.header-navigation.header-sticky,
.header-navigation.header-fixed,
.header-navigation.fixed-header,
.header-navigation.nav-fixed,
.ac-header-one__main.sticky,
.ac-header-one__main.is-sticky,
.ac-header-one__main.sticky-on,
.ac-header-one__main.header-sticky,
.ac-header-one__main.header-fixed,
.ac-header-one__main.fixed-header,
.ac-header-one__main.nav-fixed {
  /* Sticky bg is white (as you said) so set text to black */
}

/* 4) STICKY -> black links + black hamburger + black logo */
header.sticky .main-menu > ul > li > a,
header.is-sticky .main-menu > ul > li > a,
header.sticky-on .main-menu > ul > li > a,
header.header-sticky .main-menu > ul > li > a,
header.header-fixed .main-menu > ul > li > a,
header.fixed-header .main-menu > ul > li > a,
header.nav-fixed .main-menu > ul > li > a,

.transparent-header.sticky .main-menu > ul > li > a,
.transparent-header.is-sticky .main-menu > ul > li > a,
.transparent-header.sticky-on .main-menu > ul > li > a,
.transparent-header.header-sticky .main-menu > ul > li > a,
.transparent-header.header-fixed .main-menu > ul > li > a,
.transparent-header.fixed-header .main-menu > ul > li > a,
.transparent-header.nav-fixed .main-menu > ul > li > a,

.header-navigation.sticky .main-menu > ul > li > a,
.header-navigation.is-sticky .main-menu > ul > li > a,
.header-navigation.sticky-on .main-menu > ul > li > a,
.header-navigation.header-sticky .main-menu > ul > li > a,
.header-navigation.header-fixed .main-menu > ul > li > a,
.header-navigation.fixed-header .main-menu > ul > li > a,
.header-navigation.nav-fixed .main-menu > ul > li > a,

.ac-header-one__main.sticky .main-menu > ul > li > a,
.ac-header-one__main.is-sticky .main-menu > ul > li > a,
.ac-header-one__main.sticky-on .main-menu > ul > li > a,
.ac-header-one__main.header-sticky .main-menu > ul > li > a,
.ac-header-one__main.header-fixed .main-menu > ul > li > a,
.ac-header-one__main.fixed-header .main-menu > ul > li > a,
.ac-header-one__main.nav-fixed .main-menu > ul > li > a {
  color: #111111 !important;
}

header.sticky .navbar-toggler span,
header.is-sticky .navbar-toggler span,
header.sticky-on .navbar-toggler span,
header.header-sticky .navbar-toggler span,
header.header-fixed .navbar-toggler span,
header.fixed-header .navbar-toggler span,
header.nav-fixed .navbar-toggler span,

.transparent-header.sticky .navbar-toggler span,
.transparent-header.is-sticky .navbar-toggler span,
.transparent-header.sticky-on .navbar-toggler span,
.transparent-header.header-sticky .navbar-toggler span,
.transparent-header.header-fixed .navbar-toggler span,
.transparent-header.fixed-header .navbar-toggler span,
.transparent-header.nav-fixed .navbar-toggler span,

.header-navigation.sticky .navbar-toggler span,
.header-navigation.is-sticky .navbar-toggler span,
.header-navigation.sticky-on .navbar-toggler span,
.header-navigation.header-sticky .navbar-toggler span,
.header-navigation.header-fixed .navbar-toggler span,
.header-navigation.fixed-header .navbar-toggler span,
.header-navigation.nav-fixed .navbar-toggler span,

.ac-header-one__main.sticky .navbar-toggler span,
.ac-header-one__main.is-sticky .navbar-toggler span,
.ac-header-one__main.sticky-on .navbar-toggler span,
.ac-header-one__main.header-sticky .navbar-toggler span,
.ac-header-one__main.header-fixed .navbar-toggler span,
.ac-header-one__main.fixed-header .navbar-toggler span,
.ac-header-one__main.nav-fixed .navbar-toggler span {
  background: #111111 !important;
}

/* Sticky logo swap -> show dark, hide light */
header.sticky .ip-logo .logo-dark,
header.is-sticky .ip-logo .logo-dark,
header.sticky-on .ip-logo .logo-dark,
header.header-sticky .ip-logo .logo-dark,
header.header-fixed .ip-logo .logo-dark,
header.fixed-header .ip-logo .logo-dark,
header.nav-fixed .ip-logo .logo-dark,

.transparent-header.sticky .ip-logo .logo-dark,
.transparent-header.is-sticky .ip-logo .logo-dark,
.transparent-header.sticky-on .ip-logo .logo-dark,
.transparent-header.header-sticky .ip-logo .logo-dark,
.transparent-header.header-fixed .ip-logo .logo-dark,
.transparent-header.fixed-header .ip-logo .logo-dark,
.transparent-header.nav-fixed .ip-logo .logo-dark,

.header-navigation.sticky .ip-logo .logo-dark,
.header-navigation.is-sticky .ip-logo .logo-dark,
.header-navigation.sticky-on .ip-logo .logo-dark,
.header-navigation.header-sticky .ip-logo .logo-dark,
.header-navigation.header-fixed .ip-logo .logo-dark,
.header-navigation.fixed-header .ip-logo .logo-dark,
.header-navigation.nav-fixed .ip-logo .logo-dark,

.ac-header-one__main.sticky .ip-logo .logo-dark,
.ac-header-one__main.is-sticky .ip-logo .logo-dark,
.ac-header-one__main.sticky-on .ip-logo .logo-dark,
.ac-header-one__main.header-sticky .ip-logo .logo-dark,
.ac-header-one__main.header-fixed .ip-logo .logo-dark,
.ac-header-one__main.fixed-header .ip-logo .logo-dark,
.ac-header-one__main.nav-fixed .ip-logo .logo-dark {
  display: inline-block !important;
}

header.sticky .ip-logo .logo-light,
header.is-sticky .ip-logo .logo-light,
header.sticky-on .ip-logo .logo-light,
header.header-sticky .ip-logo .logo-light,
header.header-fixed .ip-logo .logo-light,
header.fixed-header .ip-logo .logo-light,
header.nav-fixed .ip-logo .logo-light,

.transparent-header.sticky .ip-logo .logo-light,
.transparent-header.is-sticky .ip-logo .logo-light,
.transparent-header.sticky-on .ip-logo .logo-light,
.transparent-header.header-sticky .ip-logo .logo-light,
.transparent-header.header-fixed .ip-logo .logo-light,
.transparent-header.fixed-header .ip-logo .logo-light,
.transparent-header.nav-fixed .ip-logo .logo-light,

.header-navigation.sticky .ip-logo .logo-light,
.header-navigation.is-sticky .ip-logo .logo-light,
.header-navigation.sticky-on .ip-logo .logo-light,
.header-navigation.header-sticky .ip-logo .logo-light,
.header-navigation.header-fixed .ip-logo .logo-light,
.header-navigation.fixed-header .ip-logo .logo-light,
.header-navigation.nav-fixed .ip-logo .logo-light,

.ac-header-one__main.sticky .ip-logo .logo-light,
.ac-header-one__main.is-sticky .ip-logo .logo-light,
.ac-header-one__main.sticky-on .ip-logo .logo-light,
.ac-header-one__main.header-sticky .ip-logo .logo-light,
.ac-header-one__main.header-fixed .ip-logo .logo-light,
.ac-header-one__main.fixed-header .ip-logo .logo-light,
.ac-header-one__main.nav-fixed .ip-logo .logo-light {
  display: none !important;
}
/* ------------------------------------------------------
File: /instapostapp/assets/css/landing.css
Purpose: Remove hero purple overlay + ensure hero bg image visible (desktop + mobile)
------------------------------------------------------ */

/* 1) Kill any overlay on hero */
.ip-hero::before,
.ip-hero::after,
.ip-hero .overlay,
.ip-hero .ip-hero-overlay {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* 2) Ensure hero background image shows */
.ip-hero {
  background-color: transparent !important;
  background: url("/instapostapp/assets/images/hero/banner1-1.jpg") center center / cover no-repeat;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
}

/* 3) If any parent wrapper is adding gradient */
.smooth-wrapper,
#smooth-content {
  background: transparent !important;
}

/* 4) Mobile safety: sometimes background gets overridden */
@media (max-width: 767px) {
  .ip-hero {
  background: url("/instapostapp/assets/images/hero/banner_mobile.jpg") center center / cover no-repeat;
    background-size: cover !important;
    background-position: center center !important;
  }
}

/* ------------------------------------------------------
File: /instapostapp/assets/css/landing.css
Purpose: Increase hero height to 770px (desktop + mobile)
------------------------------------------------------ */

.ip-hero {
  min-height: 770px !important;
  display: flex;
  align-items: center;
}
/* ------------------------------------------------------
File: /instapostapp/assets/css/landing.css
Purpose: Header logo resize (50% smaller)
------------------------------------------------------ */

.ac-header-one__logo img {
  width: 50% !important;
  height: auto !important;
}
.ip-hero-text {
  max-width: 620px;
}
.ip-nowrap {
  white-space: nowrap;
}
.ip-hero-title {
  color: #ffffff;
}
.ip-hero .ip-hero-text h2 {
  color: #ffffff;
}


  h5 {
    font-size: 85px;
	  color: #ffffff;
	  letter-spacing: -0.02em !important;
  line-height: 1.22 !important;
  }

/* ------------------------------------------------------
   Hero heading (h5) - Responsive mobile sizing
   Purpose: Keep hero text clean, readable, no ugly wrap
------------------------------------------------------ */

h5 {
  font-size: 85px;
  color: #ffffff;
  letter-spacing: -0.02em !important;
  line-height: 1.22 !important;
}

/* Tablet */
@media (max-width: 991px) {
  h5 {
    font-size: 56px;
    line-height: 1.18 !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  h5 {
    font-size: 56px;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
  }
}

/* Small Mobile */
@media (max-width: 480px) {
  h5 {
    font-size: 48px;
    line-height: 1.12 !important;
  }
}
/* ------------------------------------------------------
   Hero h5 - Center align on mobile only
------------------------------------------------------ */
@media (max-width: 767px) {
  h5 {
    text-align: center;
  }
}/* ------------------------------------------------------
   Mobile Floating Social Buttons (WhatsApp + Instagram)
------------------------------------------------------ */
.ip-mobile-social {
  display: none;
}

@media (max-width: 767px) {
  .ip-mobile-social {
    position: fixed;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 9999;
  }
}


  .ip-social-btn {
    width: 50px;
    height: 50px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(0,0,0,0.18);
    font-size: 24px;
  }

  .ip-social-btn i {
    color: #ffffff;
  }

  .ip-whatsapp {
    background: #25d366;
  }

  .ip-instagram {
    background: #e1306c;
  }
}

/* ------------------------------------------------------
   Floating Social Buttons (Desktop + Mobile)
------------------------------------------------------ */

.ip-mobile-social {
  position: fixed;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 9999;
}

/* Optional: slightly smaller on desktop */
@media (min-width: 768px) {
  .ip-mobile-social a {
    width: 46px;
    height: 46px;
  }
}
/* ------------------------------------------------------
   Floating Social Buttons - FORCE VISIBILITY (Desktop + Mobile)
------------------------------------------------------ */

.ip-mobile-social {
  position: fixed !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;

  z-index: 2147483647 !important; /* always on top */
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.ip-mobile-social a {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
}

/* If any overlay is swallowing it, this helps */
.ac-page-wrapper,
.smooth-wrapper,
#smooth-content {
  overflow: visible !important;
}

@media (max-width: 768px) {

  /* Center text */
  
  .ip-hero .ip-hero-desc {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
	     font-size: 14px;
	  display: none !important;
  }
	
}

/* Default: desktop view */
.only-mobile {
  display: none;
}
.only-desktop {
  display: block;
}

/* Mobile view */
@media (max-width: 767px) {
  .only-desktop {
    display: none !important;
  }
  .only-mobile {
    display: block !important;
  }
}
