/*
Theme Name: Maria Raicu
Theme URI: https://mariaraicu.ro
Author: Maria Raicu
Description: A lightweight, bespoke theme for Psiholog Maria Raicu.
Version: 1.0.0
Text Domain: maria-raicu
*/

:root { --paper:#fffbf4; --cream:#fff3d3; --rose:#d87878; --ink:#3d3430; --line:#e6b5a7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Helvetica Neue", Arial, sans-serif; font-size:17px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
.site-header { display:flex; justify-content:space-between; align-items:center; max-width:1200px; margin:auto; padding:28px 32px; }
.brand img { display:block; width:180px; height:auto; }
.main-nav ul { display:flex; gap:42px; margin:0; padding:0; list-style:none; }
.main-nav a { font-size:17px; }
.main-nav a:hover { color:var(--rose); }
.hero, .about, .process, .services, .booking { padding:72px 32px; }
.hero-inner, .section-inner { max-width:1120px; margin:auto; }
.hero { min-height:390px; }
h1,h2,h3,.eyebrow { font-family:Georgia, "Times New Roman", serif; }
h1 { color:var(--rose); font-size:70px; letter-spacing:-2.5px; line-height:1.05; margin:0 0 18px; font-weight:500; }
h2 { color:var(--rose); font-size:40px; line-height:1.15; margin:0 0 28px; text-align:center; font-weight:500; }
h3 { color:var(--rose); font-size:24px; margin:0 0 10px; font-weight:500; }
.eyebrow { color:var(--rose); font-weight:bold; font-style:italic; margin:0 0 16px; }
.hero-copy { max-width:1090px; margin:0 0 70px; font-size:18px; }
.button { display:inline-block; background:var(--rose); color:#fff; padding:12px 30px; border-radius:4px; font-size:16px; }
.button:hover { background:#bd6267; }
.text-link { color:var(--rose); font-weight:600; border-bottom:1px solid var(--line); padding-bottom:2px; }
.center-link { text-align:center; margin:32px 0 0; }
.page-hero { padding:80px 32px 70px; background:var(--paper); text-align:center; }
.page-hero h1 { max-width:850px; margin-left:auto; margin-right:auto; }
.lead { max-width:650px; margin:0 auto; font-size:20px; }
.article-section, .credentials { padding:72px 32px; background:var(--paper); }
.narrow { max-width:790px; margin:auto; }
.narrow p { font-size:18px; }
.themes { color:var(--rose); font-family:Georgia, serif; font-size:22px !important; line-height:1.6; }
.cards.four { grid-template-columns:repeat(4,1fr); }
.four-services { grid-template-columns:repeat(4,1fr); }
.credentials { background:var(--cream); }
.credentials li { margin:15px 0; font-size:17px; }
.credential-list { display:grid; gap:14px; margin:0; padding:0; list-style:none; }
.credentials .credential-list li { position:relative; margin:0; padding:16px 20px 16px 54px; border:1px solid rgba(230,181,167,.65); background:rgba(255,253,249,.8); font-size:17px; line-height:1.5; }
.credentials .credential-list li::before { content:"✓"; position:absolute; top:50%; left:19px; display:grid; width:22px; height:22px; place-items:center; transform:translateY(-50%); border-radius:50%; background:var(--rose); color:#fff; font-size:14px; font-weight:700; line-height:1; }
.faq details { border-bottom:1px solid #ead9d0; padding:18px 4px; }
.faq summary { cursor:pointer; color:var(--rose); font-family:Georgia, serif; font-size:21px; }
.faq p { margin:12px 0 2px; }
.about { background:var(--cream); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; }
.title-rule { width:48px; height:2px; margin:-12px auto 26px; background:var(--rose); }
.about-image img { display:block; width:100%; max-height:530px; object-fit:cover; object-position:top; }
.process { background:var(--paper); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.card { min-height:250px; border:1px solid #eed8cc; padding:30px; background:#fffdf9; }
.card p { font-size:16px; margin:0; }
.services { background:var(--cream); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service { background:var(--paper); padding:32px 26px; text-align:center; }
.service h2 { margin:0 0 10px; font-size:24px; }
.service .text-link { display:inline-block; margin-top:18px; }
.price { display:block; color:var(--rose); margin-bottom:16px; font-weight:bold; }
.support-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; max-width:1000px; margin:0 auto; }
.support-item { border:1px solid #eed8cc; padding:30px; background:#fffdf9; }
.support-item h3 { margin-bottom:12px; }
.support-item p { margin:0; font-size:16px; }
.booking { text-align:center; }
.booking p { max-width:620px; margin:0 auto 24px; }
.site-footer { padding:32px; text-align:center; border-top:1px solid #f0e5dd; font-size:14px; }
.footer-contact { max-width:680px; margin:0 auto; color:#4a3d37; line-height:1.6; }
.footer-contact address { font-style:normal; }
.footer-contact p { margin:4px 0; }
.footer-contact a { color:inherit; text-decoration-color:#df7d7d; text-underline-offset:3px; }
.footer-copyright { margin:18px 0 0; color:#786961; font-size:13px; }
.blog-listing { padding:70px 32px 88px; background:var(--cream); }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.blog-grid-single { grid-template-columns:minmax(0, 730px); justify-content:center; }
.blog-card { display:flex; min-height:285px; flex-direction:column; justify-content:space-between; padding:30px; border:1px solid #eed8cc; background:#fffdf9; transition:transform .2s ease, box-shadow .2s ease; }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 10px 24px rgba(91,61,51,.08); }
.blog-card h2 { margin:0 0 14px; text-align:left; font-size:29px; }
.blog-card p { margin:0 0 26px; font-size:16px; }
.blog-card .eyebrow { margin-bottom:10px; font-size:16px; }
.blog-card .text-link { align-self:flex-start; }
.blog-card-image { width:100%; max-height:270px; margin:-30px -30px 26px; width:calc(100% + 60px); object-fit:cover; }
.blog-article { padding:64px 32px 82px; }
.blog-article .narrow { max-width:780px; }
.blog-article h2 { margin-top:48px; text-align:left; font-size:32px; }
.blog-article h3 { margin-top:32px; color:var(--ink); font-family:"Helvetica Neue",Arial,sans-serif; font-size:21px; font-weight:700; }
.blog-article blockquote { margin:26px 0; padding:0 0 0 22px; border-left:2px solid var(--line); color:var(--rose); font-family:Georgia,serif; font-size:22px; font-style:italic; }
.blog-article .article-closing { color:var(--rose); font-family:Georgia,serif; font-size:24px; font-weight:600; }
.article-summary { margin:0 0 34px; padding:24px 26px; border-left:3px solid var(--rose); background:var(--cream); }
.blog-article .article-summary h2 { margin:0 0 12px; color:var(--ink); font-size:25px; }
.article-summary p { margin:0; }
.blog-image { margin:38px 0; }
.blog-image img { display:block; width:100%; height:auto; }
.blog-image-forest { max-width:510px; margin:0 auto 42px; }
.blog-image-evolution { margin-top:34px; }
.bibliography { margin-top:56px; padding-top:28px; border-top:1px solid var(--line); }
.bibliography h2 { margin-top:0; }
.bibliography p { overflow-wrap:anywhere; }
.bibliography a { color:#397b94; text-decoration:underline; text-underline-offset:2px; }
@media (max-width:900px) { .cards.four,.four-services { grid-template-columns:repeat(2,1fr); } }
@media (max-width:720px) { .site-header { padding:20px; flex-direction:column; gap:20px; } .main-nav ul { gap:18px; flex-wrap:wrap; justify-content:center; } .hero,.about,.process,.services,.booking,.page-hero,.article-section,.credentials,.blog-listing,.blog-article { padding:55px 22px; } h1 { font-size:48px; } h2 { font-size:34px; } .about-grid,.cards,.service-grid,.cards.four,.four-services,.blog-grid,.support-grid { grid-template-columns:1fr; gap:22px; } .about-copy { order:2; } .blog-card h2 { font-size:27px; } .blog-article h2 { font-size:30px; } .blog-card-image { margin:-30px -30px 24px; width:calc(100% + 60px); } }
