/* Dr. Dimitrovi v2 – PHP-rendered pages (services, team, reviews, articles, plain pages) in the Dentist 04 template's layout.
   Colours come from Astra's global palette, set to EMADENT's brand colours (bronze primary, coral calls to action, teal links). */

:root {
    --dd-blue: var(--ast-global-color-0, #b6814f);
    --dd-blue-dark: var(--ast-global-color-1, #9a6b3f);
    --dd-heading: var(--ast-global-color-2, #454545);
    --dd-text: var(--ast-global-color-3, #696969);
    --dd-light: var(--ast-global-color-5, #faf7f4);
    --dd-line: var(--ast-global-color-6, #ece6e0);
    --dd-muted: var(--ast-global-color-7, #969696);
    --dd-tint: var(--ast-global-color-8, #fdf4ee);
    --dd-coral: #ed735a;
    --dd-coral-dark: #d95f47;
    --dd-teal: #345d5a;
    --dd-wrap: 1200px;
    --dd-head-font: Roboto, sans-serif;
}

/* Manrope switches to Bulgarian-style Cyrillic letterforms under lang="bg"; keep the standard (Russian-style) shapes the old site showed */
body, button, input, select, textarea { font-feature-settings: "locl" 0; }

/* Our templates span the full width: Astra's content container is a flex row with max-width */
.site-content > .ast-container:has(> .dd-hero) { display: block; max-width: none; padding: 0 !important; margin: 0; }

/* Template widgets: card titles link to the service, without Astra's content-link underline */
.ast-single-post .entry-content .elementor a, .site-footer a { text-decoration: none; }

/* EMADENT accents: every "Запазете час" button is coral (old site), text links teal */
.dd-btn, .entry-content a.dd-btn, .entry-content a.reservenow, .entry-content .btns-group .request, .dd-form .wpcf7-submit,
.ast-header-button-1 .ast-custom-button, a.elementor-button[href="#zapazete-chas"] { background-color: var(--dd-coral) !important; border-color: var(--dd-coral) !important; color: #fff !important; }
.dd-btn:hover, .dd-form .wpcf7-submit:hover, .ast-header-button-1 .ast-custom-button:hover, a.elementor-button[href="#zapazete-chas"]:hover { background-color: var(--dd-coral-dark) !important; border-color: var(--dd-coral-dark) !important; }
.dd-section .entry-content a:not(.dd-btn):not(.reservenow), .dd-links a:hover, .dd-links .is-current a { color: var(--dd-teal); }
.dd-section .entry-content .btns-group .see-pictures { color: var(--dd-blue) !important; }
.dd-btn--light { background: #fff !important; color: var(--dd-coral) !important; }

/* Phone link in the header's top bar: same colour as the text around it */
.ast-header-html-1 a { color: inherit; }

/* ---------- Title band (the template's inner-page hero; the transparent header sits on top of it) ---------- */
.dd-hero { background: var(--dd-blue); color: #fff; padding: 194px 40px 74px; margin: 0; }
.dd-hero__inner { max-width: var(--dd-wrap); margin: 0 auto; }
.dd-hero__label { font-family: var(--dd-head-font); font-size: 14px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: rgba(255, 255, 255, .8); margin: 0 0 12px; }
.dd-hero__title { font-family: var(--dd-head-font); font-size: 64px; font-weight: 600; line-height: 1.4; color: #fff; margin: 0; }
@media (max-width: 921px) { .dd-hero { padding: 150px 24px 56px; } .dd-hero__title { font-size: 44px; line-height: 1.25; } }
@media (max-width: 544px) { .dd-hero { padding: 130px 20px 44px; } .dd-hero__title { font-size: 32px; } }

/* ---------- Sections and type ---------- */
.dd-section { padding: 96px 40px; }
.dd-section--tint { background: var(--dd-tint); }
.dd-wrap { max-width: var(--dd-wrap); margin: 0 auto; }
.dd-wrap--text { max-width: 820px; }
.dd-center { text-align: center; }
.dd-label { display: block; font-family: var(--dd-head-font); font-size: 14px; font-weight: 600; letter-spacing: 3px; color: var(--dd-blue); margin: 0 0 18px; }
.dd-h2 { font-family: var(--dd-head-font); font-size: 40px; font-weight: 600; line-height: 1.3; color: var(--dd-heading); margin: 0 0 48px; }
.dd-intro { max-width: 820px; margin: -16px auto 48px; text-align: center; }
@media (max-width: 921px) { .dd-section { padding: 64px 24px; } .dd-h2 { font-size: 32px; margin-bottom: 36px; } }
@media (max-width: 544px) { .dd-section { padding: 48px 20px; } .dd-h2 { font-size: 26px; } }

.dd-btn, .entry-content a.dd-btn { display: inline-block; background: var(--dd-blue); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 14px 28px; border-radius: 4px; text-decoration: none; transition: background .2s; }
.dd-btn:hover, .dd-btn:focus { background: var(--dd-blue-dark); color: #fff; }
.dd-btn--light, .entry-content a.dd-btn--light { background: #fff; color: var(--dd-blue); }
.dd-btn--light:hover, .dd-btn--light:focus { background: var(--dd-tint); color: var(--dd-blue-dark); }
.dd-more { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--dd-blue); text-decoration: none; }
.dd-more:hover { color: var(--dd-blue-dark); }
.dd-back { margin-top: 40px; }

/* ---------- Cards (the template's service cards: photo on top, 1px border, 8px radius) ---------- */
.dd-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.dd-card { background: #fff; border: 1px solid var(--dd-line); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; margin: 0 0 24px; }
.dd-cards .dd-card { margin: 0; }
.dd-card__img { display: block; aspect-ratio: 376 / 250; overflow: hidden; background: var(--dd-light); }
.dd-card__img--square { aspect-ratio: 1 / 1; }
.dd-card__img--auto { aspect-ratio: auto; }
.dd-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.dd-card__img--auto img { height: auto; }
.dd-card:hover .dd-card__img img { transform: scale(1.03); }
.dd-card__body { padding: 24px 32px 28px; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.dd-card__body .dd-label { margin-bottom: 10px; }
.dd-card__title { font-family: var(--dd-head-font); font-size: 24px; font-weight: 600; line-height: 1.2; color: var(--dd-heading); margin: 0 0 8px; }
.dd-card__title a { color: inherit; text-decoration: none; }
.dd-card__title a:hover { color: var(--dd-blue); }
.dd-card__text { font-size: 16px; line-height: 1.65; color: var(--dd-text); margin: 0 0 20px; }
.dd-card .dd-more { margin-top: auto; }
.dd-cards--team .dd-card__title { font-size: 22px; }
@media (max-width: 921px) { .dd-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 544px) { .dd-cards { grid-template-columns: 1fr; } .dd-card__body { padding: 20px 24px 24px; } }

/* Row-first masonry for articles and reviews: site.js places each card in the shortest column */
.dd-masonry { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 4px; column-gap: 24px; align-items: start; }
@media (max-width: 921px) { .dd-masonry { grid-template-columns: 1fr 1fr; } }
@media (max-width: 544px) { .dd-masonry { grid-template-columns: 1fr; } }

/* ---------- Testimonials ---------- */
.dd-quote { max-width: 760px; margin: 72px auto 0; text-align: center; }
.dd-quote blockquote { border: 0; margin: 0 0 16px; padding: 0; font-family: var(--dd-head-font); font-size: 20px; font-weight: 500; line-height: 1.5; color: var(--dd-heading); font-style: normal; }
.dd-quote figcaption { font-size: 14px; color: var(--dd-muted); }
.dd-quote__mark { display: block; font-family: Georgia, serif; font-size: 56px; line-height: .8; color: var(--dd-blue); margin-bottom: 8px; }
.dd-review { background: #fff; border: 1px solid var(--dd-line); border-radius: 8px; padding: 32px; margin: 0 0 24px; text-align: center; }
.dd-review__text, .dd-review__text p { font-size: 15px; line-height: 1.65; color: var(--dd-text); }
.dd-review__text p:last-child { margin-bottom: 0; }
.dd-review__name { font-family: var(--dd-head-font); font-size: 15px; font-weight: 600; color: var(--dd-heading); margin-top: 18px; }
.dd-reviews { margin-bottom: 24px; }
.dd-reviews__intro { display: none; } /* old JSON-LD block only */

/* ---------- "Not sure what you need?" call-out (blue half + photo half) ---------- */
.dd-callout { display: grid; grid-template-columns: 1fr 1fr; background: var(--dd-blue); color: #fff; }
.dd-callout__text { padding: 96px max(40px, calc((100vw - var(--dd-wrap)) / 2)) 96px max(40px, calc((100vw - var(--dd-wrap)) / 2)); padding-right: 64px; align-self: center; }
.dd-callout__text h2 { font-family: var(--dd-head-font); font-size: 40px; font-weight: 600; line-height: 1.3; color: #fff; margin: 0 0 18px; }
.dd-callout__text p { color: rgba(255, 255, 255, .9); margin: 0 0 28px; max-width: 480px; }
.dd-callout__img img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; display: block; }
@media (max-width: 921px) { .dd-callout { grid-template-columns: 1fr; } .dd-callout__text { padding: 56px 24px; } .dd-callout__text h2 { font-size: 30px; } .dd-callout__img img { min-height: 280px; } }

/* ---------- Single service: text + sidebar panels ---------- */
.dd-split { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: start; }
.dd-split__side { display: flex; flex-direction: column; gap: 24px; position: sticky; top: 24px; }
.dd-panel { border: 1px solid var(--dd-line); border-radius: 8px; padding: 28px; background: #fff; }
.dd-panel--flush { padding: 0; overflow: hidden; }
.dd-panel--blue { background: var(--dd-blue); border-color: var(--dd-blue); color: #fff; }
.dd-panel--blue .dd-panel__title { color: #fff; }
.dd-panel--blue a:not(.dd-btn) { color: #fff; text-decoration: underline; }
.dd-panel__title { font-family: var(--dd-head-font); font-size: 18px; font-weight: 600; color: var(--dd-heading); margin: 0 0 14px; }
.dd-links { list-style: none; margin: 0 0 16px; padding: 0; }
.dd-links li { border-top: 1px solid var(--dd-line); }
.dd-links li:first-child { border-top: 0; }
.dd-links a { display: block; padding: 10px 0; color: var(--dd-text); text-decoration: none; font-size: 15px; }
.dd-links a:hover, .dd-links .is-current a { color: var(--dd-blue); }
@media (max-width: 1100px) { .dd-split { grid-template-columns: 1fr; gap: 40px; } .dd-split__side { position: static; } }

/* ---------- Team member, article photos ---------- */
.dd-profile { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 64px; align-items: start; }
.dd-profile__photo { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.dd-zoom { display: block; width: 100%; padding: 0 !important; border: 0; background: none !important; cursor: zoom-in; border-radius: 8px; overflow: hidden; }
.dd-zoom img { width: 100%; height: auto; display: block; }
.dd-profile .dd-zoom img { aspect-ratio: 1 / 1; object-fit: cover; }
.dd-article__media { margin-bottom: 40px; }
.dd-article__media.is-multi { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dd-article__media.is-multi .dd-zoom:first-child { grid-column: 1 / -1; }
@media (max-width: 921px) { .dd-profile { grid-template-columns: 1fr; gap: 32px; } .dd-profile__photo { max-width: 420px; } }

/* ---------- Imported article/service text ---------- */
.dd-section .entry-content { font-size: 17px; line-height: 1.75; color: var(--dd-text); }
.dd-section .entry-content :is(h1, h2, h3, h4, h5, h6) { font-family: var(--dd-head-font); font-weight: 600; color: var(--dd-heading); line-height: 1.3; margin: 1.6em 0 .6em; }
.dd-section .entry-content h2 { font-size: 30px; }
.dd-section .entry-content h3 { font-size: 23px; }
.dd-section .entry-content h4 { font-size: 19px; }
.dd-section .entry-content > :first-child { margin-top: 0; }
.dd-section .entry-content a { color: var(--dd-blue); }
.dd-section .entry-content img { height: auto; border-radius: 8px; }
/* Word-pasted inline styles from the old editor: keep bold/italic, drop fonts, sizes, colours, backgrounds and justification */
.entry-content [style*="font-family"] { font-family: inherit !important; }
.entry-content [style*="font-size"] { font-size: inherit !important; }
.entry-content [style*="color"]:not(.dd-btn) { color: inherit !important; }
.entry-content :is(h1, h2, h3, h4, h5, h6, span, p, strong)[style*="background"] { background: none !important; }
.entry-content [style*="text-align:justify"], .entry-content [style*="text-align: justify"] { text-align: left !important; }
/* Google Translate browser-extension icon the old editor saved into two articles (off-screen, widened the page) */
.entry-content .gtx-trans, .entry-content .gtx-trans-icon { display: none !important; }
/* wide tables scroll inside the text column on phones instead of widening the page */
.entry-content table { display: block; max-width: 100%; overflow-x: auto; }
/* old bootstrap columns and photo grids inside page text */
.entry-content .row, .entry-content .btgrid:has(> [class*="col-"]) { display: flex; flex-wrap: wrap; margin: 0 -12px; }
.entry-content .row > [class*="col-"], .entry-content .btgrid > [class*="col-"] { flex: 0 0 100%; max-width: 100%; padding: 0 12px; box-sizing: border-box; }
@media (min-width: 768px) {
    .entry-content .row > .col-md-6, .entry-content .btgrid > .col-md-6 { flex-basis: 50%; max-width: 50%; }
    .entry-content .row > .col-md-4 { flex-basis: 33.333%; max-width: 33.333%; }
    .entry-content .row > .col-md-8 { flex-basis: 66.666%; max-width: 66.666%; }
    .entry-content > .col-md-6 { float: left; width: 50%; padding: 0 12px; box-sizing: border-box; }
    .entry-content::after { content: ""; display: block; clear: both; }
}
.entry-content a.zoom { display: block; cursor: zoom-in; margin-bottom: 18px; }
.entry-content a.zoom img { width: 100%; height: auto; display: block; }
.entry-content .dd-photo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 32px 0; }
.entry-content .dd-photo-grid a.zoom { margin: 0; }
.entry-content .dd-photo-grid img { aspect-ratio: 3 / 2; object-fit: cover; }
.entry-content a.reservenow { display: inline-block; background: var(--dd-blue); color: #fff !important; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 14px 28px; border-radius: 4px; text-decoration: none; }

/* Old "see how the treatment went" / "book a consultation" buttons above each before/after gallery */
.entry-content .btns-group { display: flex; flex-wrap: wrap; gap: 16px; margin: 28px 0; }
.entry-content .btns-group a { display: inline-flex; align-items: center; gap: 10px; border-radius: 4px; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 14px 24px; text-decoration: none; cursor: pointer; }
.entry-content .btns-group a i { display: none; }
.entry-content .btns-group .see-pictures { background: var(--dd-tint); color: var(--dd-blue) !important; }
.entry-content .btns-group .see-pictures::after { content: "▾"; }
.entry-content .btns-group .see-pictures.is-open::after { content: "▴"; }
.entry-content .btns-group .request { background: var(--dd-blue); color: #fff !important; }
.entry-content .gallery-window { display: none; margin: 0 0 32px; }
.entry-content .gallery-window.is-open { display: block; }

/* ---------- Carousel, galleries, lightbox (site.js) ---------- */
.dd-carousel { overflow: hidden; }
.dd-carousel__track { display: flex; transition: transform .45s ease, height .3s ease; align-items: flex-start; }
.dd-carousel__slide { flex: 0 0 100%; padding: 0 !important; border: 0; background: #fff !important; cursor: zoom-in; display: block; }
.dd-carousel__slide img { width: 100%; height: auto; display: block; }
.dd-carousel__dots { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 16px; }
.dd-carousel__dot { width: 10px; height: 10px; padding: 0 !important; border: 0; border-radius: 50% !important; background: var(--dd-line) !important; cursor: pointer; }
.dd-carousel__dot.is-active, .dd-carousel__dot:hover { background: var(--dd-blue) !important; }
.entry-content .dd-gallery { margin: 24px 0; border-radius: 8px; }
.dd-gallery .dd-carousel__slide img { aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
.dd-gallery__thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.dd-gallery__thumb { width: 96px; padding: 0 !important; border: 2px solid transparent !important; background: none !important; cursor: pointer; opacity: .65; border-radius: 4px !important; overflow: hidden; }
.dd-gallery__thumb img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; border-radius: 0 !important; }
.dd-gallery__thumb.is-active, .dd-gallery__thumb:hover { opacity: 1; border-color: var(--dd-blue) !important; }
.dd-lightbox { border: 0; padding: 0; background: rgba(0, 0, 0, .92); max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.dd-lightbox::backdrop { background: rgba(0, 0, 0, .88); }
.dd-lightbox__stage { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 50px 60px; box-sizing: border-box; }
.dd-lightbox__stage img { max-width: 100%; max-height: 100%; object-fit: contain; }
.dd-lightbox button { position: absolute; background: none !important; border: 0; color: #fff; font-size: 44px; cursor: pointer; padding: 10px 16px; line-height: 1; }
.dd-lightbox__close { top: 6px; right: 10px; }
.dd-lightbox__prev { left: 6px; top: 50%; transform: translateY(-50%); }
.dd-lightbox__next { right: 6px; top: 50%; transform: translateY(-50%); }
.dd-lightbox__count { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; color: #ccc; font-size: 14px; }

/* ---------- Booking popup and the Contact Form 7 form (also used on /kontakti) ---------- */
.dd-dialog { border: 0; border-radius: 8px; padding: 40px 36px 32px; width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; color: var(--dd-text); }
.dd-dialog::backdrop { background: rgba(33, 37, 39, .65); }
.dd-dialog__label { font-family: var(--dd-head-font); font-size: 14px; font-weight: 600; letter-spacing: 3px; color: var(--dd-blue); text-transform: uppercase; margin: 0 0 8px; }
.dd-dialog h2 { font-family: var(--dd-head-font); font-size: 28px; font-weight: 600; color: var(--dd-heading); margin: 0 0 10px; line-height: 1.3; }
.dd-dialog__lead { font-size: 15px; margin-bottom: 22px; }
.dd-dialog .dd-dialog__close { position: absolute; top: 10px; right: 14px; background: none; border: 0; font-size: 32px; line-height: 1; color: var(--dd-muted); cursor: pointer; padding: 4px 8px; }
.dd-dialog .dd-dialog__close:hover, .dd-dialog .dd-dialog__close:focus { color: var(--dd-heading); background: none; }
.dd-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dd-form input[type=text], .dd-form input[type=email], .dd-form input[type=tel], .dd-form select, .dd-form textarea {
    width: 100%; border: 1px solid var(--dd-line); border-radius: 4px; padding: 12px 14px; font-size: 15px; color: var(--dd-heading); background: #fff;
}
.dd-form input:focus, .dd-form select:focus, .dd-form textarea:focus { border-color: var(--dd-blue); outline: 0; }
.dd-form p { margin: 0 0 14px; }
.dd-form textarea { height: 120px; }
.dd-form .wpcf7-acceptance { font-size: 13px; line-height: 1.5; }
.dd-form .wpcf7-list-item { margin: 0; }
.dd-form .wpcf7-submit { background: var(--dd-blue); color: #fff; border: 0; border-radius: 4px; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 15px 28px; cursor: pointer; }
.dd-form .wpcf7-submit:hover { background: var(--dd-blue-dark); }
.dd-form .wpcf7-spinner { display: block; margin: 8px auto 0; }
@media (max-width: 560px) { .dd-form__row { grid-template-columns: 1fr; gap: 0; } .dd-dialog { padding: 36px 20px 24px; } }

/* Honeypot field (inc/form-spam.php): off-screen, not display:none, so bots still see it */
.dd-hp { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
