/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


html {
    font-size: 16px; /* Custom base size */
}

/* ─── Underline content links by default.
       Buttons, nav menus, header/footer chrome, and image/icon-only links
       are excluded. Uses !important because Elementor's frontend.css and
       per-post compiled CSS both set a { text-decoration: none } with
       weight high enough to beat the child theme stylesheet. ─── */
a,
a:link,
a:visited {
    text-decoration: underline !important;
    text-underline-offset: 0.15em;
}

/* Buttons (Elementor, Gutenberg, generic) */
a.elementor-button,
.elementor-button,
.elementor-button-link,
a.wp-block-button__link,
.wp-block-button__link,
a.button,
a.btn,
[class*=" btn-"],
[class^="btn-"],
[role="button"],

/* MG-specific coupon CTAs */
.mg-call-cta,
.mg-coupon-button,
.offer-body,
.offers .offer .offer-footer a,

/* Navigation menus & site chrome */
header a,
footer a,
nav a,
.elementor-nav-menu a,
.elementor-nav-menu--main a,
.menu-item a,
.elementor-menu-cart a,
.elementor-search-form a,
.custom-logo-link,
.elementor-icon,
.elementor-social-icon,

/* Elementor header / footer / top-bar templates (real markup is a div,
   not <header>/<footer>, so the tag selectors above miss them). */
.elementor-location-header a,
.elementor-location-header a *,
.elementor-location-footer a,
.elementor-location-footer a *,
[data-elementor-type="header"] a,
[data-elementor-type="footer"] a,
[data-elementor-type="archive"] .elementor-heading-title a,

/* Common top-bar / copyright wrapper classes */
.top-bar a,
.topbar a,
.site-top-bar a,
.copyright a,
.site-copyright a,
[class*="top-bar"] a,
[class*="copyright"] a,

/* Image-only / icon-only links */
a:has(> img:only-child),
a:has(> svg:only-child),
a:has(> picture:only-child),
a > img,
a.elementor-icon,

/* Headings (post titles in the blog loop, etc.) — kill underline
   both when the <a> is inside the heading AND when the <a> wraps
   the heading (text-decoration paints from the parent anchor). */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
a:has(h1), a:has(h2), a:has(h3), a:has(h4), a:has(h5), a:has(h6),
.elementor-heading-title a,
.elementor-post__title a,
.elementor-post__title,

/* WP admin bar (front-end) */
#wpadminbar a,
#wpadminbar .ab-item,
.wp-admin a {
    text-decoration: none !important;
}
a.elementor-button:hover,
.elementor-button:hover,
a.wp-block-button__link:hover,
a.button:hover,
header a:hover,
footer a:hover,
nav a:hover,
.elementor-nav-menu a:hover,
.menu-item a:hover,
.mg-call-cta:hover,
.mg-coupon-button:hover,
.elementor-location-header a:hover,
.elementor-location-footer a:hover,
[data-elementor-type="header"] a:hover,
[data-elementor-type="footer"] a:hover,
.top-bar a:hover,
[class*="top-bar"] a:hover,
[class*="copyright"] a:hover {
    text-decoration: none !important;
}

/* ─── Content links (in paragraphs, lists, blockquotes) render medium-weight.
       Excludes buttons, nav-menu items, and Elementor icon-list items. ─── */
p a,
li:not(.menu-item):not(.elementor-icon-list-item) a,
blockquote a,
.elementor-widget-text-editor a {
    font-weight: 500;
}
p a.elementor-button,
p a.wp-block-button__link,
p a.button,
p a.btn,
p a.mg-call-cta,
p a.mg-coupon-button,
nav p a,
header p a,
footer p a,
#wpadminbar a,
#wpadminbar p a {
    font-weight: inherit;
}

/* ─── Elementor ribbon — restores base rules missing from custom-frontend.min.css ─── */
.elementor-ribbon {
    position: absolute;
    z-index: 1;
    top: 0;
    direction: ltr;
    line-height: 1.5;
    width: 150px;
}
.elementor-ribbon.elementor-ribbon-left  { left: -8px;  right: auto; }
.elementor-ribbon.elementor-ribbon-right { right: -8px; left: auto;  }

