/* GeoRank stylesheet — generated from the Design tab. Layout CSS is shared
   across every theme; only the :root tokens above change. Add your own
   overrides in the Advanced CSS box on the Design tab, not here directly —
   this whole file is rewritten every time a theme is applied. */

:root{
  --max-w: 1100px;
  --font: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-size-base: 16px;
  --line-height-base: 1.6;
  --font-heading: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --heading-transform: none;
  --heading-tracking: normal;
  --text: #201822;
  --muted: #6b5c66;
  --bg: #ffffff;
  --surface: #faf5f7;
  --border: #f0e0e6;
  --accent: #e8447a;
  --accent-dark: #c22e60;
  --radius: 22px;
  --header-height: 100px;
  --logo-height: 80px;
  --logo-max-width: 250px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--font);font-size:var(--font-size-base);color:var(--text);background:var(--bg);line-height:var(--line-height-base);}
img{max-width:100%;display:block;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{max-width:var(--max-w);margin:0 auto;padding:0 20px;}
h1,h2,h3,.logo{font-family:var(--font-heading);text-transform:var(--heading-transform);letter-spacing:var(--heading-tracking);}

/* Header / nav */
.site-header{border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:50;min-height:var(--header-height);}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;min-height:var(--header-height);padding:10px 20px;gap:10px;}
.logo{font-weight:700;font-size:18px;color:var(--text);display:flex;align-items:center;height:var(--logo-height);}
.logo img{height:var(--logo-height);max-width:var(--logo-max-width);width:auto;object-fit:contain;display:block;}
.nav-toggle{display:inline-block;background:none;border:1px solid var(--border);border-radius:8px;font-size:18px;padding:6px 10px;cursor:pointer;}
.site-nav{display:none;flex-direction:column;gap:4px;width:100%;padding-top:10px;}
.site-nav.open{display:flex;}
.site-nav a{padding:10px 4px;color:var(--text);border-bottom:1px solid var(--border);}

/* Hero */
.hero{padding:56px 0 40px;}
.hero-inner{display:flex;flex-direction:column;gap:28px;align-items:center;}
.hero h1{font-size:28px;line-height:1.2;margin:0 0 12px;}
.hero p{color:var(--muted);font-size:16px;margin:0 0 20px;max-width:60ch;}
.hero-media img{border-radius:var(--radius);border:1px solid var(--border);}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 20px;border-radius:var(--radius);font-weight:600;font-size:14px;border:0;cursor:pointer;}
.btn:hover{background:var(--accent-dark);text-decoration:none;}

/* Sections & cards */
section{padding:36px 0;}
.section-title{font-size:22px;margin:0 0 20px;}
.grid{display:grid;grid-template-columns:1fr;gap:16px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;}
.card h3{margin:0 0 8px;font-size:16px;}
.card p{margin:0;color:var(--muted);font-size:14px;}

/* Footer */
.site-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:40px;padding:28px 0;}
.site-footer p{color:var(--muted);font-size:13px;margin:4px 0;}

/* Business Info (auto-synced name/address/contact — footer.html + Contact page) */
.georank-biz-info{max-width:var(--max-w);margin:16px auto;padding:0 20px;font-size:13px;color:var(--muted);}
.georank-biz-info .biz-name{font-weight:700;color:var(--text);margin:0 0 4px;}
.georank-biz-info .biz-address,.georank-biz-info .biz-contact{margin:2px 0;}
.georank-biz-info .biz-contact a{color:inherit;text-decoration:underline;}

/* ---- Rich media: galleries, lightbox, slideshow, image + text overlay ---- */
.georank-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.georank-gallery a{border-radius:var(--radius);overflow:hidden;display:block;}
.georank-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;transition:transform .2s ease;}
.georank-gallery a:hover img{transform:scale(1.04);}

