/*
Theme Name: Eli Dinkova Child
Description: Child theme for the Eli Dinkova custom theme.
Template: eli-dinkova
Version: 1.0.0
Text Domain: eli-dinkova-child
*/

/* Published blog cards — minimal editorial layout */
#blog .eli-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px;}
#blog .eli-blog-card{padding:0;overflow:visible;background:transparent;border:0;border-radius:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:start;}
#blog .eli-blog-photo{display:block;overflow:hidden;aspect-ratio:4/5;background:#e6e1d8;}
#blog .eli-blog-photo img{display:block;width:100%;height:100%;object-fit:cover;}
#blog .eli-blog-copy{padding:0;display:flex;flex-direction:column;gap:9px;min-width:0;}
#blog .post-meta{margin:0;font-size:10px;letter-spacing:.08em;color:#77668e;display:flex;gap:12px;}
#blog .post-meta time{display:none;}
#blog .eli-blog-copy h3{font-size:clamp(21px,1.65vw,25px);margin:0;line-height:1.2;text-wrap:pretty;}
#blog .eli-blog-copy h3 a{color:inherit;text-decoration:none;}
#blog .eli-blog-copy h3 a:hover{color:#77668e;}
#blog .eli-blog-copy>p:not(.post-meta){margin:0;font-size:14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#blog .eli-blog-read{margin-top:2px;padding:0;color:#665578;font-size:12px;text-decoration:none;align-self:flex-start;}
#blog a:focus-visible{outline:2px solid #77668e;outline-offset:4px;}
@media(max-width:900px){#blog .eli-blog-grid{grid-template-columns:1fr;gap:28px;}}
@media(max-width:480px){#blog .eli-blog-card{grid-template-columns:80px minmax(0,1fr);gap:16px;}#blog .eli-blog-copy h3{font-size:21px;}#blog .eli-blog-copy>p:not(.post-meta){font-size:13px;}}

/* Restore the wide hero photograph and its original framing. */
@media screen {
 #home .portrait-frame { background: transparent; }
 #home .portrait-frame img { display:block; width:100%; height:100%; max-width:100%; object-fit:cover; object-position:50% center; transform:none; filter:none; }
}

/* Preserve Word list markers in FAQ answers and articles. */
.faq-answer ul,.eli-blog-article ul{list-style:disc outside;padding-left:1.5em;margin:1em 0;}
.faq-answer ol,.eli-blog-article ol{list-style:decimal outside;padding-left:1.5em;margin:1em 0;}
.faq-answer li,.eli-blog-article li{display:list-item;padding-left:.25em;margin:.4em 0;}

/* Keep the active FAQ question visible while reading its answer. */
@media screen {
  #faq .faq-list .faq-group-accordion { overflow: clip; }
  #faq .faq-question { overflow: visible; scroll-margin-top: calc(var(--header-height) + 1rem); }
  #faq .faq-question[open] > summary {
    position: sticky;
    top: var(--header-height);
    z-index: 5;
    background: #f9f8f4;
    box-shadow: 0 1px 0 rgba(54,62,53,.14);
    isolation: isolate;
  }
}

/* Shared reading scale for the homepage, articles and supporting pages. */
:root {
 --eli-body-size: 1rem;
 --eli-small-size: .875rem;
 --eli-label-size: .75rem;
 --eli-section-size: clamp(2rem, 2.6vw, 2.5rem);
 --eli-subheading-size: clamp(1.5rem, 1.9vw, 1.875rem);
}
body { font-family:var(--sans); font-size:var(--eli-body-size); line-height:1.65; }
#main-content .section-shell .section-heading h2,
#main-content .services .services-intro h2,
#main-content .newsletter h2 { font-family:var(--serif); font-size:var(--eli-section-size); font-weight:500; line-height:1.15; }
#main-content .editorial-section .section-heading h2 { font-size:clamp(1.8rem,2.2vw,2.25rem); line-height:1.2; }
#home h1 { font-size:clamp(2.25rem,3vw,3rem); line-height:1.12; }
#main-content .service-item h3,
#main-content .where-grid h3,
#main-content .editorial-list h3 { font-family:var(--serif); font-size:var(--eli-subheading-size); font-weight:500; line-height:1.2; }
#main-content .section-shell .section-intro,
#main-content .content-block > p,
#main-content .service-item p:not(.service-index),
#main-content .editorial-list p,
#main-content .newsletter > div > p,
#main-content .hero-lead { font-size:var(--eli-body-size); line-height:1.65; }
#main-content .about .about-intro { font-size:1.25rem; line-height:1.5; }
#main-content .editorial-note { font-size:1.125rem; line-height:1.5; }
#faq .faq-question > summary { font-family:var(--serif); font-size:1.5rem; font-weight:500; line-height:1.3; }
#faq .faq-topic-label .faq-topic-title { font-size:1.5rem; font-weight:500; line-height:1.2; }
#faq .faq-answer,#faq .faq-answer p,#faq .faq-answer li { font-family:var(--sans); font-size:var(--eli-body-size); line-height:1.65; }
#blog .eli-blog-copy h3 { font-family:var(--serif); font-size:clamp(1.375rem,1.65vw,1.5625rem); font-weight:500; line-height:1.25; }
#blog .post-meta { font-size:var(--eli-label-size) !important; line-height:1.4; }
#blog .eli-blog-copy > p:not(.post-meta) { font-size:var(--eli-small-size); line-height:1.55; }
#blog .eli-blog-read { font-size:var(--eli-small-size); }
#main-content .facts-strip p:last-child { font-size:.8125rem; line-height:1.5; white-space:normal; }
#main-content .facts-strip .section-label { font-size:var(--eli-label-size) !important; line-height:1.4; }
#main-content.eli-blog-article { font-family:var(--sans); font-size:var(--eli-body-size); line-height:1.65; }
#main-content.eli-blog-article h1,.legal-document h1 { font-family:var(--serif); font-size:clamp(2rem,3vw,2.5rem); font-weight:500; line-height:1.15; }
#main-content.eli-blog-article h2,.legal-document h2 { font-family:var(--serif); font-size:clamp(1.5rem,2vw,1.75rem); font-weight:500; line-height:1.25; }
#main-content.eli-blog-article h3 { font-family:var(--serif); font-size:1.375rem; font-weight:500; line-height:1.3; }
#main-content.eli-blog-article :is(h1,h2,h3) :is(strong,em) { font-family:inherit; font-size:inherit; font-weight:inherit; }
#main-content.eli-blog-article p,#main-content.eli-blog-article li,
.legal-document p,.legal-document li { font-size:var(--eli-body-size); line-height:1.65; }
.legal-document .legal-lead { font-size:1.125rem; line-height:1.6; }
.inquiry-form input,.inquiry-form textarea,.newsletter-form input[type=email] { font-family:var(--sans); font-size:1rem; line-height:1.5; }
.button { font-family:var(--sans); font-size:.8125rem; line-height:1.4; }
.cookie-banner__copy,.cookie-dialog p { font-size:var(--eli-small-size); line-height:1.6; }
.cookie-dialog h2 { font-size:var(--eli-section-size); line-height:1.15; }
@media(max-width:760px) {
 #home h1 { font-size:clamp(2rem,7vw,2.5rem); }
 #main-content .facts-strip p:last-child { font-size:var(--eli-label-size); }
 #main-content .about .about-intro { font-size:1.125rem; }
 #faq .faq-question > summary { font-size:1.375rem; }
}

/* Full-width FAQ groups below the section introduction. */
@media screen {
  #main-content > #faq.section-shell { display:block; }
  #main-content > #faq.section-shell > .section-heading {
    position:static;
    width:100%;
    max-width:none;
    margin-bottom:2rem;
  }
  #faq .section-heading .section-intro { max-width:none; }
  #faq > div:not(.section-heading) { width:100%; min-width:0; }
  #faq .faq-list { display:grid; grid-template-columns:minmax(0,1fr); width:100%; gap:1rem; }
  #faq .faq-group-accordion,
  #faq .faq-group-accordion[open] { grid-column:1 / -1; width:100%; min-width:0; }
  #faq .faq-group-questions { width:100%; box-sizing:border-box; }
  #faq .faq-question,
  #faq .faq-question > summary { width:100%; max-width:none; }
  #faq .faq-question .faq-answer { width:100%; max-width:none; padding-inline:0; box-sizing:border-box; }
  #faq .faq-answer p { max-width:none; }
}

