/*
Theme Name: Dream Board Buddy — Preview Match
Theme URI: https://dreamboardbuddy.com/
Author: Dream Board Buddy
Description: A custom WordPress theme matching the approved Dream Board Buddy homepage concept: clean circles, sparing sparkles, Raleway typography, Amsterdam script accents, and no white logo backgrounds.
Version: 1.3.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: dream-board-buddy
*/

:root{
  --dbb-pink:#fbb1da;
  --dbb-magenta:#ce2574;
  --dbb-magenta-bright:#e5006d;
  --dbb-yellow:#daec00;
  --dbb-blue:#1de0e6;
  --dbb-purple:#831982;
  --dbb-deep:#4e075f;
  --dbb-ink:#14285f;
  --dbb-blush:#fff3f8;
  --dbb-pale:#fff8fb;
  --dbb-white:#fff;
  --dbb-gold:#f3a900;
  --dbb-muted:#5d6685;
  --dbb-line:#eddde8;
  --dbb-container:1140px;
  --dbb-radius:22px;
  --dbb-font:"Raleway",Avenir,"Avenir Next",Helvetica,Arial,sans-serif;
  --dbb-script:"DBB Amsterdam","Amsterdam Four","Snell Roundhand","Brush Script MT",cursive;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--dbb-ink);font-family:var(--dbb-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
::selection{background:var(--dbb-yellow);color:var(--dbb-ink)}
.dbb-container{width:min(calc(100% - 40px),var(--dbb-container));margin-inline:auto}
.dbb-narrow{width:min(calc(100% - 40px),850px);margin-inline:auto}
.dbb-script-text{font-family:var(--dbb-script);font-weight:400}
.dbb-screen-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header: intentionally tinted so the logo is never on white. */
.dbb-header{position:sticky;top:0;z-index:50;background:#fff1f7;border-bottom:1px solid rgba(206,37,116,.10)}
.admin-bar .dbb-header{top:32px}
.dbb-header__row{min-height:74px;display:flex;align-items:center;gap:28px}
.dbb-brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.dbb-brand img{display:block;width:202px;max-height:62px;object-fit:contain;object-position:left center}
.dbb-nav{margin-left:auto}
.dbb-nav ul{display:flex;align-items:center;gap:24px;margin:0;padding:0;list-style:none}
.dbb-nav a{position:relative;display:block;padding:26px 0 20px;color:#23243d;font-size:.82rem;font-weight:600;text-decoration:none}
.dbb-nav a::after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;background:var(--dbb-magenta-bright);transform:scaleX(0);transition:transform .2s ease}
.dbb-nav a:hover,.dbb-nav .current-menu-item>a{color:var(--dbb-magenta-bright)}
.dbb-nav a:hover::after,.dbb-nav .current-menu-item>a::after{transform:scaleX(1)}
.dbb-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 27px;border:1.5px solid transparent;border-radius:999px;background:var(--dbb-magenta-bright);color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.dbb-button:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(206,37,116,.18)}
.dbb-button--outline{background:transparent;border-color:var(--dbb-magenta-bright);color:var(--dbb-magenta-bright);box-shadow:none}
.dbb-button--outline:hover{background:var(--dbb-magenta-bright);color:#fff}
.dbb-header__cta{margin-left:18px;padding-inline:30px}
.dbb-menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:0;border-radius:50%;background:var(--dbb-purple);color:#fff;cursor:pointer}
.dbb-menu-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:currentColor}

/* Hero */
.dbb-hero{position:relative;overflow:hidden;background:var(--dbb-blush);min-height:590px;padding:58px 0 54px}
.dbb-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}
.dbb-hero__copyblock{text-align:center;padding-left:34px}
.dbb-hero__from,.dbb-hero__to{display:block;color:var(--dbb-ink);font-weight:800;letter-spacing:.38em;text-transform:uppercase}
.dbb-hero__from{font-size:1.18rem;margin-bottom:-8px}
.dbb-hero__script{display:block;width:min(100%,360px);margin:0 auto -6px}
.dbb-hero__to{font-size:1rem;margin-bottom:-2px}
.dbb-hero__done{margin:0;color:#17bdc7;font-size:3.28rem;line-height:1;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.dbb-gold-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:21px auto 22px;width:235px;color:var(--dbb-gold)}
.dbb-gold-divider::before,.dbb-gold-divider::after{content:"";height:1px;flex:1;background:var(--dbb-gold)}
.dbb-gold-divider span{font-size:1.65rem;line-height:1}
.dbb-hero__description{max-width:400px;margin:0 auto 18px;color:#35446e;font-size:1rem;line-height:1.58}
.dbb-hero__copyblock .dbb-button{margin-top:2px}
.dbb-hero__logo{position:relative;display:grid;place-items:center;min-height:470px;padding:15px 0}
.dbb-hero__logo img{position:relative;z-index:2;width:min(100%,510px);filter:drop-shadow(0 8px 16px rgba(84,21,97,.06))}

/* Decorative brand circles — intentionally sparse, large and cropped. */
.dbb-circle{position:absolute;z-index:1;border-radius:50%;pointer-events:none}
.dbb-circle--magenta{background:var(--dbb-magenta-bright)}
.dbb-circle--pink{background:#f39dcc}
.dbb-circle--blue{background:#21ccd5}
.dbb-circle--yellow{background:#d9eb00}
.dbb-circle--purple{background:#8c1994}
.dbb-hero .c1{width:180px;height:180px;left:-75px;top:-38px}
.dbb-hero .c2{width:118px;height:118px;left:49px;top:86px}
.dbb-hero .c3{width:170px;height:170px;left:-70px;bottom:18px}
.dbb-hero .c4{width:194px;height:194px;right:-88px;top:54px}
.dbb-hero .c5{width:114px;height:114px;right:-41px;bottom:26px}
.dbb-spark{position:absolute;z-index:3;color:var(--dbb-gold);font-size:2.15rem;line-height:1;pointer-events:none}
.dbb-hero .s1{left:56%;top:88px}.dbb-hero .s2{left:62%;top:150px;font-size:1.8rem}.dbb-hero .s3{right:14%;top:85px}.dbb-hero .s4{right:18%;top:155px;font-size:1.8rem}.dbb-hero .s5{right:8%;bottom:62px;font-size:1.7rem}

/* Help levels */
.dbb-help{padding:46px 0 34px;background:#fff;text-align:center}
.dbb-section-heading{margin:0;color:var(--dbb-ink);font-size:1.18rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase}
.dbb-section-subtitle{margin:6px 0 24px;color:#5f6987;font-size:.95rem}
.dbb-help-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.dbb-help-item{text-align:center}
.dbb-help-icon{width:104px;height:104px;display:grid;place-items:center;margin:0 auto 15px;border-radius:50%}
.dbb-help-icon img{width:63px;height:63px}
.dbb-help-item:nth-child(1) .dbb-help-icon{background:#f8c2df}
.dbb-help-item:nth-child(2) .dbb-help-icon{background:#cbe500}
.dbb-help-item:nth-child(3) .dbb-help-icon{background:#38cbd4}
.dbb-help-item:nth-child(4) .dbb-help-icon{background:#dd1872}
.dbb-help-item:nth-child(5) .dbb-help-icon{background:#ffc20a}
.dbb-help-item:nth-child(6) .dbb-help-icon{background:#8b1696}
.dbb-help-item h3{margin:0 0 4px;font-size:.82rem;line-height:1.25;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.dbb-help-item p{margin:0 auto;max-width:140px;color:#526083;font-size:.88rem;line-height:1.35}

/* Services */
.dbb-services{position:relative;overflow:hidden;padding:38px 0 34px;background:#fdeaf4;text-align:center}
.dbb-services .dbb-container{position:relative;z-index:2}
.dbb-services .sc1{width:142px;height:142px;left:-68px;top:44px}
.dbb-services .sc2{width:116px;height:116px;right:-43px;top:12px}
.dbb-services .sc3{width:66px;height:66px;right:-14px;bottom:58px}
.dbb-services .sc4{width:72px;height:72px;left:-35px;bottom:-16px}
.dbb-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.dbb-service-card{min-height:238px;padding:23px 18px 20px;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(93,27,90,.05);text-align:center}
.dbb-service-card__icon{height:68px;display:grid;place-items:center;margin-bottom:6px}
.dbb-service-card__icon img{width:66px;height:66px}
.dbb-service-card h3{min-height:43px;margin:0 0 10px;font-size:1.01rem;line-height:1.16;font-weight:600}
.dbb-service-card p{min-height:43px;margin:0 auto 12px;color:#5c6686;font-size:.86rem;line-height:1.34}
.dbb-service-card a{color:var(--dbb-magenta-bright);font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.dbb-service-card a span{margin-left:7px;font-size:1rem}
.dbb-services__more{margin-top:14px}
.dbb-services__more .dbb-button{min-height:40px;background:transparent;border-color:var(--dbb-magenta-bright);color:var(--dbb-magenta-bright);font-size:.7rem}
.dbb-services__more .dbb-button:hover{background:var(--dbb-magenta-bright);color:#fff}

/* Rescue + CTA */
.dbb-rescue-cta{position:relative;overflow:hidden;min-height:238px;background:#fff}
.dbb-rescue-cta__grid{position:relative;z-index:2;display:grid;grid-template-columns:36% 64%;min-height:238px}
.dbb-rescue-box{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px 28px}
.dbb-rescue-box::before{content:"";position:absolute;z-index:-1;width:390px;height:390px;border-radius:50%;background:var(--dbb-yellow);left:-50px;top:-80px}
.dbb-rescue-inner{max-width:255px}
.dbb-rescue-icon{width:58px;height:58px;margin:0 auto 7px}
.dbb-rescue-title{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 9px;color:#0d255c;font-size:1.05rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.dbb-rescue-title .dbb-spark-inline{color:var(--dbb-gold);font-size:1.2rem}
.dbb-rescue-box p{margin:0 auto 10px;max-width:210px;color:#162b58;font-size:.88rem;line-height:1.34}
.dbb-rescue-box .dbb-button{min-height:39px;padding-inline:22px;font-size:.69rem}
.dbb-cta-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:27px 50px}
.dbb-cta-script{width:min(100%,510px);margin:0 auto -3px}
.dbb-cta-box .dbb-gold-divider{width:205px;margin:4px auto 9px}
.dbb-cta-box p{margin:0 auto 13px;max-width:560px;color:#5e6887;font-size:.86rem;line-height:1.35}
.dbb-rescue-cta .rc1{width:76px;height:76px;left:-31px;bottom:70px}
.dbb-rescue-cta .rc2{width:86px;height:86px;right:-32px;top:14px}
.dbb-rescue-cta .rc3{width:150px;height:150px;right:-54px;bottom:-80px}

/* Footer */
.dbb-footer{background:#741081;color:#fff}
.dbb-footer__main{min-height:96px;display:grid;grid-template-columns:240px 1fr 165px 120px;gap:26px;align-items:center}
.dbb-footer__brand{display:flex;align-items:center}
.dbb-footer__brand img{width:212px;max-height:78px;object-fit:contain;object-position:left center}
.dbb-footer__nav ul{display:flex;align-items:center;justify-content:center;gap:26px;margin:0;padding:0;list-style:none}
.dbb-footer__nav a{color:rgba(255,255,255,.87);font-size:.69rem;text-decoration:none}
.dbb-socials{display:flex;align-items:center;justify-content:center;gap:15px}
.dbb-socials a{display:grid;place-items:center;width:26px;height:26px;color:#fff;text-decoration:none}
.dbb-socials svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.dbb-footer__motto{position:relative;padding-left:16px;border-left:1px solid rgba(255,255,255,.38);font-size:.62rem;line-height:1.4;letter-spacing:.2em;text-transform:uppercase}
.dbb-footer__motto::before{content:"✦";position:absolute;left:-11px;top:29px;color:#ffd34d;font-size:1.4rem}
.dbb-footer__bottom{background:#5b096a}
.dbb-footer__bottom-row{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:rgba(255,255,255,.75);font-size:.67rem}
.dbb-footer__tagline{width:255px;max-height:42px;object-fit:contain}

/* Interior pages */
.dbb-page-hero{position:relative;overflow:hidden;padding:70px 0 58px;background:var(--dbb-blush);text-align:center}
.dbb-page-hero h1{margin:0;color:var(--dbb-ink);font-size:clamp(2.7rem,5vw,5rem);line-height:1.08;font-weight:700}
.dbb-page-hero .dbb-circle{opacity:.95}
.dbb-page-hero .p1{width:120px;height:120px;left:-50px;top:12px}.dbb-page-hero .p2{width:95px;height:95px;right:-30px;bottom:4px}
.dbb-content{width:min(calc(100% - 40px),900px);margin:auto;padding:58px 0 86px;color:#3e4c70}
.dbb-content h2,.dbb-content h3{color:var(--dbb-ink);line-height:1.25}
.dbb-content h2{margin-top:1.8em;font-size:2rem}
.dbb-content a{color:var(--dbb-magenta-bright)}
.dbb-all-services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.dbb-all-service{padding:24px;border:1px solid var(--dbb-line);border-radius:16px;background:#fff}
.dbb-all-service h3{margin:0 0 8px;font-size:1.05rem}.dbb-all-service p{margin:0;color:#5c6686;font-size:.9rem}
.dbb-form-shell{padding:32px;border-radius:20px;background:#f9edf5}
.dbb-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dbb-form__field{display:grid;gap:6px}.dbb-form__field--full{grid-column:1/-1}
.dbb-form label{color:var(--dbb-ink);font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.dbb-form input,.dbb-form textarea,.dbb-form select{width:100%;min-height:50px;padding:12px 14px;border:1px solid #dcc8d7;border-radius:10px;background:#fff;color:var(--dbb-ink)}
.dbb-form textarea{min-height:135px;resize:vertical}.dbb-form-note{grid-column:1/-1;margin:0;color:#68718d;font-size:.75rem}
.dbb-alert{margin:0 0 16px;padding:13px 15px;border-radius:10px;background:#fff4c9;color:#6f5b00;font-weight:700}
.dbb-post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:50px 0 80px}.dbb-post-card{padding:22px;border:1px solid var(--dbb-line);border-radius:16px;background:#fff}.dbb-post-card h2{margin:0 0 8px;font-size:1.25rem}

@media(max-width:1100px){
  .dbb-nav ul{gap:16px}.dbb-header__cta{margin-left:8px}.dbb-brand img{width:175px}
  .dbb-help-grid{gap:13px}.dbb-help-icon{width:92px;height:92px}.dbb-help-item p{font-size:.82rem}
}
@media(max-width:900px){
  .dbb-nav{display:none;position:fixed;inset:86px 16px auto 16px;padding:18px;border-radius:16px;background:#fff1f7;box-shadow:0 18px 44px rgba(69,21,78,.18)}
  .dbb-nav.is-open{display:block}.dbb-nav ul{align-items:stretch;flex-direction:column;gap:0}.dbb-nav a{padding:12px 8px}.dbb-nav a::after{display:none}.dbb-menu-toggle{display:block}.dbb-header__cta{display:none}
  .dbb-hero__grid{grid-template-columns:1fr;gap:5px}.dbb-hero__copyblock{padding-left:0}.dbb-hero__logo{min-height:auto;padding-top:5px}.dbb-hero__logo img{width:min(100%,430px)}
  .dbb-help-grid{grid-template-columns:repeat(3,1fr);row-gap:28px}
  .dbb-service-grid{grid-template-columns:repeat(2,1fr)}
  .dbb-rescue-cta__grid{grid-template-columns:1fr}.dbb-rescue-box{min-height:230px}.dbb-cta-box{min-height:220px}
  .dbb-footer__main{grid-template-columns:1fr 1fr;gap:15px;padding:18px 0}.dbb-footer__nav ul{justify-content:flex-end;flex-wrap:wrap}.dbb-footer__motto{display:none}.dbb-socials{justify-content:flex-start}.dbb-footer__bottom-row{flex-direction:column;justify-content:center;padding:12px 0;text-align:center}
  .dbb-all-services{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:782px){.admin-bar .dbb-header{top:46px}}
@media(max-width:620px){
  .dbb-container,.dbb-narrow{width:min(calc(100% - 28px),var(--dbb-container))}
  .dbb-header__row{min-height:70px}.dbb-brand img{width:160px}.dbb-menu-toggle{width:42px;height:42px}
  .dbb-hero{padding:48px 0 42px}.dbb-hero__from{font-size:1rem}.dbb-hero__script{width:300px}.dbb-hero__done{font-size:2.7rem}.dbb-hero__description{font-size:.92rem}.dbb-hero__logo img{width:min(100%,355px)}
  .dbb-hero .c1{width:120px;height:120px}.dbb-hero .c2{width:82px;height:82px;left:22px}.dbb-hero .c3{width:115px;height:115px}.dbb-hero .c4{width:130px;height:130px}.dbb-hero .c5{width:80px;height:80px}.dbb-hero .s2,.dbb-hero .s4,.dbb-hero .s5{display:none}
  .dbb-help{padding:38px 0}.dbb-help-grid{grid-template-columns:repeat(2,1fr);gap:28px 18px}.dbb-help-icon{width:92px;height:92px}.dbb-help-item p{max-width:150px}
  .dbb-section-heading{font-size:1rem;letter-spacing:.22em}.dbb-section-subtitle{font-size:.88rem}
  .dbb-services{padding:34px 0}.dbb-service-grid{grid-template-columns:1fr;gap:12px}.dbb-service-card{min-height:auto}.dbb-service-card h3,.dbb-service-card p{min-height:0}
  .dbb-rescue-box::before{width:370px;height:370px;left:50%;transform:translateX(-50%)}.dbb-cta-box{padding:25px 18px}.dbb-cta-script{width:390px}.dbb-cta-box p{font-size:.82rem}
  .dbb-footer__main{grid-template-columns:1fr;text-align:center}.dbb-footer__brand{justify-content:center}.dbb-footer__nav ul{justify-content:center}.dbb-socials{justify-content:center}.dbb-footer__brand img{width:200px}.dbb-footer__bottom-row{min-height:78px}
  .dbb-form{grid-template-columns:1fr}.dbb-form__field--full,.dbb-form-note{grid-column:1}.dbb-all-services,.dbb-post-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}