.georank-lightbox-overlay{position:fixed;inset:0;background:rgba(10,10,14,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px;}
.georank-lightbox-overlay.open{display:flex;}
.georank-lightbox-overlay img{max-width:100%;max-height:88vh;border-radius:8px;margin:0 auto;}
.georank-lightbox-overlay .glb-caption{color:#fff;text-align:center;font-size:14px;margin-top:10px;opacity:.85;}
.georank-lightbox-overlay .glb-close,.georank-lightbox-overlay .glb-prev,.georank-lightbox-overlay .glb-next{position:fixed;background:var(--accent);color:#fff;border:0;width:44px;height:44px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.9;}
.georank-lightbox-overlay .glb-close{top:18px;right:18px;}
.georank-lightbox-overlay .glb-prev{left:18px;top:50%;transform:translateY(-50%);}
.georank-lightbox-overlay .glb-next{right:18px;top:50%;transform:translateY(-50%);}
.georank-lightbox-overlay .glb-close:hover,.georank-lightbox-overlay .glb-prev:hover,.georank-lightbox-overlay .glb-next:hover{background:var(--accent-dark);opacity:1;}

.georank-slideshow{position:relative;border-radius:var(--radius);overflow:hidden;}
.georank-slideshow .gss-track{position:relative;width:100%;aspect-ratio:16/9;}
.georank-slideshow .gss-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;}
.georank-slideshow .gss-slide.active{opacity:1;}
.georank-slideshow .gss-slide img{width:100%;height:100%;object-fit:cover;}
.georank-slideshow .gss-arrow{position:absolute;top:50%;transform:translateY(-50%);background:var(--accent);color:#fff;border:0;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:18px;opacity:.9;}
.georank-slideshow .gss-arrow:hover{background:var(--accent-dark);opacity:1;}
.georank-slideshow .gss-prev{left:12px;}
.georank-slideshow .gss-next{right:12px;}
.georank-slideshow .gss-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;}
.georank-slideshow .gss-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55);border:0;cursor:pointer;padding:0;}
.georank-slideshow .gss-dot.active{background:#fff;}

.georank-overlay{position:relative;border-radius:var(--radius);overflow:hidden;}
.georank-overlay img{width:100%;display:block;}
.georank-overlay-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;background:linear-gradient(to top, rgba(0,0,0,.68), rgba(0,0,0,0) 65%);color:#fff;}
.georank-overlay-text h3{margin:0 0 6px;font-size:22px;color:#fff;}
.georank-overlay-text p{margin:0 0 14px;font-size:14px;opacity:.92;}
.georank-overlay-text .btn{align-self:flex-start;}

/* Quick-insert content blocks (Files tab sidebar) — imgtext is intentionally
   a fixed row on every screen size, per site-owner preference; the other two
   are mobile-first (stacked on mobile, multi-column from 720px up). */
.georank-imgtext{display:flex;flex-direction:row;align-items:center;gap:20px;margin:20px 0;}
.georank-imgtext .git-media{flex:0 0 38%;max-width:220px;}
.georank-imgtext .git-media img{width:100%;height:auto;display:block;border-radius:var(--radius);}
.georank-imgtext .git-text{flex:1;min-width:0;}
.georank-imgtext .git-text h3{margin:0 0 8px;}
.georank-imgtext .git-text p{margin:0;}

.georank-capsules{display:flex;flex-direction:column;gap:14px;margin:20px 0;}
.georank-capsules .capsule{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:16px 26px;text-align:center;}
.georank-capsules .capsule h4{margin:0 0 6px;}
.georank-capsules .capsule p{margin:0;font-size:14px;}

.georank-flexgrid{display:grid;grid-template-columns:1fr;gap:16px;margin:20px 0;}
.georank-flexgrid .flexbox{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;}
.georank-flexgrid .flexbox h4{margin:0 0 8px;}
.georank-flexgrid .flexbox p{margin:0;font-size:14px;}

/* FAQ accordion — built on native <details>/<summary>, not a JS widget, so it
   genuinely expands/collapses inside the page editor itself, not just on the
   published site. */
.georank-faq{margin:20px 0;}
.georank-faq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden;}
.georank-faq summary{list-style:none;cursor:pointer;padding:16px 44px 16px 18px;font-weight:600;position:relative;}
.georank-faq summary::-webkit-details-marker{display:none;}
.georank-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:400;color:var(--accent);transition:transform .15s ease;}
.georank-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.georank-faq details p{margin:0;padding:0 18px 16px;color:var(--muted);font-size:14px;}

