/*
Theme Name: D.A. Seaman Optometrists
Theme URI: https://daseaman.org.uk
Description: Child theme of Hello Elementor for the D.A. Seaman Optometrists Elementor Pro build. Holds only the styling that Elementor's native controls cannot express.
Author: Innuvo
Template: hello-elementor
Version: 1.0.0
Text Domain: daseaman
*/

/* Styling that Elementor's native controls cannot express lives here.
   Each rule is annotated with the reference selector it reproduces. */

/* ---------------------------------------------------------------
   Reset parity: `a { color: inherit }` — Elementor has no "inherit"
   option for link colour, so inline links in Text Editor copy inherit.
   Hello Elementor colours every <a> #c36; the reference resets to inherit.
   --------------------------------------------------------------- */
a { color: inherit; }
.elementor-widget-text-editor a:not(.text-link) { color: inherit; }
/* .footer-links a:hover, .footer-contact a:hover */
.da-site-footer .elementor-widget-text-editor a:hover { color: #E51714; }

/* .text-link — inline links inside Text Editor copy (no widget covers these) */
.text-link { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; font-weight: 600; font-size: 0.92rem; color: #E51714; border-bottom: 1px solid transparent; padding-bottom: 2px; }
.text-link:hover { border-bottom-color: #E51714; }

/* .btn:hover { transform: translateY(-1px) } — Button widget has no hover translate control */
.da-btn .elementor-button, .elementor-form .elementor-button { transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease; }
.da-btn .elementor-button:hover, .elementor-form .elementor-button:hover { transform: translateY(-1px); }

/* .breadcrumb { gap: .5rem } and span[aria-current] */
.da-breadcrumb .da-breadcrumb__sep { margin: 0 .5rem; }
.da-breadcrumb [aria-current] { color: #22262B; font-weight: 500; }
.da-breadcrumb a:hover { color: #E51714; }

/* Reset parity: p { max-width: 62ch } (Elementor has no paragraph max-width control); .callout-card p { max-width: none } */
.elementor-widget-text-editor p { max-width: 62ch; }
.da-callout-text p, .da-breadcrumb p, .da-footer-bottom p { max-width: none; }

/* p:last-child { margin-bottom: 0 } (.content-copy, .practice-card, .empty-card, .callout-card) */
.da-flush p:last-child { margin-bottom: 0; }

/* Nav dropdown: .dropdown { padding: .5rem; min-width: 190px } + item radius — no widget controls exist for these */
.da-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown { padding: .5rem; min-width: 190px; }
.da-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown a.elementor-sub-item { border-radius: 8px; }
/* .nav-list a.active on the Services parent when a child page is current */
.da-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-nav-menu li.current-menu-ancestor.menu-item > a.elementor-item.has-submenu { color: #E51714; }
.da-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-nav-menu li.current-menu-ancestor.menu-item > a.elementor-item.has-submenu:after { width: 100%; background-color: #E51714; }
/* Mobile menu (≤720px): .nav-list { padding: .5rem 1.5rem 1rem; border-bottom } .nav-list > li > a { padding: .7rem 0 } .dropdown { padding-left: 1rem } */
@media (max-width: 720px) {
  .da-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { padding: .5rem 1.5rem 1rem; border-bottom: 1px solid #E3E8EC; }
  .da-nav.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown > ul > li > a.elementor-item { padding: .7rem 0; }
  .da-nav .elementor-nav-menu--dropdown .sub-menu { padding-left: 1rem; }
}

/* Lists inside Text Editor copy: .empty-card ul / .longform ul */
.da-list ul, .da-longform .elementor-widget-text-editor ul { list-style: disc; padding-left: 1.25rem; margin: 0 0 1rem; color: #5B6470; }
.da-list ul { margin-bottom: 0; }
.da-list li, .da-longform .elementor-widget-text-editor li { margin-bottom: .45rem; }
.da-list li:last-child { margin-bottom: 0; }
.da-longform strong { color: #22262B; font-weight: 600; }
/* .policy-table */
.da-longform .policy-table { width: 100%; border-collapse: collapse; margin: 0 0 1.75rem; font-size: 0.92rem; color: #5B6470; }
.da-longform .policy-table th, .da-longform .policy-table td { text-align: left; padding: .55rem .75rem; border-bottom: 1px solid #E3E8EC; }
.da-longform .policy-table th { font-family: 'Inter', sans-serif; font-weight: 600; color: #22262B; background: #F5F8FA; }

/* .contact-map { aspect-ratio: 4 / 3 } — Google Maps widget only offers a fixed height */
.da-contact-map iframe { height: auto !important; aspect-ratio: 4 / 3; width: 100%; }
/* .form-field textarea { min-height: 160px; resize: vertical } */
.da-contact-form textarea { min-height: 160px; resize: vertical; }

/* :focus-visible ring and reduced-motion, from the reset */
:focus-visible { outline: 2px solid #E51714; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
