/* =========================================================
   Juicy City Pages - front-end styles
   Easy controls: edit values here first.
   CTA text is edited in juicy-city-country-pages.php:
   const STYLE_CTA_TEXT = '...';
   ========================================================= */
:root{
  --jcc-cta-size:30px;
  --jcc-cta-size-mobile:16px;
  --jcc-cta-color:#1a73e8;
  --jcc-cta-weight:600;

  --jcc-section-title-size:18px;
  --jcc-section-title-size-mobile:16px;
  --jcc-section-title-color:#1a73e8;
}

/* Layout */
.juicy-cc-wrap{max-width:1320px;margin:0 auto;padding:18px 14px;overflow:visible;}
.juicy-cc-master{background:transparent;border-radius:0;box-shadow:none;overflow:visible;}
.juicy-cc-text{margin-top:0;background:rgba(255,255,255,.92);color:#111;border-radius:0;padding:18px 16px;border-top:1px solid rgba(15,23,42,.08);}
.juicy-cc-sections{margin-top:0;}

/* Map title */
.juicy-cc-map-title{margin:0;padding:14px 18px 18px;background:#fff;border-bottom:1px solid rgba(15,23,42,.08);}
.juicy-cc-map-title-main{display:flex;align-items:center;gap:8px;margin:0;}
.juicy-cc-map-title-icon{display:inline-flex;align-items:center;justify-content:center;color:#1a73e8;line-height:1;flex:0 0 auto;}
.juicy-cc-map-title-icon svg{display:block;width:18px;height:18px;fill:currentColor;}
.juicy-cc-map-title-city{margin:0;color:#111;font-weight:500;font-size:19px;line-height:1.25;letter-spacing:-.01em;}
.juicy-cc-map-title-sub{display:none;}

/* Hero text */
.juicy-cc-wrap .juicy-cc-hero-text{
  padding:46px 36px 30px;
  border-top:1px solid #eef0f3;
  background:#ffffff;
}
.juicy-cc-wrap .juicy-cc-hero-text h2{
  margin:0 0 22px;
  font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size:42px;
  line-height:.98;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:#050505;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:0;
}
.juicy-cc-wrap .juicy-cc-hero-text h2 .jcc-hero-black{color:#050505;margin-right:8px;}
.juicy-cc-wrap .juicy-cc-hero-text h2 .jcc-hero-blue{color:#1a73e8;}
.juicy-cc-wrap .juicy-cc-hero-text p{
  margin:0;
  max-width:760px;
  font-size:17px;
  line-height:1.65;
  color:#1f2937;
  font-weight:500;
}
.juicy-cc-map-cta{margin:18px;color:var(--jcc-cta-color);font-size:var(--jcc-cta-size);line-height:1.45;font-weight:var(--jcc-cta-weight);}

/* Map and gallery containers */
.juicy-cc-map{margin-top:0;padding:0;background:#fff;}
.juicy-cc-gallery{margin-top:0;padding:0 0 22px;background:transparent;overflow:visible;}
.juicy-cc-map #juicy-map-wrapper{position:relative;z-index:5;}
.juicy-cc-map #juicy-map-wrap,
.juicy-cc-map .juicy-map-wrap{position:relative;z-index:5;}
.juicy-cc-map #juicy-map{position:relative;z-index:6;background:#fff;}
.juicy-cc-map #juicy-search-container{position:relative;z-index:7;}

/* How cards */
.juicy-cc-wrap .juicy-cc-how{margin-top:22px;}
.juicy-cc-wrap .juicy-cc-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px;}
.juicy-cc-wrap .juicy-cc-how-card{display:flex;align-items:flex-start;gap:14px;padding:16px 16px 15px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 24px rgba(15,23,42,.06);}
.juicy-cc-wrap .juicy-cc-icon{flex:0 0 56px;width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08);}
.juicy-cc-wrap .juicy-cc-icon svg{width:28px;height:28px;display:block;}
.juicy-cc-wrap .juicy-cc-icon--browse{background:#67c2df;}
.juicy-cc-wrap .juicy-cc-icon--unlock{background:#79c92d;}
.juicy-cc-wrap .juicy-cc-icon--explore{background:#ff9800;}
.juicy-cc-wrap .juicy-cc-how-card h3{margin:2px 0 5px;font-size:18px;line-height:1.2;}
.juicy-cc-wrap .juicy-cc-how-card p{margin:0;font-size:15px;line-height:1.5;color:#334155;}

/* City section headings and links */
.juicy-cc-wrap .juicy-cc-nearby,
.juicy-cc-wrap .juicy-cc-cities,
.juicy-cc-wrap .juicy-cc-global{margin-top:34px;padding-top:0;border-top:0;}
.juicy-cc-wrap .juicy-cc-section-head{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:0 0 10px;}
.juicy-cc-wrap .juicy-cc-section-head h2{margin:0;font-size:var(--jcc-section-title-size);line-height:1.2;font-weight:700;letter-spacing:-.01em;color:var(--jcc-section-title-color) !important;}
.juicy-cc-wrap .juicy-cc-section-head p{margin:0;color:#64748b;font-size:var(--jcc-section-title-size-mobile);line-height:1.45;}
.juicy-cc-wrap .juicy-cc-pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.juicy-cc-wrap .juicy-cc-pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:#f5f7fb;border:1px solid #e2e6ef;font-size:14px;font-weight:500;color:#1f2937;text-decoration:none;transition:all .15s ease;}
.juicy-cc-wrap .juicy-cc-pill:hover,
.juicy-cc-wrap .juicy-cc-pill:focus{background:#1a73e8;color:#fff;border-color:#1a73e8;transform:translateY(-1px);text-decoration:none;}
.juicy-cc-wrap .juicy-cc-pill:focus-visible{outline:2px solid #1a73e8;outline-offset:2px;}

/* SEO keyword block */
.juicy-cc-intro{margin-top:0;background:#fff;color:#202124;border-radius:0;padding:30px 28px;border:0;border-top:1px solid rgba(15,23,42,.08);box-shadow:none;}
.juicy-cc-seo-searches{margin:0;padding:0;}
.juicy-cc-seo-searches h2{margin:0 0 10px;font-size:22px;line-height:1.22;font-weight:800;letter-spacing:-.35px;color:#111827;}
.juicy-cc-keyword-tags,
.juicy-cc-seo-searches .juicy-cc-keyword-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.juicy-cc-keyword-tags li{list-style:none;margin:0;padding:0;display:inline-flex;}
.juicy-cc-keyword-tags span{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:#f5f7fb;border:1px solid #e2e6ef;font-size:14px;font-weight:500;color:#1f2937;line-height:1.35;white-space:normal;text-align:center;}


/* Latest Uploads inside city pages */
.juicy-cc-latest-uploads{width:100%;max-width:1320px;margin-left:auto;margin-right:auto;}
.juicy-cc-latest-uploads .jlu-wrap{max-width:1320px;margin-left:auto;margin-right:auto;}

/* Responsive */
@media (max-width:920px){
  .juicy-cc-wrap .juicy-cc-how-grid{grid-template-columns:1fr;}
}
@media (max-width:780px){
  .juicy-cc-intro{padding:26px 20px 28px;}
  .juicy-cc-map-title{padding:14px 16px 16px;}
  .juicy-cc-map-title-city{font-size:19px;}
  .juicy-cc-map-title-sub{margin-left:26px;}
}
@media (max-width:640px){
  .juicy-cc-wrap .juicy-cc-hero-text{padding:34px 20px 24px;}
  .juicy-cc-wrap .juicy-cc-hero-text h2{font-size:36px;line-height:1.02;margin-bottom:16px;letter-spacing:0;}
  .juicy-cc-wrap .juicy-cc-hero-text h2 .jcc-hero-black{margin-right:6px;}
  .juicy-cc-wrap .juicy-cc-hero-text p{font-size:15.5px;line-height:1.6;}
  .juicy-cc-seo-searches h2{font-size:20px;}
  .juicy-cc-keyword-tags,
  .juicy-cc-seo-searches .juicy-cc-keyword-tags{gap:8px;}
  .juicy-cc-keyword-tags span{min-height:34px;padding:0 11px;font-size:12.8px;}
}
@media (max-width:520px){
  .juicy-cc-wrap .juicy-cc-section-head h2{font-size:var(--jcc-section-title-size-mobile);}
  .juicy-cc-intro{padding:24px 16px 26px;}
  .juicy-cc-map-title-city{font-size:17px;}
  .juicy-cc-map-cta{font-size:var(--jcc-cta-size-mobile);margin:14px 16px 16px;}
}

/* Upload CTA - clean X/Google style */
.juicy-cc-post-cta-wrap{
  width:100%;
  max-width:none;
  margin:0;
  padding:22px 0;
  box-sizing:border-box;
  background:#ffffff;
  border-top:1px solid #eef2f5;
  border-bottom:1px solid #eef2f5;
}
.juicy-cc-post-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-height:0;
  padding:0 16px;
  box-sizing:border-box;
  border-radius:0;
  background:transparent;
  color:#050505 !important;
  text-decoration:none !important;
  font-size:24px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.02em;
  text-align:center;
  box-shadow:none;
  transition:background .15s ease;
}
.juicy-cc-post-cta strong{
  color:#1a73e8;
  font-weight:900;
}
.juicy-cc-post-cta:hover,
.juicy-cc-post-cta:focus{
  background:transparent;
  color:#050505 !important;
  text-decoration:none !important;
}
.juicy-cc-post-cta:focus-visible{
  outline:2px solid rgba(26,115,232,.35);
  outline-offset:3px;
}

.juicy-cc-latest-after-cta{
  background:#ffffff;
  padding:26px 18px 28px;
  border-top:0;
}

@media (max-width:640px){
  .juicy-cc-post-cta-wrap{
    margin:0;
    padding:18px 0;
  }
  .juicy-cc-post-cta{
    flex-wrap:wrap;
    min-height:0;
    padding:0 14px;
    border-radius:0;
    font-size:20px;
    line-height:1.3;
  }
  .juicy-cc-latest-after-cta{
    padding:22px 12px 24px;
  }
}
