/* JinYu overrides on top of the Rejuvia template */

/* Text logo (JinYu has no image logo) */
.jinyu-logo-text{font-family:"Italiana",Georgia,serif;font-size:30px;line-height:1;color:var(--rejuvia-charcoal);letter-spacing:.01em;display:block}
.jinyu-logo-text small{display:block;font-family:"Manrope",sans-serif;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--rejuvia-brown);margin-top:6px;font-weight:600}
.rejuvia-simple-footer-brand .jinyu-logo-text{color:#fff}
.rejuvia-simple-footer-brand .jinyu-logo-text small{color:var(--rejuvia-blush)}

/* Reviews as static cards */
.jinyu-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.jinyu-review{background:#fff;border:1px solid var(--rejuvia-border);border-radius:18px;padding:26px 28px;box-shadow:var(--rejuvia-shadow)}
.jinyu-review p{margin:0 0 16px;color:var(--rejuvia-taupe);font-size:15px;line-height:1.7}
.jinyu-review::before{content:"\201C";font-family:"Italiana",serif;font-size:46px;line-height:.5;color:var(--rejuvia-gold);display:block;margin-bottom:8px}
.jinyu-review cite{font-style:normal;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--rejuvia-charcoal)}
.jinyu-review .stars{color:var(--rejuvia-gold);letter-spacing:2px;font-size:13px;margin-top:8px}
@media(max-width:900px){.jinyu-reviews-grid{grid-template-columns:1fr}}

/* Price rows: show duration options as small tags under the treatment */
.jinyu-price-durations{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.jinyu-price-durations span{display:inline-flex;align-items:baseline;gap:6px;border:1px solid var(--rejuvia-border);border-radius:999px;padding:5px 11px;font-size:13px;background:var(--rejuvia-cream)}
.jinyu-price-durations span b{font-family:"Italiana",serif;font-weight:400;font-size:16px;color:var(--rejuvia-gold-dark)}
.jinyu-price-row.jinyu-stack{display:block}
.jinyu-price-row.jinyu-stack > span{display:block;font-weight:600;margin-bottom:6px}

/* When a plugin page is active, hide the surrounding theme chrome so the
   template renders full-bleed (covers common themes + the JinYu clean theme). */
body.jinyu-template-page .jinyu-site-header,
body.jinyu-template-page .jinyu-footer,
body.jinyu-template-page .site-header,
body.jinyu-template-page .site-footer,
body.jinyu-template-page header#masthead,
body.jinyu-template-page footer#colophon,
body.jinyu-template-page .ct-header,
body.jinyu-template-page [data-header],
body.jinyu-template-page .entry-header,
body.jinyu-template-page .page-title,
body.jinyu-template-page .ct-breadcrumbs,
body.jinyu-template-page .jinyu-page-hero,
body.jinyu-template-page .page-header,
body.jinyu-template-page .wp-block-post-title { display:none !important; }
body.jinyu-template-page .jinyu-main,
body.jinyu-template-page .jinyu-page-content,
body.jinyu-template-page .jinyu-content-shell,
body.jinyu-template-page .site-main,
body.jinyu-template-page #main,
body.jinyu-template-page .entry-content,
body.jinyu-template-page .ct-container,
body.jinyu-template-page .ct-container-full { margin:0 !important; padding:0 !important; max-width:none !important; width:auto !important; }

/* Price popup (uses Rejuvia popup styles + these tweaks) */
.rejuvia-popup-overlay{display:none}
.rejuvia-popup-overlay.is-open{display:flex}
body.jyp-modal-open{overflow:hidden}
.rejuvia-popup-body .jyp-popup-prices{list-style:none;margin:0 0 22px;padding:0}
.rejuvia-popup-body .jyp-popup-prices li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(122,106,93,.16)}
.rejuvia-popup-body .jyp-popup-prices li:last-child{border-bottom:none}
.rejuvia-popup-body .jyp-popup-prices .dur{color:#4c4038;font-size:14.5px}
.rejuvia-popup-body .jyp-popup-prices .amt{font-family:"Italiana",Georgia,serif;font-size:22px;color:#8d5f39}
.rejuvia-popup-body .jyp-popup-book{margin-top:6px}
.rejuvia-popup-eyebrow{font-family:"Manrope",sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#b47a4a;margin:0 0 8px}
@media(max-width:640px){.rejuvia-popup{grid-template-columns:1fr}.rejuvia-popup-media{max-height:200px}}

/* Price card grid (Services & Pricing) — 4 cols desktop, 2 cols mobile */
.jyp-price-section{padding-top:clamp(30px,4vw,54px);padding-bottom:clamp(30px,4vw,54px)}
.jyp-price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.jyp-price-card{display:flex;flex-direction:column;background:#fffaf5;border:1px solid var(--rejuvia-border,#ddc7b7);border-radius:18px;overflow:hidden;box-shadow:0 16px 44px rgba(37,25,20,.09)}
.jyp-price-card-media{aspect-ratio:4/3;background:#ecdcd0;overflow:hidden}
.jyp-price-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.jyp-price-card:hover .jyp-price-card-media img{transform:scale(1.05)}
.jyp-price-card-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 22px}
.jyp-price-card-body h3{font-family:"Italiana",Georgia,serif;font-weight:400;font-size:21px;line-height:1.2;color:#2c211b;margin:0 0 14px;min-height:2.4em}
.jyp-price-card-list{list-style:none;margin:0 0 18px;padding:0;flex:1}
.jyp-price-card-list li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(122,106,93,.14)}
.jyp-price-card-list li:last-child{border-bottom:none}
.jyp-price-card-list .dur{font-size:13.5px;color:#6f6055}
.jyp-price-card-list .amt{font-family:"Italiana",Georgia,serif;font-size:19px;color:#8d5f39}
.jyp-card-book{width:100%;margin-top:auto}
@media(max-width:1100px){.jyp-price-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
  .jyp-price-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .jyp-price-card-body{padding:14px 13px 16px}
  .jyp-price-card-body h3{font-size:16.5px;min-height:0;margin-bottom:10px}
  .jyp-price-card-list .dur{font-size:12.5px}
  .jyp-price-card-list .amt{font-size:16px}
}

/* Membership blocks */
.jyp-member-block{margin:0 0 22px}
.jyp-member-block h4{font-family:"Manrope",sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#b47a4a;margin:0 0 6px}
.jyp-member-block p{margin:0;color:#4c4038;line-height:1.7}

/* About stats */
.jyp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.jyp-stat{text-align:center;padding:30px 18px;background:#fffaf5;border:1px solid var(--rejuvia-border,#ddc7b7);border-radius:18px}
.jyp-stat .n{display:block;font-family:"Italiana",Georgia,serif;font-size:clamp(2.4rem,5vw,3.4rem);line-height:1;color:#8d5f39}
.jyp-stat .l{display:block;margin-top:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#7a6a5d}
@media(max-width:760px){.jyp-stats{grid-template-columns:1fr}}

/* Contact locations + maps */
.jyp-locations{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.jyp-location{background:#fffaf5;border:1px solid var(--rejuvia-border,#ddc7b7);border-radius:20px;padding:30px;box-shadow:0 16px 44px rgba(37,25,20,.08)}
.jyp-location h3{font-family:"Italiana",Georgia,serif;font-weight:400;font-size:24px;color:#2c211b;margin:0 0 12px}
.jyp-loc-meta{margin:6px 0;color:#4c4038}
.jyp-location a{color:#8d5f39}
.jyp-map{margin:18px 0;border-radius:14px;overflow:hidden;border:1px solid var(--rejuvia-border,#ddc7b7)}
.jyp-map iframe{width:100%;height:280px;border:0;display:block}
.jyp-full-btn{width:100%}
@media(max-width:760px){.jyp-locations{grid-template-columns:1fr}}

/* Booking form */
.jyp-booking-wrap{max-width:820px}
.jyp-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fffaf5;border:1px solid var(--rejuvia-border,#ddc7b7);border-radius:22px;padding:clamp(24px,4vw,40px);box-shadow:0 16px 44px rgba(37,25,20,.08)}
.jyp-booking-form label{display:grid;gap:8px;font-family:"Manrope",sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#7a6a5d}
.jyp-booking-form input,.jyp-booking-form select,.jyp-booking-form textarea{width:100%;border:1px solid var(--rejuvia-border,#ddc7b7);background:#fff;border-radius:12px;padding:14px 15px;font-size:16px;font-family:"Manrope",sans-serif;color:#2c211b;letter-spacing:0;text-transform:none;outline:none}
.jyp-booking-form input:focus,.jyp-booking-form select:focus,.jyp-booking-form textarea:focus{border-color:#b47a4a;box-shadow:0 0 0 3px rgba(180,122,74,.15)}
.jyp-full{grid-column:1/-1}
.jyp-hp{position:absolute!important;left:-9999px!important}
.jyp-form-note{max-width:820px;margin:0 0 20px;padding:14px 18px;border-radius:12px;font-weight:600}
.jyp-form-ok{background:#eef6ef;color:#2f6b40;border:1px solid #cfe6d5}
.jyp-form-err{background:#fbeeec;color:#9b3e36;border:1px solid #f0d3cf}
@media(max-width:640px){.jyp-booking-form{grid-template-columns:1fr}}
