/*
Theme Name: Gift & Receive Theme v33 - Complete Guide
Author: Gift & Receive
Description: Uses the official MailerLite Universal script for account 2499504 and retains the mobile menu and contact-page fixes.
Version: 33.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gift-receive-v21
*/

:root{--black:#101010;--white:#fff;--teal:#10b8ad;--teal2:#087f78;--soft:#e8fffc;--light:#f7fbfb;--grey:#555;--border:#d7eeee;--shadow:0 16px 45px rgba(0,0,0,.14);--radius:26px}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--black);background:white;line-height:1.6}
img{max-width:100%;height:auto} a{color:var(--teal2)}
.gr-container{max-width:1220px;margin:auto;padding:0 22px}
.gr-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}
.admin-bar .gr-header{top:32px}
.gr-nav{max-width:1220px;margin:auto;padding:8px 22px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.gr-logo img{height:150px;width:auto;display:block;object-fit:contain}
.gr-menu{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}
.gr-menu a{text-decoration:none;color:var(--black);font-weight:900;font-size:16px}
.gr-menu a:hover{color:var(--teal2)}
.gr-hero{position:relative;min-height:760px;display:flex;align-items:center;color:white;background:#111;overflow:hidden}
.gr-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gr-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.58),rgba(0,0,0,.28));z-index:1}
.gr-hero-inner{position:relative;z-index:2;max-width:1220px;margin:auto;padding:84px 22px;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.gr-eyebrow{display:inline-block;background:var(--teal);color:#061111;padding:9px 15px;border-radius:999px;font-weight:950;margin-bottom:18px}
.gr-hero h1{font-size:clamp(46px,6.4vw,86px);line-height:.96;margin:0 0 18px;letter-spacing:-2.4px}
.gr-hero h1 span{color:var(--teal)}
.gr-hero p{font-size:21px;max-width:720px;color:#f1f1f1;margin:0}
.gr-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.gr-btn{display:inline-block;text-decoration:none;font-weight:950;padding:15px 26px;border-radius:999px;border:2px solid transparent}
.gr-btn-primary{background:var(--teal);color:#061111}.gr-btn-primary:hover{background:var(--teal2);color:white}
.gr-btn-secondary{background:white;color:#111}.gr-btn-secondary:hover{background:#111;color:white}
.gr-proof{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.gr-proof span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);padding:9px 13px;border-radius:999px;font-weight:900}
.gr-hero-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:34px;padding:24px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}
.gr-hero-card img{border-radius:24px;box-shadow:0 12px 36px rgba(0,0,0,.35);width:100%;height:430px;object-fit:cover;object-position:center}
.gr-hero-card h3{font-size:28px;margin:16px 0 6px}
.gr-section{padding:84px 0}.gr-soft{background:var(--light)}
.gr-title{font-size:clamp(34px,4.5vw,58px);line-height:1.04;margin:0 0 14px;letter-spacing:-1.2px}
.gr-intro{font-size:19px;color:var(--grey);max-width:820px;margin:0 0 36px}
.gr-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.gr-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gr-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:38px;align-items:center}
.gr-card,.gr-product-card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.gr-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gr-journey a{background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;color:var(--black);overflow:hidden}
.gr-journey img{width:100%;height:190px;object-fit:cover;display:block}
.gr-journey div{padding:22px}.gr-journey h3{font-size:24px;line-height:1.1;margin:0 0 8px}.gr-journey p{color:var(--grey);margin:0 0 12px}
.gr-story-img{border-radius:34px;box-shadow:var(--shadow);width:100%}
.gr-bullets{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.gr-bullet{background:var(--soft);border:1px solid var(--border);border-radius:17px;padding:13px 15px;font-weight:900}
.gr-product-card{display:flex;flex-direction:column}.gr-product-card img{border-radius:18px;margin-bottom:16px}.gr-product-card h3{font-size:23px;line-height:1.14;margin:0 0 10px}.gr-product-card p{color:var(--grey)}
.gr-badge{display:inline-block;width:max-content;background:var(--soft);color:var(--teal2);font-weight:950;padding:6px 12px;border-radius:999px;font-size:13px;margin-bottom:12px}
.gr-price{font-size:26px;font-weight:950;margin:12px 0 18px}.gr-product-card .gr-btn{margin-top:auto;text-align:center}
.gr-featured-guide{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:40px;align-items:center;background:#fff;border:2px solid var(--teal);border-radius:30px;padding:32px;box-shadow:var(--shadow);margin-bottom:32px}.gr-featured-guide img{width:100%;border-radius:20px}.gr-featured-guide h3{font-size:clamp(30px,4vw,48px);line-height:1.05;margin:0 0 14px}.gr-featured-guide p{font-size:18px;color:var(--grey);max-width:720px}.gr-featured-guide .gr-price{font-size:34px;margin:16px 0}.gr-featured-guide .gr-btn{display:inline-block}
.gr-band{position:relative;min-height:440px;background:#111;color:white;display:flex;align-items:center;overflow:hidden}.gr-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gr-band:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.66);z-index:1}.gr-band .gr-container{position:relative;z-index:2}.gr-band h2{font-size:clamp(38px,5vw,70px);line-height:1.02;margin:0 0 14px}.gr-band p{font-size:22px;color:#eee;max-width:800px}
.gr-visit{background:#111;color:white;border-radius:36px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:var(--shadow)}.gr-visit img{width:100%;height:100%;object-fit:cover}.gr-visit div{padding:44px}.gr-visit .gr-intro{color:#eee}
.gr-footer{background:#0b0b0b;color:white;padding:52px 22px}.gr-footer-inner{max-width:1220px;margin:auto;display:grid;grid-template-columns:1.3fr .8fr .9fr;gap:30px}.gr-footer img{height:120px;width:auto}.gr-footer a{color:white}.gr-footer ul{list-style:none;margin:0;padding:0}.gr-footer li{margin:8px 0}
.woocommerce ul.products li.product{background:#fff;border:1px solid var(--border);border-radius:22px;padding:18px!important;box-shadow:var(--shadow);text-align:left}
.woocommerce ul.products li.product img{border-radius:16px}
.woocommerce div.product .product_title{font-size:clamp(34px,4vw,56px)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--teal2);font-weight:950}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--teal)!important;color:#111!important;border-radius:999px!important;font-weight:950!important}
@media(max-width:950px){.gr-hero-inner,.gr-grid-2,.gr-visit,.gr-footer-inner{grid-template-columns:1fr}.gr-grid-4,.gr-grid-3,.gr-journey{grid-template-columns:1fr 1fr}.gr-hero-card{display:none}.admin-bar .gr-header{top:46px}}
@media(max-width:760px){.gr-featured-guide{grid-template-columns:1fr;padding:22px}.gr-featured-guide img{max-width:360px;margin:auto}}
@media(max-width:640px){.gr-grid-4,.gr-grid-3,.gr-journey,.gr-bullets{grid-template-columns:1fr}.gr-nav{max-width:1220px;margin:auto;padding:8px 22px;display:flex;align-items:center;justify-content:space-between;gap:22px}.gr-logo img{height:150px;width:auto;display:block;object-fit:contain}.gr-menu{gap:12px}.gr-menu a{font-size:14px}.gr-section{padding:56px 0}.gr-hero{min-height:650px}.gr-hero h1{font-size:43px}}


/* v15 page improvements */
.gr-page-hero{
  background:var(--black);
  color:white;
  padding:90px 0;
  position:relative;
  overflow:hidden;
}
.gr-page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.54));
  z-index:1;
}
.gr-page-hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.6;
}
.gr-page-hero .gr-container{position:relative;z-index:2}
.gr-page-hero h1{
  font-size:clamp(42px,6vw,76px);
  line-height:1;
  margin:0 0 18px;
  letter-spacing:-2px;
}
.gr-page-hero p{
  font-size:21px;
  max-width:780px;
  color:#f1f1f1;
}
.gr-feature-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-top:22px;
}
.gr-feature-list div{
  background:var(--soft);
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px 16px;
  font-weight:900;
}
.gr-form-box{
  background:white;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:28px;
}
.gr-form-box label{
  display:block;
  font-weight:900;
  margin-top:14px;
}
.gr-form-box input,
.gr-form-box textarea,
.gr-form-box select{
  width:100%;
  padding:14px;
  border-radius:12px;
  border:1px solid var(--border);
  margin-top:6px;
  font-size:16px;
}
.gr-map-box{
  background:var(--soft);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:28px;
}
@media(max-width:700px){
  .gr-feature-list{grid-template-columns:1fr}
}

/* v16 Gift & Receive 2.0 */
.gr-featured-products{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gr-featured-item{background:white;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.gr-featured-item img{width:100%;height:230px;object-fit:cover;display:block}
.gr-featured-item div{padding:24px}
.gr-featured-item h3{margin:0 0 8px;font-size:24px}
.gr-featured-item p{color:var(--grey);margin:0}
.gr-review-strip{background:linear-gradient(135deg,#111,#063f3b);color:white;border-radius:34px;padding:44px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.gr-stars{font-size:40px;letter-spacing:4px;color:#f5c542;line-height:1;margin-bottom:12px}
.gr-review-number{font-size:clamp(38px,5vw,70px);line-height:1;font-weight:950;color:var(--teal)}
.gr-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gr-post-card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.gr-post-card h3{font-size:23px;line-height:1.15;margin:0 0 10px}
.gr-post-card p{color:var(--grey)}
.gr-empty-note{background:var(--soft);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
@media(max-width:900px){.gr-featured-products,.gr-post-grid,.gr-review-strip{grid-template-columns:1fr}}

/* v17 live Google reviews */
.gr-google-reviews-live{background:white;border-radius:34px;padding:32px;box-shadow:var(--shadow);border:1px solid var(--border)}
.gr-logo img,.gr-footer img{background:transparent!important}

/* v18 Email Signup */
.gr-email-signup {
  background: linear-gradient(135deg, #061f24, #0b3f44);
  color: #fff;
  border-radius: 34px;
  padding: 46px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 34px;
  align-items: center;
  box-shadow: var(--shadow);
}
.gr-email-signup h2 {
  color: #fff;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  margin: 0 0 16px;
}
.gr-email-signup p {
  color: #eefafa;
  font-size: 18px;
  line-height: 1.6;
}
.gr-email-points {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}
.gr-email-point {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 800;
}
.gr-email-form-wrap {
  background: #fff;
  border-radius: 26px;
  padding: 20px;
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
}
.gr-logo, .gr-logo img, .gr-footer img, .gr-footer-logo img {
  background: transparent !important;
  box-shadow: none !important;
}
.gr-logo img {
  object-fit: contain;
}
@media(max-width: 900px) {
  .gr-email-signup {
    grid-template-columns: 1fr;
    padding: 28px;
  }
}

/* v19 Contact Page */
.gr-social-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 28px}
.gr-social-buttons a{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;background:var(--teal);color:#000!important;font-weight:900;text-decoration:none;box-shadow:var(--shadow)}
.gr-social-buttons a:hover{transform:translateY(-2px)}
.gr-contact-details p{font-size:18px;line-height:1.55}
.gr-contact-details strong{display:block;margin-top:18px;font-size:19px}


/* v20 mobile menu and MailerLite fixes */
.gr-menu-toggle{
  display:none;
  width:48px;
  height:48px;
  border:0;
  border-radius:12px;
  background:var(--teal);
  cursor:pointer;
  padding:11px;
  flex:0 0 auto;
}
.gr-menu-toggle span{
  display:block;
  height:3px;
  margin:5px 0;
  background:#071313;
  border-radius:3px;
  transition:.2s ease;
}
.gr-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.gr-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.gr-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.gr-email-form-wrap{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gr-email-form-wrap .ml-embedded{width:100%}
.gr-email-form-wrap:has(.ml-form-embedWrapper){background:transparent;padding:0;box-shadow:none}

@media(max-width:760px){
  .gr-header{position:relative;top:auto!important}
  .gr-nav{
    padding:8px 16px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
  }
  .gr-logo{min-width:0}
  .gr-logo img{
    height:88px!important;
    max-width:230px;
    width:auto;
  }
  .gr-menu-toggle{display:block}
  .gr-nav nav{
    grid-column:1/-1;
    width:100%;
  }
  .gr-menu{
    display:none;
    width:100%;
    margin:0;
    padding:8px 0 14px;
    gap:0;
    flex-direction:column;
    align-items:stretch;
    background:#fff;
  }
  .gr-menu.gr-menu-open{display:flex}
  .gr-menu li{width:100%}
  .gr-menu a{
    display:block;
    padding:12px 8px;
    border-bottom:1px solid var(--border);
    font-size:17px!important;
    white-space:normal;
  }
  .gr-email-signup{
    padding:24px 18px!important;
    gap:22px;
    border-radius:24px;
  }
  .gr-email-signup h2{font-size:36px}
  .gr-email-signup p{font-size:17px}
  .gr-email-point{border-radius:18px;padding:12px 14px}
  .gr-email-form-wrap{
    padding:12px;
    border-radius:18px;
    min-height:180px;
    overflow:hidden;
  }
  .gr-section{padding:44px 0}
  .gr-container{padding:0 14px}
}

/* v21 MailerLite connection */
.gr-email-form-wrap {
  min-height: 260px;
}
.gr-email-form-wrap .ml-embedded {
  width: 100%;
  min-height: 220px;
}
@media (max-width: 900px) {
  .gr-email-form-wrap {
    min-height: 300px;
  }
}

.gr-digital-focus{background:#071b1f;color:#fff;border-radius:34px;padding:44px;box-shadow:var(--shadow)}
.gr-digital-focus h2{color:#fff}.gr-digital-focus p{color:#e8fafa;font-size:18px;line-height:1.65}
.gr-digital-badges{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.gr-digital-badges span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:9px 14px;border-radius:999px;font-weight:800}
.gr-online-note{margin-top:18px;padding:14px 18px;border-left:4px solid var(--teal);background:rgba(255,255,255,.07);border-radius:10px}
@media(max-width:900px){.gr-digital-focus{padding:28px}}

/* v27 - visual guide cards on homepage */
.gr-home-guides{
  padding:72px 0;
  background:#f7fbfb;
}
.gr-home-guides .gr-section-head{
  text-align:center;
  max-width:820px;
  margin:0 auto 34px;
}
.gr-home-guides .gr-section-head h2{
  margin:0 0 10px;
}
.gr-home-guides-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.gr-home-guide-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:26px;
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
}
.gr-home-guide-card img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
}
.gr-home-guide-card-body{
  padding:20px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.gr-home-guide-card h3{
  margin:0 0 8px;
  font-size:22px;
  line-height:1.15;
}
.gr-home-guide-card p{
  color:var(--grey);
  margin:0 0 16px;
  line-height:1.5;
}
.gr-home-guide-card .gr-btn{
  margin-top:auto;
  text-align:center;
}
.gr-home-guides-cta{
  text-align:center;
  margin-top:28px;
}
@media(max-width:950px){
  .gr-home-guides-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .gr-home-guides-grid{grid-template-columns:1fr}
}

/* v30 learning banner */
.gr-learning-banner{
  max-width:1100px;
  margin:0 auto 34px;
}
.gr-learning-banner img{
  width:100%;
  height:auto;
  display:block;
  border-radius:28px;
  box-shadow:var(--shadow);
}
@media(max-width:700px){
  .gr-learning-banner{margin-bottom:22px}
  .gr-learning-banner img{border-radius:18px}
}

/* v31 full blog post template */
.gr-single-post{max-width:980px;margin:0 auto;padding:38px}
.gr-post-meta{margin:0 0 8px;color:var(--grey);font-size:14px}
.gr-single-featured{margin:22px 0 28px}
.gr-single-featured img{width:100%;height:auto;border-radius:22px;display:block}
.gr-post-content{font-size:18px;line-height:1.75}
.gr-post-content h2,.gr-post-content h3{margin-top:32px}
.gr-post-content img{max-width:100%;height:auto;border-radius:14px}
.gr-single-actions{margin-top:34px}
@media(max-width:700px){.gr-single-post{padding:24px 18px}.gr-post-content{font-size:17px}}

/* v32 printer workshop hero */
.gr-hero{
  background-position:center center;
  background-size:cover;
}
