/*
Theme Name:   Relationup Child
Theme URI:    https://www.relationup.com/
Description:  Child theme for GeneratePress. Holds the Relationup design system:
              brand tokens, homepage sections, article typography, header, footer
              and navigation styling. Fonts are enqueued from functions.php.
Author:       Relationup
Author URI:   https://www.relationup.com/
Template:     generatepress
Version:      1.0.0
Text Domain:  relationup-child
*/

/* ============================================================
   HOW THIS FILE IS ORGANISED

   1. Site-owner CSS that predates the redesign (top bar, quiz
      banner, misc). Left exactly as it was.
   2. The Relationup design system, in labelled sections.

   Brand tokens live in :root inside section 2 — change a colour
   or font there and it propagates everywhere.

   NOTE: rules scoped to .ru-layout target the homepage. If the
   homepage is ever recreated it gets a new ID and those rules
   must be updated (29 occurrences).
   ============================================================ */

/* RelationUp Top Announcement Bar */
.relationup-topbar {
    width: 100%;
    background: #F8E8EC;
    color: #5C3B48;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    padding: 7px 15px;
    letter-spacing: 0.2px;
    box-sizing: border-box;
}
.inside-header .site-logo {
	  margin-left: auto;
    margin-right: 40px;
}
.relationship-quiz-banner {
    background: #f8dfe7;
    min-height: 110px;
    padding: 18px 28px;
    border-radius: 6px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

/* Heart column */
.relationship-quiz-banner > .wp-block-column:first-child {
    flex: 0 0 18%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Heart image */
.relationship-quiz-banner > .wp-block-column:first-child img {
    width: 90px;
    height: auto;
    display: block;
}

/* Text column */
.relationship-quiz-banner > .wp-block-column:nth-child(2) {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Heading */
.relationship-quiz-banner h2 {
    margin: 0 0 6px;
    font-size: 28px;
    line-height: 1.2;
    color: #5b174f;
}

/* Description */
.relationship-quiz-banner p {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
}

/* Button column */
.relationship-quiz-banner > .wp-block-column:nth-child(3) {
    flex: 0 0 22%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Button */
.relationship-quiz-banner .wp-block-button__link {
    background: #b52f70;
    color: #fff;
    padding: 11px 24px;
    border-radius: 5px;
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
}

/* Button hover */
.relationship-quiz-banner .wp-block-button__link:hover {
    background: #92245b;
}

/* ===== Relationup design system (added by Claude) ===== */
:root{
--ru-plum:#5C1A3D; --ru-plum-deep:#45102C; --ru-pink:#BE2A6E; --ru-pink-hover:#9E1D5A;
--ru-pink-soft:#F7DCE6; --ru-pink-pale:#FCEFF3; --ru-pink-band:#F6D6E2; --ru-cream:#FFF9F6;
--ru-sage:#CCDACF; --ru-sage-btn:#6E8A76; --ru-sage-btn-hv:#587059;
--ru-ink:#4B3A43; --ru-muted:#7A6570; --ru-line:#EFDDE4;
--ru-font-head:'Playfair Display',Georgia,serif; --ru-font-body:'Poppins',-apple-system,'Segoe UI',sans-serif;
--ru-wrap:1200px; --ru-radius:10px; --ru-shadow:0 2px 14px rgba(92,26,61,.07);
}
.ru-layout .entry-content{font-family:var(--ru-font-body);color:var(--ru-ink);}
.ru-layout .entry-content h1,.ru-layout .entry-content h2,.ru-layout .entry-content h3,.ru-layout .entry-content h4{font-family:var(--ru-font-head);color:var(--ru-plum);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0;}
.ru-layout .entry-content p{margin:0;line-height:1.65;}
.ru-layout .entry-content a{text-decoration:none;}
.ru-layout .entry-content img{display:block;}
.ru-layout .entry-content .wp-block-button__link{font-family:var(--ru-font-body);font-size:.94rem;font-weight:600;padding:.85em 1.6em;border-radius:6px;background:var(--ru-pink);color:#fff;display:inline-flex;align-items:center;gap:.6em;transition:background .2s ease,transform .2s ease;}
.ru-layout .entry-content .wp-block-button__link:hover{background:var(--ru-pink-hover);transform:translateY(-1px);color:#fff;}
.ru-btn-sage .wp-block-button__link{background:var(--ru-sage-btn);}
.ru-btn-sage .wp-block-button__link:hover{background:var(--ru-sage-btn-hv);}
.ru-arrow .wp-block-button__link::after{content:"→";font-size:1.05em;line-height:1;}
.ru-hero{background:var(--ru-pink-soft);overflow:hidden;}
.ru-hero .wp-block-columns{max-width:none;margin:0;gap:0;align-items:stretch;}
.ru-hero .ru-hero-copy{padding:5rem 3rem 5rem max(1.5rem,calc((100vw - var(--ru-wrap)) / 2));display:flex;flex-direction:column;justify-content:center;}
.ru-eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ru-pink);margin-bottom:1.1rem !important;}
.ru-hero h1{font-size:clamp(2.4rem,4.4vw,3.55rem);line-height:1.08;margin-bottom:1.35rem !important;}
.ru-hero h1 em{font-style:italic;display:block;font-weight:500;}
.ru-hero-lede{font-size:1.02rem;color:var(--ru-muted);max-width:34rem;margin-bottom:2rem !important;}
.ru-hero .ru-hero-media{padding:0 !important;}
.ru-hero .ru-hero-media figure,.ru-hero .ru-hero-media img{height:100%;margin:0;}
.ru-hero .ru-hero-media img{width:100%;object-fit:cover;min-height:420px;}
.ru-section{padding:4.5rem 1.5rem;}
.ru-section--cream{background:var(--ru-cream);}
.ru-section-head{text-align:center;margin-bottom:2.75rem;}
.ru-section-head h2{font-size:clamp(1.8rem,3vw,2.3rem);margin-bottom:.6rem;}
.ru-section-head p{color:var(--ru-muted);font-size:.96rem;}
.ru-head-row{max-width:var(--ru-wrap);margin:0 auto 2rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.ru-head-row h2{font-size:clamp(1.7rem,2.8vw,2.15rem);}
.ru-viewall{font-size:.9rem;font-weight:500;color:var(--ru-plum);display:inline-flex;gap:.4rem;align-items:center;white-space:nowrap;}
.ru-viewall:hover{color:var(--ru-pink);}
.ru-cats{max-width:var(--ru-wrap);margin-inline:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:1.15rem;}
.ru-cat{background:var(--ru-pink-pale);border-radius:var(--ru-radius);padding:1.9rem 1rem;text-align:center;transition:transform .22s ease,box-shadow .22s ease;}
.ru-cat:hover{transform:translateY(-4px);box-shadow:var(--ru-shadow);}
.ru-cat svg{width:36px;height:36px;margin:0 auto .9rem;stroke:var(--ru-plum);fill:none;stroke-width:1.5;}
.ru-cat h3{font-size:1.06rem;margin-bottom:.35rem;}
.ru-cat p{font-size:.83rem;color:var(--ru-muted);}
.ru-cards{max-width:var(--ru-wrap);margin-inline:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.ru-card{background:#fff;border-radius:var(--ru-radius);overflow:hidden;box-shadow:var(--ru-shadow);display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease;}
.ru-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(92,26,61,.13);}
.ru-card figure{margin:0;}
.ru-card img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.ru-card-body{padding:1.25rem 1.35rem 1.6rem;}
.ru-tag{display:inline-block;background:var(--ru-pink-pale);color:var(--ru-pink);font-size:.66rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;padding:.4em .85em;border-radius:3px;margin-bottom:.9rem;}
.ru-card h3{font-size:1.24rem;line-height:1.3;margin-bottom:.6rem;}
.ru-card p{font-size:.88rem;color:var(--ru-muted);}
.ru-promos{max-width:var(--ru-wrap);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
.ru-promo{border-radius:var(--ru-radius);overflow:hidden;position:relative;min-height:250px;display:flex;align-items:center;}
.ru-promo--pink{background:var(--ru-pink-soft);}
.ru-promo--sage{background:var(--ru-sage);}
.ru-promo .ru-promo-copy{padding:2.4rem;max-width:56%;position:relative;z-index:2;}
.ru-promo .ru-eyebrow{color:var(--ru-plum);opacity:.7;}
.ru-promo--sage .ru-eyebrow{color:#3E5544;}
.ru-promo h2{font-size:1.95rem;margin-bottom:.7rem;}
.ru-promo--sage h2{color:#2F4436;}
.ru-promo p{font-size:.9rem;color:var(--ru-muted);margin-bottom:1.5rem !important;}
.ru-promo .ru-promo-img{position:absolute;inset:0 0 0 auto;width:50%;z-index:1;}
.ru-promo .ru-promo-img img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 38%);mask-image:linear-gradient(to right,transparent 0%,#000 38%);}
.ru-quiz{max-width:var(--ru-wrap);margin-inline:auto;background:var(--ru-pink-band);border-radius:var(--ru-radius);padding:2.1rem 2.4rem;display:flex;align-items:center;gap:1.8rem;}
.ru-quiz svg{width:60px;height:60px;flex:none;stroke:var(--ru-pink);fill:none;stroke-width:1.5;}
.ru-quiz .ru-quiz-copy{flex:1;}
.ru-quiz h2{font-size:1.7rem;margin-bottom:.35rem;}
.ru-quiz p{font-size:.92rem;color:var(--ru-muted);}
.ru-posts .wp-block-post-template{display:grid !important;grid-template-columns:repeat(4,1fr);gap:1.4rem;max-width:var(--ru-wrap);margin-inline:auto;list-style:none;padding:0;}
.ru-posts .wp-block-post{background:#fff;border-radius:var(--ru-radius);overflow:hidden;box-shadow:var(--ru-shadow);transition:transform .22s ease,box-shadow .22s ease;}
.ru-posts .wp-block-post:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(92,26,61,.13);}
.ru-posts .wp-block-post-featured-image{margin:0;}
.ru-posts .wp-block-post-featured-image img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.ru-posts .ru-post-body{padding:1rem 1.1rem 1.35rem;}
.ru-posts .wp-block-post-terms{display:inline-block;background:var(--ru-pink-pale);color:var(--ru-pink);font-size:.63rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;padding:.38em .8em;border-radius:3px;margin-bottom:.7rem;}
.ru-posts .wp-block-post-terms a{color:inherit;}
.ru-posts .wp-block-post-title{font-family:var(--ru-font-head);font-size:1.02rem;line-height:1.32;color:var(--ru-plum);margin:0;}
.ru-posts .wp-block-post-title a{color:inherit;}
.ru-posts .wp-block-post-title a:hover{color:var(--ru-pink);}
.ru-cats > *,.ru-cards > *,.ru-promos > *,.ru-quiz > *{margin-block:0 !important;}
.ru-cat h3 a,.ru-card h3 a{color:inherit;}
.ru-cat h3 a:hover,.ru-card h3 a:hover{color:var(--ru-pink);}
.ru-layout .entry-content .wp-block-buttons{margin:0;}
@media (max-width:1100px){.ru-cats{grid-template-columns:repeat(3,1fr);}.ru-posts .wp-block-post-template{grid-template-columns:repeat(2,1fr);}}
@media (max-width:900px){.ru-hero .wp-block-columns{flex-direction:column-reverse;}.ru-hero .wp-block-column{flex-basis:100% !important;}.ru-hero .ru-hero-copy{padding:3rem 1.5rem;}.ru-hero .ru-hero-media img{min-height:300px;}.ru-cards{grid-template-columns:1fr;}.ru-promos{grid-template-columns:1fr;}.ru-promo .ru-promo-copy{max-width:64%;}.ru-quiz{flex-direction:column;text-align:center;}}
@media (max-width:640px){.ru-section{padding:3rem 1.25rem;}.ru-cats{grid-template-columns:repeat(2,1fr);gap:.85rem;}.ru-posts .wp-block-post-template{grid-template-columns:1fr;}.ru-promo{min-height:auto;}.ru-promo .ru-promo-copy{max-width:100%;padding:1.8rem;}.ru-promo .ru-promo-img{display:none;}.ru-head-row{flex-direction:column;align-items:flex-start;gap:.5rem;}}
/* ===== GeneratePress header / footer ===== */
.top-bar{background:var(--ru-pink-pale) !important;color:var(--ru-plum);font-family:var(--ru-font-body);font-size:.82rem;padding:.55rem 0;}
.top-bar .inside-top-bar{max-width:var(--ru-wrap);margin-inline:auto;display:flex;align-items:center;justify-content:center;position:relative;padding-inline:1.5rem;}
.top-bar .widget{margin:0;padding:0;}
.top-bar p{margin:0;}
.top-bar a{color:var(--ru-plum);}
.top-bar .ru-social{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);display:flex;gap:.85rem;}
.top-bar .ru-social a{color:var(--ru-plum);opacity:.75;line-height:0;}
.top-bar .ru-social a:hover{opacity:1;}
.top-bar .ru-social svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;}
.site-header{background:#fff !important;border-bottom:1px solid var(--ru-line);padding:.9rem 0;}
.site-header .inside-header{max-width:var(--ru-wrap);margin-inline:auto;display:flex;align-items:center;gap:2.5rem;padding-inline:1.5rem;}
.site-header .site-logo{margin:0;flex:none;}
/* HEADER LOGO SIZE — change this one number */
.site-header .site-logo img{width:var(--ru-logo-width,210px);height:auto;display:block;}
.main-navigation{background:transparent !important;flex:1;}
.main-navigation .inside-navigation{padding:0;max-width:none;justify-content:flex-end;}
.main-navigation .main-nav > ul{display:flex;align-items:center;gap:1.5rem;}


.main-navigation .dropdown-menu-toggle{padding-left:.3rem;}
.main-navigation .gp-icon svg{width:.62em;height:.62em;}
.main-navigation ul ul{background:#fff;border:1px solid var(--ru-line);border-radius:8px;box-shadow:0 8px 24px rgba(92,26,61,.12);padding:.4rem 0;min-width:230px;}
.main-navigation ul ul li a{padding:.55rem 1.1rem !important;border-bottom:none !important;font-size:.86rem;}

.main-navigation .menu-toggle{color:var(--ru-plum);font-family:var(--ru-font-body);font-weight:500;}
.site-footer{background:var(--ru-plum-deep);}
.site-footer #footer-widgets{background:var(--ru-plum-deep) !important;padding:3.4rem 0 2.2rem;}
.site-footer .footer-widgets-container,.site-footer .inside-footer-widgets{max-width:var(--ru-wrap);margin-inline:auto;padding-inline:1.5rem;display:flex;flex-wrap:wrap;gap:2.5rem;}
.site-footer .inside-footer-widgets > div{flex:1 1 200px;}
.site-footer .widget{background:transparent;padding:0;margin:0;border:none;}
.site-footer .widget-title{color:#fff !important;font-family:var(--ru-font-body) !important;font-size:.87rem !important;font-weight:600;letter-spacing:.02em;text-transform:none;margin-bottom:1rem;}
.site-footer p,.site-footer .textwidget{color:#DDBFCE;font-size:.87rem;line-height:1.65;}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;}
.site-footer ul li{margin:0;border:none;}
.site-footer ul li a{color:#DDBFCE !important;font-size:.86rem;text-decoration:none;}
.site-footer ul li a:hover{color:#fff !important;}
.site-info{background:var(--ru-plum-deep);color:#C7A3B6;font-size:.8rem;text-align:center;padding:1.2rem 1.5rem 2rem;border-top:1px solid rgba(255,255,255,.08);}
.site-info a{color:#DDBFCE;}
.site-footer .ru-subscribe{display:flex;gap:.55rem;margin-top:1.1rem;}
.site-footer .ru-subscribe input[type=email]{flex:1;min-width:0;padding:.72em .95em;border:none;border-radius:5px;font-family:var(--ru-font-body);font-size:.85rem;}
.site-footer .ru-subscribe button{border:none;border-radius:5px;padding:.72em 1.3em;cursor:pointer;background:var(--ru-pink);color:#fff;font-family:var(--ru-font-body);font-size:.85rem;font-weight:600;}
.site-footer .ru-subscribe button:hover{background:var(--ru-pink-hover);}
@media (max-width:1024px){.site-header .inside-header{gap:1.2rem;}.main-navigation .main-nav > ul{gap:1rem;}.main-navigation .main-nav ul li a{font-size:.84rem;}}
@media (max-width:768px){.site-header .inside-header{flex-wrap:wrap;}.site-footer .inside-footer-widgets{flex-direction:column;gap:2rem;}.top-bar .ru-social{display:none;}}
/* front page: hide the page title, let sections run full width */
.ru-layout .entry-header,.ru-layout .entry-title{display:none;}
.ru-layout .site-content .content-area,.ru-layout .site-main,.ru-layout .entry-content{max-width:none;padding:0;margin:0;}
.ru-layout .separate-containers .inside-article{padding:0;}
.ru-layout .site-content{padding:0;}

/* ============================================================
   PORTABILITY NOTE
   These homepage rules used to be scoped to .page-id-396, which
   broke the moment the page was recreated on another site with a
   different ID. They now key off .ru-layout — the wrapper
   class in the homepage block markup itself. Paste that markup
   into any site running this theme and the layout follows.
   ============================================================ */
/* ===== Front page: full-bleed, no sidebar ===== */
.ru-layout .widget-area.is-right-sidebar,
.ru-layout .widget-area.is-left-sidebar{display:none !important;}
.ru-layout .site-content{display:block !important;max-width:none !important;padding:0 !important;margin:0 !important;}
.ru-layout .content-area{width:100% !important;max-width:none !important;padding:0 !important;margin:0 !important;float:none !important;}
.ru-layout .site-main{margin:0 !important;padding:0 !important;}
.ru-layout .inside-article{padding:0 !important;}
.ru-layout .entry-content{max-width:none !important;margin:0 !important;padding:0 !important;}
.ru-layout .entry-header,.ru-layout .entry-title,.ru-layout .entry-meta{display:none !important;}
.ru-layout article,.ru-layout .post{margin:0 !important;padding:0 !important;border:none !important;box-shadow:none !important;}

/* front page: release the constrained-layout + grid containers */
.ru-layout #page,
.ru-layout .site-content,
.ru-layout .content-area,
.ru-layout .grid-container{max-width:none !important;width:100% !important;padding-left:0 !important;padding-right:0 !important;}
.ru-layout .entry-content > .wp-block-group__inner-container{max-width:none !important;padding-left:0 !important;padding-right:0 !important;}
.ru-layout .entry-content .wp-block-group__inner-container{max-width:none;}
.ru-layout .ru-hero{max-width:none !important;}
/* keep the header/footer rails at 1200 */
.site-header .inside-header,.top-bar .inside-top-bar,
.site-footer .footer-widgets-container{max-width:var(--ru-wrap) !important;}

/* WP wraps group children in .wp-block-group__inner-container — let the
   grid/flex layouts reach the real children */
.ru-layout .entry-content .wp-block-group__inner-container{display:contents;}
/* alignfull inside our page shouldn't pull negative margins */
.ru-layout .entry-content .alignfull{margin-left:0 !important;margin-right:0 !important;width:100% !important;max-width:none !important;}


/* GeneratePress button colours override ours — reassert brand pink */
.ru-layout .entry-content .wp-block-button__link{background-color:var(--ru-pink) !important;background-image:none !important;color:#fff !important;border:none !important;}
.ru-layout .entry-content .wp-block-button__link:hover,.ru-layout .entry-content .wp-block-button__link:focus{background-color:var(--ru-pink-hover) !important;color:#fff !important;}
.ru-layout .entry-content .ru-btn-sage .wp-block-button__link{background-color:var(--ru-sage-btn) !important;}
.ru-layout .entry-content .ru-btn-sage .wp-block-button__link:hover{background-color:var(--ru-sage-btn-hv) !important;}
/* FORCE NARCISSISM BUTTON COLOR */
body .ru-layout .entry-content .wp-block-buttons .wp-block-button a.wp-block-button__link[href*="narcissism"] {
    background: #FFF9F6 !important;
    background-color: #FFF9F6 !important;
    color: #5C1A3D !important;
    border-color: #FFF9F6 !important;
}

/* HOVER */
body .ru-layout .entry-content .wp-block-buttons .wp-block-button a.wp-block-button__link[href*="narcissism"]:hover {
    background: #5C1A3D !important;
    background-color: #5C1A3D !important;
    color: #FFF9F6 !important;
    border-color: #5C1A3D !important;
}
body .ru-layout .entry-content .wp-block-buttons .wp-block-button a.wp-block-button__link[href*="narcissism"] {
    background-color: #FFF9F6 !important;
    color: #5C1A3D !important;
    border: none !important;
}

body .ru-layout .entry-content .wp-block-buttons .wp-block-button a.wp-block-button__link[href*="narcissism"]:hover {
    background-color: #F3E6E1 !important;
    color: #5C1A3D !important;
}
/* CATEGORY CARDS */
.ru-cat {
    min-height: 200px !important;
    padding: 1.2rem 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* ICON */
.ru-cat img {
    width: 100px !important;
    height: 100px !important;
    object-fit: contain !important;
    margin: 0 auto 20px !important;
}

/* TITLE */
.ru-cat h2,
.ru-cat h3,
.ru-cat h4 {
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* DESCRIPTION */
.ru-cat p {
    margin: 4px 0 0 !important;
    line-height: 1.35 !important;
}
/* ===== Single post ===== */
:root{--ru-read:720px;--ru-font-read:'Lora',Georgia,serif;}
.single-post .site-content{display:block;}
.single-post .content-area{width:100% !important;max-width:none !important;float:none;}
.single-post .widget-area.is-right-sidebar{display:none !important;}
.single-post .inside-article{padding:0;}
.single-post .entry-content,.single-post .entry-header,.single-post .ru-post-furniture{max-width:var(--ru-read);margin-inline:auto;padding-inline:1.5rem;}
.single-post .site-main{padding:2.5rem 0 4rem;}
.single-post .ru-crumbs{max-width:var(--ru-read);margin:0 auto 2.2rem;padding-inline:1.5rem;font-family:var(--ru-font-body);font-size:.78rem;color:var(--ru-muted);}
.single-post .ru-crumbs a{color:var(--ru-muted);}
.single-post .ru-crumbs a:hover{color:var(--ru-pink);}
.single-post .ru-crumbs span{margin:0 .45rem;opacity:.5;}
.single-post .entry-header{margin-bottom:2rem;}
.single-post .ru-kicker{display:inline-block;font-family:var(--ru-font-body);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ru-pink);background:var(--ru-pink-pale);padding:.4em .8em;border-radius:3px;margin-bottom:1.1rem;}
.single-post .entry-title{font-family:var(--ru-font-head);color:var(--ru-plum);font-size:clamp(2.1rem,4vw,3rem);line-height:1.12;letter-spacing:-.015em;font-weight:600;margin:0 0 1rem;}
.single-post .ru-standfirst{font-family:var(--ru-font-read);font-size:1.16rem;line-height:1.65;color:var(--ru-muted);margin:0 0 1.8rem;}
.single-post .ru-byline{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;padding-bottom:1.6rem;border-bottom:1px solid var(--ru-line);font-family:var(--ru-font-body);}
.single-post .ru-byline img{width:42px;height:42px;border-radius:50%;object-fit:cover;}
.single-post .ru-by-name{font-size:.9rem;font-weight:600;color:var(--ru-ink);}
.single-post .ru-by-meta{font-size:.8rem;color:var(--ru-muted);}
.single-post .ru-share{margin-left:auto;display:flex;align-items:center;gap:.55rem;}
.single-post .ru-share span{font-size:.78rem;color:var(--ru-muted);margin-right:.2rem;}
.single-post .ru-share a{width:34px;height:34px;border-radius:50%;border:1px solid var(--ru-line);display:grid;place-items:center;color:var(--ru-plum);transition:.18s ease;}
.single-post .ru-share a:hover{background:var(--ru-pink);border-color:var(--ru-pink);color:#fff;}
.single-post .ru-share svg{width:15px;height:15px;}
.single-post .post-image,.single-post .featured-image{max-width:var(--ru-read);margin:2rem auto 2.4rem;padding-inline:1.5rem;}
.single-post .post-image img,.single-post .featured-image img{width:100%;border-radius:10px;display:block;}
.single-post .ru-toc{background:var(--ru-cream);border:1px solid var(--ru-line);border-radius:10px;padding:1.5rem 1.7rem;margin:0 0 2.6rem;font-family:var(--ru-font-body);}
.single-post .ru-toc h2{font-family:var(--ru-font-head);font-size:1.08rem;color:var(--ru-plum);margin:0 0 .9rem;font-weight:600;}
.single-post .ru-toc ol{columns:2;column-gap:2rem;margin:0;padding:0;list-style:none;counter-reset:toc;}
.single-post .ru-toc li{counter-increment:toc;margin:0 0 .5rem;break-inside:avoid;}
.single-post .ru-toc a{font-size:.86rem;color:var(--ru-ink);line-height:1.4;}
.single-post .ru-toc a::before{content:counter(toc) ". ";color:var(--ru-pink);font-weight:600;}
.single-post .ru-toc a:hover{color:var(--ru-pink);}
.single-post .entry-content{font-family:var(--ru-font-read);font-size:var(--ru-body-size,1.19rem);line-height:var(--ru-body-leading,1.78);color:var(--ru-ink);}
.single-post .entry-content > * + *{margin-top:1.5rem;}
.single-post .entry-content h2,.single-post .entry-content h3{font-family:var(--ru-font-head);color:var(--ru-plum);letter-spacing:-.01em;font-weight:600;line-height:1.25;}
.single-post .entry-content h2{font-size:1.85rem;margin-top:3rem !important;margin-bottom:.9rem;}
.single-post .entry-content h3{font-size:1.35rem;margin-top:2.4rem !important;margin-bottom:.7rem;}
.single-post .entry-content a{color:var(--ru-pink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.single-post .entry-content a:hover{color:var(--ru-pink-hover);}
.single-post .entry-content strong{color:var(--ru-plum);font-weight:600;}
.single-post .entry-content ul,.single-post .entry-content ol{padding-left:1.3rem;}
.single-post .entry-content li{margin-bottom:.6rem;}
.single-post .entry-content li::marker{color:var(--ru-pink);}
.single-post .entry-content img{border-radius:10px;}
.single-post .entry-content figcaption{font-family:var(--ru-font-body);font-size:.8rem;color:var(--ru-muted);text-align:center;margin-top:.7rem;}
.single-post .entry-content blockquote{border:none;border-left:3px solid var(--ru-pink);background:none;margin:2.6rem 0;padding:.2rem 0 .2rem 1.6rem;font-family:var(--ru-font-head);font-style:italic;font-size:1.4rem;line-height:1.5;color:var(--ru-plum);}
.single-post .entry-content blockquote p{margin:0;}
.single-post .entry-content blockquote cite{display:block;margin-top:.8rem;font-family:var(--ru-font-body);font-style:normal;font-size:.85rem;color:var(--ru-muted);}
.single-post .ru-topics{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:3rem 0 0;padding-top:1.8rem;border-top:1px solid var(--ru-line);font-family:var(--ru-font-body);}
.single-post .ru-topics-label{font-size:.8rem;color:var(--ru-muted);margin-right:.3rem;}
.single-post .ru-topics a{font-size:.78rem;color:var(--ru-plum);background:var(--ru-pink-pale);padding:.4em .85em;border-radius:100px;}
.single-post .ru-topics a:hover{background:var(--ru-pink);color:#fff;}
.single-post .ru-author{display:flex;gap:1.3rem;align-items:flex-start;margin:2.5rem 0 0;padding:1.8rem;background:var(--ru-cream);border:1px solid var(--ru-line);border-radius:10px;font-family:var(--ru-font-body);}
.single-post .ru-author img{width:74px;height:74px;border-radius:50%;object-fit:cover;flex:none;}
.single-post .ru-author h3{font-family:var(--ru-font-head);font-size:1.12rem;color:var(--ru-plum);margin:0 0 .4rem;}
.single-post .ru-author p{font-size:.88rem;line-height:1.6;color:var(--ru-muted);margin:0 0 .6rem;}
.single-post .ru-author a{font-size:.85rem;color:var(--ru-pink);font-weight:500;}
.single-post .ru-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2.5rem 0 0;padding-top:1.8rem;border-top:1px solid var(--ru-line);font-family:var(--ru-font-body);}
.single-post .ru-adj-label{font-size:.75rem;color:var(--ru-muted);margin-bottom:.35rem;display:block;}
.single-post .ru-adjacent a{font-family:var(--ru-font-head);font-size:1rem;line-height:1.35;color:var(--ru-plum);}
.single-post .ru-adjacent a:hover{color:var(--ru-pink);}
.single-post .ru-adjacent > div:last-child{text-align:right;}
.single-post .inside-article,.single-post article.post{background:none;box-shadow:none;border:none;}
.single-post .entry-meta{display:none;}
@media (max-width:640px){
.single-post .ru-toc ol{columns:1;}
.single-post .entry-content{font-size:1.08rem;line-height:1.72;}
.single-post .entry-content h2{font-size:1.5rem;margin-top:2.4rem !important;}
.single-post .ru-share{margin-left:0;width:100%;margin-top:.8rem;}
.single-post .ru-author{flex-direction:column;gap:1rem;}
.single-post .ru-adjacent{grid-template-columns:1fr;gap:1.2rem;}
.single-post .ru-adjacent > div:last-child{text-align:left;}
}

/* ===== Single post: sidebar layout ===== */
.single-post .site-content{display:flex;gap:3.5rem;max-width:1200px;margin-inline:auto;padding:0 1.5rem;align-items:flex-start;}
.single-post .content-area{flex:1 1 auto;min-width:0;max-width:760px;width:auto !important;}
.single-post .widget-area.is-right-sidebar{display:block !important;flex:0 0 320px;width:320px;position:sticky;top:2rem;}
.single-post .entry-content,.single-post .entry-header,.single-post .ru-crumbs,
.single-post .post-image,.single-post .featured-image{max-width:700px;margin-inline:0;padding-inline:0;}
.single-post .site-main{padding:2rem 0 4rem;}
/* sidebar modules — light, no heavy cards */
.single-post .widget-area .widget{
  background:#fff;border:1px solid var(--ru-line);border-radius:10px;
  padding:1.4rem 1.5rem;margin-bottom:1.4rem;font-family:var(--ru-font-body);
}
.single-post .widget-area .widget-title{
  font-family:var(--ru-font-head);font-size:1.05rem;color:var(--ru-plum);
  font-weight:600;margin:0 0 1rem;
}
.single-post .widget-area p{font-size:.86rem;line-height:1.6;color:var(--ru-muted);}
.single-post .widget-area ul{list-style:none;margin:0;padding:0;}
.single-post .widget-area ul li{margin:0 0 .7rem;font-size:.88rem;}
.single-post .widget-area ul li a{color:var(--ru-ink);}
.single-post .widget-area ul li a:hover{color:var(--ru-pink);}
.ru-side-author{text-align:left;}
.ru-side-author img{width:76px;height:76px;border-radius:50%;object-fit:cover;margin-bottom:.8rem;}
.ru-side-author .ru-side-name{font-family:var(--ru-font-head);font-size:1.05rem;color:var(--ru-plum);}
.ru-side-author .ru-side-role{font-size:.78rem;color:var(--ru-pink);margin-bottom:.6rem;}
.ru-side-link{display:inline-block;margin-top:.5rem;font-size:.84rem;color:var(--ru-pink);font-weight:500;}
.ru-side-post{display:flex;gap:.8rem;margin-bottom:1rem;}
.ru-side-post img{width:62px;height:62px;border-radius:8px;object-fit:cover;flex:none;}
.ru-side-post a{font-family:var(--ru-font-head);font-size:.9rem;line-height:1.3;color:var(--ru-plum);}
.ru-side-post a:hover{color:var(--ru-pink);}
.ru-side-post .ru-side-date{display:block;font-size:.74rem;color:var(--ru-muted);margin-top:.25rem;}
.ru-side-cta{background:var(--ru-pink-pale) !important;border-color:transparent !important;}
.ru-side-cta input[type=email]{width:100%;padding:.7em .9em;border:1px solid var(--ru-line);border-radius:6px;font-family:var(--ru-font-body);font-size:.85rem;margin-bottom:.6rem;background:#fff;}
.ru-side-cta button{width:100%;border:none;border-radius:6px;padding:.75em;background:var(--ru-pink);color:#fff;font-family:var(--ru-font-body);font-size:.86rem;font-weight:600;cursor:pointer;}
.ru-side-cta button:hover{background:var(--ru-pink-hover);}
.ru-side-cta .ru-side-note{font-size:.74rem;color:var(--ru-muted);margin-top:.6rem;}
@media (max-width:900px){
  .single-post .site-content{display:block;}
  .single-post .content-area{max-width:none;}
  .single-post .widget-area.is-right-sidebar{width:100%;position:static;margin-top:3rem;}
  .single-post .entry-content,.single-post .entry-header,.single-post .ru-crumbs,
  .single-post .post-image,.single-post .featured-image{max-width:none;}
}

/* sidebar link polish */
.single-post .widget-area a{text-decoration:none;}
.single-post .widget-area a:hover{text-decoration:none;}
.single-post .widget-area .widget:last-child{margin-bottom:0;}

/* ===== Article buttons + image guard ===== */
.single-post .entry-content .wp-block-button__link,
.single-post .entry-content .wp-element-button,
.single-post .entry-content a.button{
  background-color:var(--ru-pink) !important;
  background-image:none !important;
  color:#fff !important;
  border:none !important;
  font-family:var(--ru-font-body) !important;
  font-size:.92rem !important;
  font-weight:600;
  letter-spacing:.01em;
  padding:.85em 1.9em !important;
  border-radius:6px !important;
  text-decoration:none !important;
  display:inline-block;
  transition:background .2s ease, transform .2s ease;
}
.single-post .entry-content .wp-block-button__link:hover,
.single-post .entry-content .wp-element-button:hover,
.single-post .entry-content a.button:hover{
  background-color:var(--ru-pink-hover) !important;
  color:#fff !important;
  transform:translateY(-1px);
}
.single-post .entry-content .wp-block-button.is-style-outline .wp-block-button__link{
  background-color:transparent !important;
  color:var(--ru-pink) !important;
  border:1.5px solid var(--ru-pink) !important;
}
.single-post .entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background-color:var(--ru-pink) !important;
  color:#fff !important;
}
.single-post .entry-content .wp-block-buttons{margin:2rem 0;}
/* never upscale an image beyond its natural size — small uploads stay sharp */
.single-post .featured-image img,
.single-post .post-image img{
  width:auto !important;
  max-width:100%;
  height:auto;
  display:block;
  margin-inline:auto;
}

/* ===== Featured image: full width, fixed 16:9 frame ===== */
.single-post .featured-image,
.single-post .post-image{width:100%;max-width:700px;margin:0 0 2.4rem;padding:0;}
.single-post .featured-image img,
.single-post .post-image img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
  border-radius:10px;
  display:block;
  margin:0 !important;
}
@media (max-width:900px){
  .single-post .featured-image,.single-post .post-image{max-width:none;}
}

/* ===== GenerateBlocks buttons -> theme ===== */
.entry-content a.gb-button,
a.gb-button.gb-button-text{background-color:var(--ru-pink) !important;background-image:none !important;color:#fff !important;border:none !important;border-radius:6px !important;font-family:var(--ru-font-body) !important;font-size:.92rem !important;font-weight:600 !important;line-height:1.2 !important;padding:.85em 1.9em !important;text-decoration:none !important;display:inline-block !important;transition:background .2s ease, transform .2s ease !important;}
.entry-content a.gb-button:hover,
a.gb-button.gb-button-text:hover{background-color:var(--ru-pink-hover) !important;color:#fff !important;text-decoration:none !important;transform:translateY(-1px);}
.entry-content a.gb-button:visited{color:#fff !important;}

/* ===== Any GB button, any tag (a / span / button / div) ===== */
.entry-content .gb-button,
.entry-content .gb-button.gb-button-text{background-color:var(--ru-pink) !important;background-image:none !important;color:#fff !important;border:none !important;border-radius:6px !important;font-family:var(--ru-font-body) !important;font-size:.92rem !important;font-weight:600 !important;line-height:1.2 !important;padding:.85em 1.9em !important;text-decoration:none !important;display:inline-block !important;cursor:pointer;transition:background .2s ease, transform .2s ease !important;}
.entry-content .gb-button:hover{background-color:var(--ru-pink-hover) !important;color:#fff !important;text-decoration:none !important;transform:translateY(-1px);}
.entry-content .gb-button:visited{color:#fff !important;}
/* empty gb-text blocks shouldn't render as coloured boxes */
.entry-content .gb-text:empty{display:none !important;}

/* ===== Footer: light blush, readable logo ===== */
:root{--ru-footer-bg:#FAEAEF;}
.site-footer{background:var(--ru-footer-bg) !important;}
.site-footer #footer-widgets{background:var(--ru-footer-bg) !important;border-top:1px solid var(--ru-line);}
.site-footer .widget-title{color:var(--ru-plum) !important;}
.site-footer p,.site-footer .textwidget{color:var(--ru-muted) !important;}
.site-footer ul li a{color:var(--ru-ink) !important;}
.site-footer ul li a:hover{color:var(--ru-pink) !important;}
.site-footer .ru-social a{color:var(--ru-plum) !important;}
.site-footer .ru-social a:hover{color:var(--ru-pink) !important;}
.site-footer img{max-width:190px;height:auto;}
.site-footer .ru-subscribe input[type=email]{background:#fff;border:1px solid var(--ru-line);color:var(--ru-ink);}
.site-footer .ru-subscribe input[type=email]::placeholder{color:#A08D97;}
.site-info{background:var(--ru-footer-bg) !important;color:var(--ru-muted) !important;border-top:1px solid var(--ru-line);}
.site-info a{color:var(--ru-plum) !important;}
.site-info a:hover{color:var(--ru-pink) !important;}

/* ===== Footer spacing + equal columns ===== */
.site-footer #footer-widgets{padding:3rem 0 2.2rem !important;}
.site-footer .footer-widgets-container{padding:0 !important;}
.site-footer .inside-footer-widgets{padding:0 1.5rem !important;gap:2.5rem !important;align-items:flex-start;}
.site-footer .inside-footer-widgets > div{flex:1 1 0 !important;min-width:0 !important;}
.site-footer .widget,.site-footer .widget.inner-padding{padding:0 !important;margin:0 !important;}
.site-footer .widget-title{margin-top:0 !important;}
.site-footer .ru-subscribe{flex-direction:column;gap:.55rem;margin-top:1rem;}
.site-footer .ru-subscribe input[type=email],.site-footer .ru-subscribe button{width:100%;min-width:0;}
.site-info{padding:.9rem 1.5rem !important;}

/* footer bar: kill GP's inner 20px padding */
.site-info .inside-site-info{padding:0 !important;}
.site-info{padding:.85rem 1.5rem !important;}

/* footer rail: one container owns the width + gutters */
.site-footer .footer-widgets-container{max-width:var(--ru-wrap) !important;width:100% !important;margin:0 auto !important;padding:0 1.5rem !important;display:block !important;}
.site-footer .inside-footer-widgets{max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;display:flex !important;gap:2.5rem !important;align-items:flex-start;}
.site-info .inside-site-info{max-width:var(--ru-wrap) !important;width:100% !important;margin:0 auto !important;padding:0 1.5rem !important;}
.site-info{padding:.85rem 0 !important;}

/* footer: even visual gaps — columns hug content, space spreads evenly */
.site-footer .inside-footer-widgets{justify-content:space-between !important;gap:2rem !important;}
.site-footer .inside-footer-widgets > div{flex:0 1 auto !important;min-width:0 !important;}
.site-footer .footer-widget-1{flex:0 0 300px !important;max-width:300px !important;}
.site-footer .footer-widget-4{flex:0 0 260px !important;max-width:260px !important;}

/* nav: colours come from GeneratePress settings; CSS only shapes it */
.main-navigation .main-nav ul li a{font-family:var(--ru-font-body);font-size:.9rem;font-weight:500;padding:.4rem 0;line-height:1.3;border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease;}
.main-navigation .main-nav ul li:hover > a,.main-navigation .main-nav ul li.current-menu-item > a,.main-navigation .main-nav ul li.current-menu-ancestor > a{border-bottom-color:var(--ru-pink);}
.main-navigation ul ul li a{border-bottom:none !important;}

/* nav: dropdown arrow shouldn't reserve 17px of dead space */
.main-navigation .main-nav ul li a .dropdown-menu-toggle{padding:0 0 0 5px !important;}
.main-navigation .main-nav ul li a .gp-icon{margin:0 !important;}

/* nav search icon: size it properly, theme colours, round hover */
.main-navigation .menu-bar-items{display:flex;align-items:center;margin-left:.4rem;}
.main-navigation .menu-bar-item > a{display:grid !important;place-items:center;width:38px;height:38px;padding:0 !important;border-radius:50%;color:var(--ru-plum) !important;transition:background .18s ease,color .18s ease;}
.main-navigation .menu-bar-item > a:hover,.main-navigation .menu-bar-item > a:focus{background:var(--ru-pink-pale) !important;color:var(--ru-pink) !important;}
.main-navigation .menu-bar-item > a .gp-icon,.main-navigation .menu-bar-item > a .gp-icon svg{width:19px !important;height:19px !important;}
.main-navigation .menu-bar-item > a svg{fill:currentColor !important;}
.main-navigation .menu-bar-item.search-item.active > a{background:var(--ru-pink-pale) !important;color:var(--ru-pink) !important;}

/* ============================================================
   MOVED OUT OF PAGE CONTENT
   These were inline <style> blocks inside the homepage. Living
   here instead means the page is pure blocks, and the styling
   survives if the page is ever re-created.
   ============================================================ */
.ru-promo--heal{background:#EBE1E8;}
.ru-promo--heal .ru-eyebrow{color:#8E4A6B;opacity:1;}
.ru-promo--heal h2{color:#5C1A3D;}
.ru-promo--heal p{color:#6B5560;}
.ru-layout .entry-content .ru-btn-heal .wp-block-button__link{background-color:#8E4A6B !important;white-space:nowrap;}
.ru-layout .entry-content .ru-btn-heal .wp-block-button__link:hover{background-color:#743A57 !important;}
.ru-bandwrap{padding:4.5rem 1.5rem;}
.ru-band{position:relative;}

.ru-band{background:var(--ru-plum);border-radius:16px;padding:2.6rem 2.6rem;display:flex;align-items:center;gap:2.4rem;max-width:var(--ru-wrap);margin-inline:auto;overflow:hidden;}
.ru-band-copy{flex:0 0 290px;}
.ru-band-copy h2{color:#fff !important;font-size:2rem;line-height:1.15;margin:0 0 .25rem;}
.ru-band-sub{font-family:var(--ru-font-head);font-style:italic;font-size:1.28rem;color:#F0A2C4 !important;margin:0 0 1rem !important;}
.ru-band-copy p:last-child{color:#E3C6D4 !important;font-size:.92rem;line-height:1.65;margin:0;}
.ru-band-shots{flex:1 1 auto;display:flex;justify-content:center;align-items:center;gap:1.1rem;}
.ru-band-shots figure{position:relative;margin:0;width:152px;background:#fff;padding:.55rem .55rem 2rem;box-shadow:0 10px 26px rgba(0,0,0,.28);}
.ru-band-shots figure img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:0;}
.ru-band-shots figure::before{content:"";position:absolute;top:-11px;left:50%;width:56px;height:21px;background:rgba(240,162,196,.8);transform:translateX(-50%) rotate(-3deg);}
.ru-band-shots figure:nth-of-type(1){transform:rotate(-6deg);}
.ru-band-shots figure:nth-of-type(2){transform:rotate(1.5deg);z-index:2;}
.ru-band-shots figure:nth-of-type(3){transform:rotate(-2.5deg);}
.ru-band-cta{flex:0 0 250px;text-align:center;}
.ru-band-cta .wp-block-button__link{white-space:nowrap;}
.ru-band-rule{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1.4rem 0 .8rem;color:#F0A2C4;}
.ru-band-rule::before,.ru-band-rule::after{content:"";height:1px;width:38px;background:rgba(240,162,196,.5);}
.ru-band-note{color:#E3C6D4 !important;font-size:.85rem;line-height:1.55;margin:0 !important;}
@media (max-width:1000px){.ru-band{flex-direction:column;text-align:center;padding:2.2rem 1.5rem;}.ru-band-copy,.ru-band-cta{flex:none;width:100%;}.ru-band-shots{flex-wrap:wrap;}}
@media (max-width:640px){.ru-band-shots figure{width:120px;}}

/* polaroids are core Image blocks now — target them by position, not tag */
.ru-band-shots > *:nth-child(1){transform:rotate(-6deg);}
.ru-band-shots > *:nth-child(2){transform:rotate(1.5deg);z-index:2;}
.ru-band-shots > *:nth-child(3){transform:rotate(-2.5deg);}
.ru-band-shots .wp-block-image{margin:0;}

/* ===== Footer rail — final word =====
   The .grid-container max-width can be neutralised by GeneratePress's own
   layout settings, which differ per site. Put the rail on the element this
   theme owns instead, so gutters are symmetric regardless of GP config. */
.site-footer .footer-widgets-container{max-width:none !important;width:100% !important;padding:0 !important;margin:0 !important;}
.site-footer .inside-footer-widgets{max-width:var(--ru-wrap) !important;margin:0 auto !important;padding:0 1.5rem !important;box-sizing:border-box !important;}

/* ===== Header: site-title fallback =====
   Sites without a custom logo show a text title. Style it on-brand rather
   than leaving it as the theme default. */
.site-header .site-title,.site-header .main-title{margin:0;}
.site-header .site-title a,.site-header .main-title a{
  font-family:var(--ru-font-head);font-size:1.7rem;font-weight:600;
  color:var(--ru-plum);letter-spacing:-.01em;text-decoration:none;
}
.site-header .site-title a:hover,.site-header .main-title a:hover{color:var(--ru-pink);}
.site-header .site-description{
  font-family:var(--ru-font-body);font-size:.82rem;color:var(--ru-muted);margin-top:.2rem;
}
