/*
Theme Name: Blush & Glow
Theme URI: https://blushoraglow.com
Author: Blush or Glow
Description: Pinterest-ready beauty blog theme with 3D effects, swipeable category circles, and a fast, mobile-first layout.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: blushoraglow
*/
:root{--rose:#B36B7C;--rose-d:#9C5468;--top:#A8586F;--plum:#6B2D5B;--plum-d:#57224A;--blush:#F8ECEE;--blush2:#F3DDE1;--ink:#1E1417;--mute:#6f5f64;--line:#f0e2e4;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--r:16px;--sh:0 10px 30px rgba(107,45,91,.10)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute;left:-9999px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.2}
.btn{display:inline-block;background:var(--rose-d);color:#fff;padding:13px 30px;border-radius:4px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border:0;cursor:pointer;transition:.25s;box-shadow:0 8px 18px rgba(156,84,104,.3)}
.btn:hover{background:var(--plum);transform:translateY(-3px)}
.btn.light{background:#fff;color:var(--rose-d);box-shadow:none}
.btn.light:hover{background:var(--plum);color:#fff}
.sec-title{text-align:center;font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--sans);font-weight:600;margin-bottom:34px}
.sec-title.big{font-family:var(--serif);font-size:34px;letter-spacing:0;text-transform:none;font-weight:500}
/* topbar */
.topbar{background:var(--top);color:#fff;font-size:12.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:12px}
.social{display:flex;gap:14px;align-items:center}
.social a{display:flex;opacity:.9;transition:.2s}.social a:hover{opacity:1;transform:translateY(-2px)}
.social svg{width:16px;height:16px;fill:currentColor}
.social svg.st{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* header */
.site-header{background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-header.stuck{box-shadow:0 6px 24px rgba(107,45,91,.1)}
.hdr{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}
.logo{font-family:var(--serif);font-size:27px;letter-spacing:.06em;color:var(--plum);line-height:1.1;text-transform:uppercase}
.logo small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.35em;color:var(--rose)}
.custom-logo{max-height:56px;width:auto}
.main-nav ul{display:flex;gap:30px}
.main-nav a{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:8px 0;position:relative}
.main-nav a:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--rose);transition:.3s}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--rose-d)}
.main-nav a:hover:after,.main-nav .current-menu-item>a:after,.main-nav .current_page_item>a:after{width:100%}
.main-nav .sub-menu{display:none;position:absolute;background:#fff;padding:12px 18px;box-shadow:var(--sh);border-radius:10px;flex-direction:column;gap:8px;z-index:9}
.main-nav li{position:relative}.main-nav li:hover>.sub-menu{display:flex}
.acts{display:flex;gap:14px;align-items:center}
.acts button{background:none;border:0;cursor:pointer;color:var(--ink);display:flex;padding:6px}
.acts svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}
.menu-toggle{display:none!important}
.search-bar{display:none;border-top:1px solid var(--line);padding:14px 0;background:var(--blush)}
.search-bar.open{display:block}
.search-bar form{display:flex;gap:8px;max-width:600px;margin:0 auto;padding:0 20px}
.search-bar input{flex:1;padding:12px 16px;border:1px solid var(--blush2);border-radius:4px;font:inherit}
.search-bar button{background:var(--rose-d);color:#fff;border:0;padding:0 22px;border-radius:4px;cursor:pointer}
/* hero */
.hero{position:relative;min-height:540px;display:flex;align-items:center;background:linear-gradient(120deg,#f3dde1,#e9c4cc 55%,#d9a5b3);background-size:cover;background-position:center;overflow:hidden;perspective:1200px}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,236,238,.88) 0%,rgba(248,236,238,.35) 45%,transparent 70%)}
.hero .wrap{position:relative;z-index:3;width:100%}
.hero-copy{max-width:520px;transform:translateZ(40px)}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--rose-d);margin-bottom:14px}
.hero h1{font-size:clamp(38px,5.4vw,66px);margin-bottom:18px;color:var(--ink)}
.hero p{font-size:17px;color:#3b2d32;margin-bottom:28px;max-width:400px}
.orb{position:absolute;border-radius:50%;z-index:2;pointer-events:none;background:radial-gradient(circle at 30% 28%,#fff 0,#f6c9d3 30%,#b36b7c 75%,#7c3d54);box-shadow:0 30px 40px rgba(107,45,91,.25),inset -8px -10px 20px rgba(80,20,50,.25);animation:float 7s ease-in-out infinite;transform:translate3d(calc(var(--mx,0)*var(--d,20)*1px),calc(var(--my,0)*var(--d,20)*1px),0)}
.o1{width:120px;height:120px;right:12%;top:14%;--d:-40}
.o2{width:70px;height:70px;right:30%;bottom:16%;--d:30;animation-delay:-2s;opacity:.9}
.o3{width:190px;height:190px;right:-40px;bottom:-60px;--d:-20;animation-delay:-4s;opacity:.85}
.ring{position:absolute;right:22%;top:30%;width:150px;height:150px;border:14px solid rgba(255,255,255,.55);border-radius:50%;z-index:2;transform:rotateX(65deg) rotateY(20deg);animation:spin 12s linear infinite;pointer-events:none}
@keyframes float{0%,100%{margin-top:0}50%{margin-top:-22px}}
@keyframes spin{to{transform:rotateX(65deg) rotateY(380deg)}}
/* trust strip */
.trust{position:relative;z-index:5;margin:-34px auto 0;max-width:1200px;background:#fff;border-radius:12px;box-shadow:var(--sh);border:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:20px 10px}
.trust div{display:flex;gap:12px;align-items:center;padding:4px 18px;border-right:1px solid var(--line)}
.trust div:last-child{border:0}
.trust svg{width:30px;height:30px;stroke:var(--rose-d);fill:none;stroke-width:1.5;flex:none}
.trust b{display:block;font-size:13px;font-weight:600}.trust span{font-size:12px;color:var(--mute)}
/* categories */
.cats{padding:64px 0 50px;position:relative}
.cat-wrap{position:relative}
.cat-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:20px 8px 30px;cursor:grab;perspective:1000px;-webkit-overflow-scrolling:touch}
.cat-track::-webkit-scrollbar{display:none}
.cat-track.drag{cursor:grabbing;scroll-snap-type:none}
.cat{flex:0 0 calc((100% - 5*26px)/6);min-width:150px;scroll-snap-align:start;text-align:center;animation:rise .7s backwards}
.cat:nth-child(2){animation-delay:.07s}.cat:nth-child(3){animation-delay:.14s}.cat:nth-child(4){animation-delay:.21s}.cat:nth-child(5){animation-delay:.28s}.cat:nth-child(6){animation-delay:.35s}
@keyframes rise{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
.cat-img{aspect-ratio:3/4;border-radius:999px;overflow:hidden;background:linear-gradient(160deg,#f8ecee,#e9c4cc);display:flex;align-items:center;justify-content:center;transition:transform .4s,box-shadow .4s;box-shadow:0 8px 20px rgba(107,45,91,.08)}
.cat:hover .cat-img{transform:translateY(-8px) rotateY(10deg) scale(1.04);box-shadow:0 22px 34px rgba(107,45,91,.22)}
.cat-img img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none}
.cat-img i{font:italic 500 54px var(--serif);color:var(--rose-d)}
.cat h3{font:600 12.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-top:16px}
.arr{position:absolute;top:42%;width:40px;height:40px;border-radius:50%;border:0;background:#fff;box-shadow:var(--sh);cursor:pointer;z-index:4;font-size:18px;color:var(--rose-d);transition:.2s}
.arr:hover{background:var(--rose-d);color:#fff}.arr.p{left:-8px}.arr.n{right:-8px}
/* promo */
.promo{display:grid;grid-template-columns:1fr 1.6fr;gap:0;max-width:1240px;margin:20px auto 70px;padding:0 20px}
.promo-t{background:var(--rose);color:#fff;padding:60px 46px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-radius:6px 0 0 6px}
.promo-t small{letter-spacing:.14em;font-size:12px;text-transform:uppercase;margin-bottom:16px;opacity:.9}
.promo-t h2{font-size:clamp(30px,3.4vw,44px);margin-bottom:16px}
.promo-t p{margin-bottom:26px;opacity:.95;font-size:17px}
.promo-i{min-height:340px;background:linear-gradient(135deg,#f8ecee,#e9c4cc);border-radius:0 6px 6px 0;overflow:hidden;perspective:1000px;display:flex;align-items:center;justify-content:center}
.promo-i img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.promo-i .ph{width:200px;height:260px;border-radius:20px;background:linear-gradient(150deg,#fff,#d9a5b3);box-shadow:0 30px 50px rgba(107,45,91,.3);animation:tilt 8s ease-in-out infinite}
@keyframes tilt{0%,100%{transform:rotateY(-25deg) rotateX(8deg)}50%{transform:rotateY(25deg) rotateX(-8deg)}}
/* posts */
.latest{padding:10px 0 80px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;perspective:1200px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .25s,box-shadow .3s;transform-style:preserve-3d;will-change:transform;animation:rise .6s backwards}
.card:hover{box-shadow:0 24px 40px rgba(107,45,91,.16)}
.card-img{position:relative;aspect-ratio:4/5;background:var(--blush);overflow:hidden;display:block}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .card-img img{transform:scale(1.07)}
.pin{position:absolute;top:12px;right:12px;background:#E60023;color:#fff;font-size:12px;font-weight:700;padding:8px 14px;border-radius:999px;opacity:0;transform:translateY(-6px);transition:.25s;z-index:3}
.card:hover .pin{opacity:1;transform:none}
.card-b{padding:16px 18px 20px;transform:translateZ(20px)}
.card-b .cat-l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-d);font-weight:600}
.card-b h3{font-size:19px;margin:8px 0;font-weight:500}
.card-b h3 a:hover{color:var(--rose-d)}
.card-b p{font-size:14px;color:var(--mute)}
.meta{font-size:12px;color:var(--mute);margin-top:10px}
.more{text-align:center;margin-top:44px}
/* inner */
.page-head{background:var(--blush);text-align:center;padding:56px 20px}
.page-head h1{font-size:clamp(30px,4vw,46px)}
.page-head p{color:var(--mute);margin-top:10px}
.inner{padding:56px 0 80px}
.single-wrap{max-width:780px;margin:0 auto;padding:0 20px}
.single-wrap .thumb{border-radius:var(--r);overflow:hidden;margin:26px 0;box-shadow:var(--sh)}
.single-head{text-align:center;padding-top:50px}
.single-head h1{font-size:clamp(30px,4.4vw,48px);margin:10px 0}
.entry{font-size:18px;line-height:1.85}
.entry p,.entry ul,.entry ol,.entry blockquote,.entry figure{margin-bottom:1.3em}
.entry h2{font-size:30px;margin:1.6em 0 .6em}.entry h3{font-size:24px;margin:1.4em 0 .5em}
.entry a{color:var(--rose-d);text-decoration:underline}
.entry ul{list-style:disc;padding-left:1.4em}.entry ol{padding-left:1.4em}
.entry img{border-radius:12px}
.entry blockquote{border-left:4px solid var(--rose);background:var(--blush);padding:18px 22px;border-radius:0 12px 12px 0;font-family:var(--serif);font-style:italic}
.share{display:flex;gap:10px;align-items:center;margin:30px 0;flex-wrap:wrap}
.share .btn{padding:10px 22px}.share .btn.pn{background:#E60023;box-shadow:none}
.tags a{display:inline-block;background:var(--blush);padding:6px 14px;border-radius:999px;font-size:13px;margin:0 6px 6px 0}
.related{background:var(--blush);padding:60px 0}
.pagination{margin-top:44px}.pagination .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.page-numbers{padding:10px 16px;border-radius:6px;border:1px solid var(--line)}.page-numbers.current,.page-numbers:hover{background:var(--rose-d);color:#fff}
.comments{max-width:780px;margin:40px auto 0;padding:0 20px}
.comments input[type=text],.comments input[type=email],.comments input[type=url],.comments textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;margin-bottom:12px}
.comments input[type=submit]{background:var(--rose-d);color:#fff;border:0;padding:12px 28px;border-radius:4px;cursor:pointer}
.comment-list li{margin:20px 0;padding:16px;background:var(--blush);border-radius:12px}
/* footer */
.site-footer{background:var(--plum);color:#f1dfe9;padding:56px 0 0}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.site-footer .logo{color:#fff;display:inline-block;margin-bottom:12px}
.site-footer .logo small{color:#e6b9c8}
.site-footer h4{font:600 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.site-footer li{margin-bottom:9px;font-size:14px}.site-footer li a:hover{color:#fff;padding-left:4px}
.site-footer li a{transition:.2s}
.site-footer p{font-size:14px;margin-bottom:16px;max-width:280px}
.copy{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding:18px 0;font-size:13px;text-align:center;color:#d9bfd0}
/* 404 */
.nf{text-align:center;padding:90px 20px}.nf h1{font-size:90px;color:var(--rose)}
/* responsive */
@media(max-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}.cat{flex-basis:calc((100% - 3*26px)/4)}.fgrid{grid-template-columns:1fr 1fr}.trust{grid-template-columns:1fr 1fr;gap:10px;margin:-30px 16px 0}.trust div:nth-child(2){border:0}}
@media(max-width:820px){
.menu-toggle{display:flex!important}
.main-nav{position:fixed;inset:0 0 0 auto;width:78%;max-width:320px;background:#fff;transform:translateX(105%);transition:.35s;padding:90px 28px 30px;box-shadow:-10px 0 40px rgba(0,0,0,.15);z-index:60;overflow:auto}
.main-nav.open{transform:none}.main-nav ul{flex-direction:column;gap:6px}.main-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
.main-nav .sub-menu{display:block;position:static;box-shadow:none;padding:0 0 0 14px}
.menu-toggle{position:relative;z-index:70}
.promo{grid-template-columns:1fr}.promo-t{border-radius:6px 6px 0 0;padding:40px 26px}.promo-i{border-radius:0 0 6px 6px;min-height:260px}
.hero{min-height:480px}.hero:before{background:linear-gradient(180deg,rgba(248,236,238,.88),rgba(248,236,238,.4))}
.o1{width:80px;height:80px}.o3{width:120px;height:120px}.ring{display:none}
.topbar .social{display:none}.topbar .wrap{justify-content:center}
}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,1fr);gap:14px}.card-b{padding:12px}.card-b h3{font-size:16px}.card-b p{display:none}.cat{flex-basis:38%;min-width:120px}.cat-track{gap:16px}.arr{display:none}.sec-title.big{font-size:27px}.fgrid{grid-template-columns:1fr}.trust{grid-template-columns:1fr 1fr}.trust div{padding:8px;border:0}.trust svg{width:24px;height:24px}.logo{font-size:22px}.entry{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