/* Outline-only FAQ topic panels. */
@media screen {
 #faq .faq-list .faq-group-accordion,
 #faq .faq-list .faq-group-accordion[open] {
   background:transparent;
   border:1px solid rgba(54,62,53,.25);
   box-shadow:none;
 }
 #faq .faq-list .faq-group-accordion > summary,
 #faq .faq-list .faq-group-accordion[open] > summary,
 #faq .faq-list .faq-group-accordion > summary:hover {
   background:transparent;
   color:var(--ink);
 }
 #faq .faq-topic-label .faq-topic-title { color:var(--ink); }
 #faq .faq-topic-meta .faq-topic-count { color:var(--ink-soft); }
 #faq .faq-topic-meta .faq-topic-show,
 #faq .faq-topic-meta .faq-topic-hide { color:var(--accent); }
 #faq .faq-list .faq-group-accordion > summary > span.faq-topic-toggle:last-child {
   background:transparent;
   color:var(--ink);
   border-color:rgba(54,62,53,.25);
 }
 #faq .faq-list .faq-group-accordion > summary:focus-visible {
   outline:2px solid var(--accent);
   outline-offset:-4px;
 }
}

/* Stronger FAQ topic labels and breathing room below the question divider. */
@media screen {
 #faq .faq-topic-label .faq-topic-title { font-weight:600; }
 #faq .faq-question[open] > .faq-answer {
   margin-top:0;
   padding-top:1rem;
 }
}

