/*
 * Theme Name: Dentalo Child (Alivio Dental)
 * Template: dentalo
 * Description: Child theme for Dentalo (Alivio Dental). Keeps an H1 title on existing pages/posts, disables comments, applies the Alivio logo, favicon and copyright, adds the top bar, fixes internal links on staging, redirects removed offer pages, and provides the self-hosted office tour panorama viewer ([alivio_pano], Pannellum MIT).
 * Version: 1.4.1
 */

/* Page-title banner: replace Dentalo's stock photo with the Alivio brand blue (#0870B8, from the logo).
   A banner image set per page or in Dentalo Options still takes priority (it is applied inline). */
body .inner-banner {
	background-color: #0870B8;
	background-image: linear-gradient(120deg, #0870B8 0%, #05508A 100%);
}

/* ---------- Top bar ---------- */
.alivio-topbar { background: #05508A; color: #fff; font-size: 14px; line-height: 1.4; }
.alivio-topbar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 24px; padding-top: 8px; padding-bottom: 8px; }
.alivio-topbar__phones { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.alivio-topbar a { color: #fff; font-weight: 700; text-decoration: none; }
.alivio-topbar a:hover { color: #cfe6f7; }
.alivio-topbar__hours i { margin-right: 6px; }
.alivio-topbar__btn { background: #F6544A; padding: 6px 14px; border-radius: 4px; white-space: nowrap; }
.alivio-topbar__btn:hover { background: #e0443a; color: #fff !important; }
@media (max-width: 767px) {
	.alivio-topbar__inner { justify-content: center; text-align: center; }
	.alivio-topbar__phones { justify-content: center; }
	.alivio-topbar__hours { width: 100%; }
	.alivio-topbar__btn { display: none; }
}

/* ---------- Homepage (classes set on the Elementor sections) ---------- */
.alivio-hero h1, .alivio-hero .elementor-heading-title { color: #fff; }
.alivio-info .elementor-icon-box-wrapper { background: #fff; border-radius: 8px; padding: 26px 22px; box-shadow: 0 10px 30px rgba(5, 80, 138, .12); height: 100%; }
.alivio-info .elementor-widget-wrap { height: 100%; }
.alivio-info .elementor-icon-box-description a { color: #0870B8; font-weight: 700; }
.alivio-services .elementor-icon-list-item a { color: #1b2a49; }
.alivio-services .elementor-icon-list-item a:hover { color: #0870B8; }
.alivio-location .elementor-widget-html iframe { width: 100%; height: 260px; border: 0; border-radius: 8px; }
.alivio-location .elementor-widget-text-editor a { color: #0870B8; font-weight: 700; }
.alivio-quick .elementor-icon-box-wrapper { background: #0870B8; border-radius: 8px; padding: 22px; }
.alivio-quick .elementor-icon-box-title a, .alivio-quick .elementor-icon-box-title, .alivio-quick .elementor-icon-box-description { color: #fff !important; }
.provide-service .content__block .text a, .provide-service .content__block .text-two a { color: #0870B8; font-weight: 600; }
.alivio-hero-text .elementor-widget-container, .alivio-hero-text .elementor-text-editor { max-width: 680px; }
.provide-service .image img { width: auto; max-width: 100%; }

/* ---------- Footer widgets ---------- */
.footer-widget, .footer-widget p, .footer-widget li { color: #c3cbd8; font-size: 15px; line-height: 1.7; }
.footer-widget .widget-title, .footer-widget h2, .footer-widget h3 { color: #fff; font-size: 20px; margin-bottom: 16px; }
.footer-widget a { color: #fff; }
.footer-widget a:hover { color: #7fc0ef; }
.footer-widget ul.alivio-cities { columns: 2; padding-left: 0; list-style: none; }
.footer-widget .alivio-loc { margin-bottom: 14px; }

/* ---------- Sitemap (Archive template) ---------- */
.alivio-archive h4 { margin: 28px 0 10px; }
.alivio-archive ul { padding-left: 20px; }

/* ---------- Compact page-title bar (inner pages) ---------- */
body section.inner-banner { padding: 34px 0 30px; }
body section.inner-banner:before, body section.inner-banner:after { display: none; }
body section.inner-banner .inner-banner__title { font-size: 38px; line-height: 1.2; margin-bottom: 8px; }
body .inner-banner .thm-breadcrumb__item { font-size: 14px; font-weight: 600; }
body section.blog-two { padding-top: 50px; padding-bottom: 70px; }
@media (max-width: 767px) {
	body section.inner-banner { padding: 22px 0 18px; }
	body section.inner-banner .inner-banner__title { font-size: 26px; }
	body .inner-banner .thm-breadcrumb { flex-wrap: wrap; }
	body section.blog-two { padding-top: 30px; padding-bottom: 50px; }
}

/* ---------- Equal-height boxes in homepage rows ---------- */
.alivio-info .elementor-widget-wrap, .alivio-quick .elementor-widget-wrap { height: 100%; align-content: stretch; }
.alivio-info .elementor-widget-icon-box, .alivio-quick .elementor-widget-icon-box,
.alivio-info .elementor-widget-icon-box > .elementor-widget-container, .alivio-quick .elementor-widget-icon-box > .elementor-widget-container,
.alivio-info .elementor-icon-box-wrapper, .alivio-quick .elementor-icon-box-wrapper { height: 100%; }

/* ---------- Slimmer header (desktop) ---------- */
header.site-header.header-one { border-top: 0; }
@media (min-width: 1200px) {
	.header-navigation ul.navigation-box > li { padding: 12px 0; }
	.header-navigation ul.navigation-box > li > a { font-size: 17px; line-height: 44px; }
	.header-navigation ul.navigation-box > li + li { margin-left: 26px; }
}
.header-navigation .container .logo-box { padding-top: 6px; padding-bottom: 6px; }

/* ---------- Homepage v2 sections ---------- */
.alivio-btn .elementor-button { min-height: 52px; display: inline-flex; align-items: center; }
.alivio-cards .elementor-widget-wrap, .alivio-svc .elementor-widget-wrap { height: 100%; align-content: stretch; }
.alivio-cards .elementor-widget-icon-box, .alivio-cards .elementor-widget-icon-box > .elementor-widget-container { height: 100%; }
.alivio-cards .elementor-icon-box-wrapper { background: #fff; border-radius: 10px; padding: 30px 24px; height: 100%; box-shadow: 0 8px 24px rgba(5, 80, 138, .08); transition: transform .25s ease, box-shadow .25s ease; }
.alivio-cards .elementor-icon-box-wrapper:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(5, 80, 138, .16); }
.alivio-cards .elementor-icon-box-icon .elementor-icon { background: #EAF3FA; border-radius: 50%; padding: 18px; }
.alivio-svc { margin-bottom: 14px; }
.alivio-svc .elementor-widget-icon-box, .alivio-svc .elementor-widget-icon-box > .elementor-widget-container { height: 100%; }
.alivio-svc .elementor-icon-box-wrapper { background: #fff; border: 1px solid #E3ECF5; border-radius: 8px; padding: 18px 18px; height: 100%; align-items: center; transition: border-color .2s ease, box-shadow .2s ease; }
.alivio-svc .elementor-icon-box-wrapper:hover { border-color: #0870B8; box-shadow: 0 8px 20px rgba(5, 80, 138, .12); }
.alivio-svc .elementor-icon-box-title { margin: 0 !important; }
.alivio-svc .elementor-icon-box-title a { color: #1B2A49; }
.alivio-svc .elementor-icon-box-content { display: flex; align-items: center; }
.alivio-photo img { border-radius: 10px; box-shadow: 0 12px 30px rgba(5, 80, 138, .15); width: 100%; height: auto; }
.alivio-loc-card > .elementor-widget-wrap { background: #fff; border-radius: 12px; padding: 22px !important; box-shadow: 0 10px 28px rgba(5, 80, 138, .10); }
.alivio-loc-card .alivio-photo img { box-shadow: none; aspect-ratio: 16 / 9; object-fit: cover; }
@media (max-width: 767px) {
	.alivio-cards .elementor-column, .alivio-svc .elementor-column, .alivio-location .elementor-column { margin-bottom: 14px; }
}

/* ---------- Buttons side by side: same height, same baseline (hero + insurance rows) ---------- */
.alivio-btnrow > .elementor-widget-wrap, .alivio-hero .elementor-widget-wrap { align-items: flex-start; }
.elementor-widget-button.alivio-btn { margin: 0 14px 10px 0 !important; }
.alivio-btn .elementor-button { box-sizing: border-box; min-height: 52px; padding: 14px 28px !important; border-width: 2px !important; border-style: solid !important; line-height: 1.2 !important; font-size: 16px !important; }

/* ---------- Logo (new artwork, larger) ---------- */
.header-navigation .logo-box img { max-width: none; }
@media (max-width: 1299px) and (min-width: 1200px) {
	.header-navigation .logo-box img { width: 280px !important; }
	.header-navigation ul.navigation-box > li + li { margin-left: 20px; }
}
@media (max-width: 767px) {
	.header-navigation .logo-box img { width: 230px !important; }
}

/* ---------- Office tour panoramas ---------- */
.alivio-pano-wrap { margin: 0 0 36px; }
/* wide box (12:5) so the 45-degree-tall photos fill it at every screen width */
.alivio-pano-wrap .alivio-pano { width: 100%; height: auto; aspect-ratio: 12 / 5; max-height: 480px; border-radius: 10px; overflow: hidden; background: #0d1b2e; }
.alivio-pano-wrap figcaption { font-size: 14px; color: #56617a; margin-top: 8px; }
.alivio-pano-wrap figcaption a { color: #0870B8; font-weight: 600; }

/* ---------- Homepage: no star-rating box between the menu and the hero ---------- */
body.home .page-wrapper > .kk-star-ratings { display: none !important; margin: 0 !important; }

/* ---------- Tables inside posts/pages (theme shows table text in white) ---------- */
.blog-two__single .text table, .entry-content table { width: 100%; border-collapse: collapse; margin: 10px 0 28px; font-size: 16px; }
.blog-two__single .text table th, .blog-two__single .text table td,
.entry-content table th, .entry-content table td { color: #3c4656; background: #fff; border: 1px solid #dde6ef; padding: 10px 12px; text-align: left; vertical-align: top; line-height: 1.5; }
.blog-two__single .text table thead th, .entry-content table thead th { background: #0870B8; color: #fff; }
.blog-two__single .text table tbody tr:nth-child(even) td, .entry-content table tbody tr:nth-child(even) td { background: #f4f8fc; }
@media (max-width: 767px) { .blog-two__single .text table, .entry-content table { display: block; overflow-x: auto; font-size: 14px; } }