/* Testimonial / review cards */
.georank-testimonials{display:flex;flex-direction:column;gap:16px;margin:20px 0;}
.georank-testimonials .testimonial{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;}
.georank-testimonials .testimonial .t-stars{color:var(--accent);font-size:14px;margin:0 0 8px;letter-spacing:2px;}
.georank-testimonials .testimonial .t-quote{margin:0 0 12px;font-style:italic;color:var(--text);}
.georank-testimonials .testimonial .t-quote::before{content:"\201C";}
.georank-testimonials .testimonial .t-quote::after{content:"\201D";}
.georank-testimonials .testimonial .t-name{margin:0;font-weight:700;font-size:14px;}

/* Pricing / plan cards */
.georank-pricing{display:flex;flex-direction:column;gap:16px;margin:20px 0;}
.georank-pricing .plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center;}
.georank-pricing .plan.featured{border-color:var(--accent);border-width:2px;}
.georank-pricing .plan h4{margin:0 0 4px;font-size:16px;}
.georank-pricing .plan .plan-price{font-size:28px;font-weight:700;margin:8px 0;color:var(--text);}
.georank-pricing .plan .plan-price span{font-size:13px;font-weight:400;color:var(--muted);}
.georank-pricing .plan ul{list-style:none;margin:14px 0;padding:0;text-align:left;}
.georank-pricing .plan ul li{padding:6px 0 6px 22px;position:relative;font-size:14px;color:var(--muted);border-top:1px solid var(--border);}
.georank-pricing .plan ul li:first-child{border-top:0;}
.georank-pricing .plan ul li::before{content:"\2713";position:absolute;left:0;color:var(--accent);font-weight:700;}
.georank-pricing .plan .btn{margin-top:6px;}

/* Back-to-top button (assets/js/georank-media.js adds/removes .visible on
   scroll; toggled sitewide via Setup → Rich Media). */
.georank-backtotop{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;border:0;font-size:20px;line-height:1;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:400;}
.georank-backtotop.visible{opacity:.92;visibility:visible;transform:translateY(0);}
.georank-backtotop:hover{opacity:1;background:var(--accent-dark);}

/* Tablet and up */
@media (min-width: 720px){
  .nav-toggle{display:none;}
  .header-inner{flex-wrap:nowrap;}
  .site-nav{display:flex !important;flex-direction:row;width:auto;padding-top:0;gap:22px;}
  .site-nav a{border-bottom:none;padding:0;}
  .hero h1{font-size:38px;}
  .hero-inner{flex-direction:row;justify-content:space-between;}
  .hero-media{flex-shrink:0;}
  .grid{grid-template-columns:repeat(3,1fr);}
  .georank-gallery{grid-template-columns:repeat(3,1fr);}
  .georank-capsules{flex-direction:row;}
  .georank-capsules .capsule{flex:1;}
  .georank-flexgrid{grid-template-columns:repeat(var(--cols,3),1fr);}
  .georank-testimonials{flex-direction:row;}
  .georank-testimonials .testimonial{flex:1;}
  .georank-pricing{flex-direction:row;align-items:flex-start;}
  .georank-pricing .plan{flex:1;}
  .georank-pricing .plan.featured{transform:translateY(-8px);}
}

/* GEORANK:THEME-CUSTOM-CSS:START */
.georank-imgtext .git-media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius);
}
/* GEORANK:THEME-CUSTOM-CSS:END */