/* Instagram profile links without embedded third-party widgets. */
.eli-instagram-link{display:inline-flex;align-items:center;gap:10px;color:inherit;font-family:var(--sans);font-size:14px;line-height:1.5;text-decoration:none;min-height:44px;}
.eli-instagram-link svg{flex:0 0 20px;}
.eli-instagram-link:hover span{text-decoration:underline;text-underline-offset:.2em;}
.eli-instagram-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;}
.eli-article-instagram{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink-soft);}
.site-footer .eli-instagram-link{margin-top:4px;color:inherit;font-size:13px;white-space:normal;}
@media(max-width:760px){.site-footer .eli-instagram-link{justify-content:center;}}

/* Quiet icon-only social links below appointment information. */
#contact .eli-contact-socials{display:flex;align-items:center;gap:12px;margin-top:18px;}
#contact .eli-contact-socials a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;transition:background-color .2s,color .2s;}
#contact .eli-contact-socials svg{display:block;width:20px;height:20px;}
#contact .eli-contact-socials a:hover{background:#e8dfff;color:#665578;}
#contact .eli-contact-socials a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){#contact .eli-contact-socials a{transition:none;}}

/* Discreet social icons inline with the footer credit. */
.site-footer .footer-credit{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:nowrap;}
.site-footer .eli-footer-socials{display:inline-flex;align-items:center;gap:4px;margin-left:8px;}
.site-footer .eli-footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;color:inherit;opacity:.8;}
.site-footer .eli-footer-socials svg{display:block;width:16px;height:16px;}
.site-footer .eli-footer-socials a:hover{opacity:1;color:#e8dfff;}
.site-footer .eli-footer-socials a:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
@media(max-width:760px){.site-footer .footer-credit{justify-content:center;}}

/* Social icons sit beside the copyright, not the developer credit. */
.site-footer .footer-name{display:block;}
.site-footer .footer-name .eli-footer-socials{display:inline-flex;vertical-align:middle;margin-left:8px;}


/* No divider between an expanded question and its answer. */
#faq .faq-list .faq-question[open] > summary {
 border-bottom:0;
 box-shadow:none;
}

/* Mobile review: readable accents and a compact, equally accessible consent choice. */
#services .service-item .service-index{color:#777d70;}
@media(max-width:520px){
 .cookie-banner[data-cookie-banner]{padding:16px;max-height:calc(100dvh - 24px);overflow-y:auto;bottom:max(12px,env(safe-area-inset-bottom));}
 .cookie-banner h2{font-size:26px;margin-bottom:8px;line-height:1.15;}
 .cookie-banner .cookie-banner__copy{font-size:14px;line-height:1.5;margin-bottom:14px;}
 .cookie-banner .cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
 .cookie-banner .cookie-button{min-height:44px;padding:10px 8px;font-size:12px;}
 .cookie-banner [data-cookie-accept]{grid-column:1 / -1;}
}

@media screen{
/* Render static sections as they approach the viewport; forms and accordions stay eager. */
@supports(content-visibility:auto){
 #main-content > :is(#services,#for-whom,.where-section,#about,.stages-section,.editorial-section,#blog){
  content-visibility:auto;
  contain-intrinsic-size:auto 800px;
 }
}

}

/* Use the same native sans face for Bulgarian letters, punctuation and UI text. */
:root{--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
