/*!
Theme Name: dse
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: dse
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

dse is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */


/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
    display: block;
    width: 100%;
}

.main-navigation ul {
    display: none;
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.main-navigation ul ul {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    float: left;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
}

.main-navigation ul ul ul {
    left: -999em;
    top: 0;
}

/* Commented out to prevent Level 3 sub-submenus from displaying on hover on desktop
.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
    display: block;
    left: auto;
}
*/

.main-navigation ul ul a {
    width: 200px;
}

.main-navigation li:not(.sub-menu li):hover > ul,
.main-navigation li:not(.sub-menu li).focus > ul {
    left: auto;
}

.main-navigation li {
    position: relative;
}

.main-navigation a {
    display: block;
    text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
    display: block;
}

@media screen and (min-width: 37.5em) {
    .menu-toggle {
        display: none;
    }

    .main-navigation ul {
        display: flex;
    }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
    display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    text-align: end;
    flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
    display: block;
}

.post,
.page {
    margin: 0 0 1.5em;
}

.updated:not(.published) {
    display: none;
}

.page-content,
.entry-content,
.entry-summary {
    margin: 1.5em 0 0;
}

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
    margin: 0 0 1.5em;
}

.widget select {
    max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
    display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
}

.wp-caption-text {
    text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
    margin-bottom: 1.5em;
    display: grid;
    grid-gap: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    width: 100%;
}

.gallery-columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
    grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
    grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
    grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
    display: block;
}

/* Single column block gallery for explicit columns-1 */
.wp-block-gallery.columns-1,
.wp-block-gallery.columns-1.has-nested-images,
.wp-block-gallery.columns-1.is-layout-flex {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    margin-bottom: 2rem !important;
}

.wp-block-gallery.columns-1 > figure.wp-block-image,
.wp-block-gallery.columns-1 .wp-block-image,
.wp-block-gallery.columns-1 > figure {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    flex: 0 0 100% !important;
}

.wp-block-gallery.columns-1 img {
    width: 100% !important;
    height: auto !important;
    display: block;
    border-radius: 4px;
}

/* Production page photo gallery: 1 column on mobile screens only (<= 767px) */
@media (max-width: 767px) {
    .page-id-348 .wp-block-gallery,
    .page-id-1140 .wp-block-gallery {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
        margin-bottom: 1.5rem !important;
    }

    .page-id-348 .wp-block-gallery > figure.wp-block-image,
    .page-id-348 .wp-block-gallery .wp-block-image,
    .page-id-348 .wp-block-gallery > figure,
    .page-id-1140 .wp-block-gallery > figure.wp-block-image,
    .page-id-1140 .wp-block-gallery .wp-block-image,
    .page-id-1140 .wp-block-gallery > figure {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        flex: 0 0 100% !important;
    }

    .page-id-348 .wp-block-gallery img,
    .page-id-1140 .wp-block-gallery img {
        width: 100% !important;
        height: auto !important;
        display: block;
        border-radius: 4px;
    }
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
    display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
    display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* My Account dashboard summary */
.dse-account-summary {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.dse-account-summary__details {
    flex: 1;
}

.dse-account-summary__list {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dse-account-summary__row {
    display: flex;
    gap: 24px;
}

.dse-account-summary__row dt {
    width: 160px;
    color: #6b7280;
    font-weight: 500;
}

.dse-account-summary__row dd {
    margin: 0;
    color: #111827;
    font-weight: 500;
}

.dse-account-summary__actions {
    min-width: 220px;
    padding-left: 32px;
    border-left: 1px solid #e5e7eb;
}

.dse-account-summary__link {
    display: block;
    color: #2563eb;
    text-decoration: none;
    margin-bottom: 16px;
    font-weight: 500;
}

.dse-account-summary__link:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .dse-account-summary {
        flex-direction: column;
        gap: 24px;
    }

    .dse-account-summary__actions {
        padding-left: 0;
        border-left: 0;
    }
}

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
    outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
    /*rtl:ignore*/
    float: left;

    /*rtl:ignore*/
    margin-right: 1.5em;
    margin-bottom: 1.5em;
}

.alignright {
    /*rtl:ignore*/
    float: right;

    /*rtl:ignore*/
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
}

/* Sticky Footer */
#page.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
}

.site-header {
    flex-shrink: 0;
    width: 100%;
}

#primary,
.site-main {
    flex-grow: 1;
    width: 100%;
}

.site-footer {
    margin-top: auto;
    flex-shrink: 0;
    width: 100%;
}

/* WooCommerce gallery image clickable styling */
.woocommerce-product-gallery__image a,
.woocommerce-product-gallery__image img,
.zoomImg {
    cursor: pointer;
}

/* Hide WooCommerce gallery magnifier/trigger button */
.woocommerce-product-gallery__trigger {
    display: none !important;
}

@import "assets/css/tailwind.css";

/* Make Fancybox backdrop background transparent */
.fancybox__container {
    --fancybox-backdrop-bg: rgba(205, 205, 205, 0.8) !important;
}

/* Set zoom-out cursor when Fancybox is opened on product gallery */
.fancybox-product-gallery .f-panzoom__viewport,
.fancybox-product-gallery .f-panzoom__content {
    cursor: zoom-out !important;
}

/* ==========================================================================
   Fancybox Navigation Arrows Styling & Dynamic Positioning
   ========================================================================== */
.fancybox__container .f-button.is-arrow {
    --f-arrow-width: 34px;
    --f-arrow-height: 34px;
    --f-arrow-svg-width: 16px;
    --f-arrow-svg-height: 16px;
    --f-arrow-svg-stroke-width: 2.2px;
    --f-arrow-border-radius: 9999px;
    --f-arrow-bg: rgba(255, 255, 255, 0.5);
    --f-arrow-hover-bg: rgba(255, 255, 255, 0.8);
    --f-arrow-color: #1f2937;
    --f-arrow-hover-color: #000000;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 9999px !important;
    background: rgba(255, 255, 255, 0.5) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
    color: #1f2937 !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, opacity 0.2s ease, color 0.2s ease !important;
    z-index: 50 !important;
}

.fancybox__container .f-button.is-arrow:hover {
    background: rgba(255, 255, 255, 0.8) !important;
    color: #000000 !important;
}

.fancybox__container .f-button.is-arrow svg {
    width: 16px !important;
    height: 16px !important;
    stroke-width: 2.2px !important;
}

.fancybox__container .f-button.is-arrow:before {
    inset: -6px !important;
}

/* Dynamic positioning relative to image edges via CSS variables */
.fancybox__container .f-button.is-arrow.is-prev {
    top: var(--f-arrow-top, 50%) !important;
    left: var(--f-arrow-prev-left, 20px) !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
}

.fancybox__container .f-button.is-arrow.is-next {
    top: var(--f-arrow-top, 50%) !important;
    left: var(--f-arrow-next-left, calc(100% - 54px)) !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
}

/* Ensure slide leaves enough margin for external arrows (34px + 15px gap) on desktop */
@media (min-width: 768px) {
    .fancybox-product-gallery .fancybox__slide {
        padding-left: 65px !important;
        padding-right: 65px !important;
    }
}

/* Comment & Question Reactions styling */
button.dse-question-item__vote-group {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    font: inherit !important;
    color: inherit !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    transition: opacity 0.2s, transform 0.1s !important;
    outline: none !important;
    box-shadow: none !important;
}

button.dse-question-item__vote-group:hover {
    opacity: 0.8 !important;
}

button.dse-question-item__vote-group:active {
    transform: scale(0.95) !important;
}

button.dse-question-item__vote-group:disabled {
    cursor: not-allowed !important;
    opacity: 0.5 !important;
}

/* Highlight voted state with solid color */
button.dse-question-item__vote-group.is-voted--like svg {
    fill: #2bae41 !important;
}

button.dse-question-item__vote-group.is-voted--dislike svg {
    fill: #f76652 !important;
}

/* Color the vote counts specifically */
.dse-question-item__vote-group--like .dse-question-item__vote-count {
    color: #2bae41 !important;
}

.dse-question-item__vote-group--dislike .dse-question-item__vote-count {
    color: #f76652 !important;
}

/* Custom Close Button for Fancybox */
button.f-button.dse-fancybox-close-btn,
.fancybox__button--close,
.fancybox-button--close {
    overflow: visible !important;
    cursor: pointer !important;
    background: transparent !important;
    border: 0 !important;
    -webkit-appearance: none !important;
    display: block !important;
    padding: 0 !important;
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    text-decoration: none !important;
    text-align: center !important;
    opacity: 0.65 !important;
    color: white !important;
    font-style: normal !important;
    font-size: 28px !important;
    box-shadow: none !important;
    z-index: 1000 !important;
    transition: opacity 0.15s ease, color 0.15s ease !important;
}

button.f-button.dse-fancybox-close-btn:hover,
.fancybox__button--close:hover,
.fancybox-button--close:hover {
    opacity: 1 !important;
    color: white !important;
    background: transparent !important;
}

button.f-button.dse-fancybox-close-btn svg,
.fancybox__button--close svg,
.fancybox-button--close svg {
    display: none !important;
}

@media (max-width: 767px) {
    /* Запас від фото до країв екрану 6px на мобільних */
    .fancybox__slide {
        padding: 6px !important;
    }
}

/* Форма співпраці: відступ від кнопки до низу форми та галочка біля тексту кнопки */
.wpcf7-form {
    padding-bottom: 28px !important;
}

.wpcf7-form textarea {
    width: 100% !important;
    border: 1px solid #ccc !important;
    background: #fff !important;
    outline: none !important;
    padding: 8px 10px !important;
    box-sizing: border-box !important;
    min-height: 140px;
    resize: vertical;
    font-family: inherit;
    font-size: inherit;
}

.wpcf7-form textarea:focus {
    border: 1px solid #8e898a !important;
    -webkit-box-shadow: 0px 0px 3px rgba(142, 137, 138, 0.95) !important;
    -moz-box-shadow: 0px 0px 3px rgba(142, 137, 138, 0.95) !important;
    box-shadow: 0px 0px 3px rgba(142, 137, 138, 0.95) !important;
    outline: none !important;
}

.wpcf7-form input[type="submit"],
.wpcf7-form button[type="submit"],
.wpcf7-submit {
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 217px !important;
    padding: 0 24px !important;
    text-align: center !important;
}

.wpcf7-form input[type="submit"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5.5 5.5L20 6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: calc(50% - 74px) center !important;
    background-size: 16px 16px !important;
}

@media (min-width: 768px) {
    .wpcf7-form input[type="submit"],
    .wpcf7-form button[type="submit"],
    .wpcf7-submit {
        width: auto !important;
        display: inline-flex !important;
    }

    .wpcf7-form .align-right {
        text-align: right !important;
    }

    .wpcf7-form .align-right p {
        text-align: right !important;
        display: flex !important;
        justify-content: flex-end !important;
    }
}

.wpcf7-form button[type="submit"],
button.wpcf7-submit {
    background-image: none !important;
    padding: 0 24px !important;
}

/* Modal form overrides: zero bottom padding on form/p and full-width green button */
.dse-callback-modal .wpcf7-form,
.dse-availability-modal__dialog .wpcf7-form,
.dse-resume-modal .wpcf7-form,
.dse-login-modal .wpcf7-form {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.dse-callback-modal .wpcf7-form > p,
.dse-availability-modal__dialog .wpcf7-form > p,
.dse-resume-modal .wpcf7-form > p {
    margin-bottom: 0 !important;
}

.dse-callback-modal .wpcf7-form input[type="submit"],
.dse-callback-modal .wpcf7-form button[type="submit"],
.dse-callback-modal .wpcf7-submit,
.dse-callback-modal .dse-submit-btn,
.dse-callback-modal__submit {
    background-color: #009e1a !important;
    color: #ffffff !important;
    width: 100% !important;
    display: flex !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

.dse-callback-modal .wpcf7-form input[type="submit"]:hover,
.dse-callback-modal .wpcf7-form button[type="submit"]:hover,
.dse-callback-modal .wpcf7-submit:hover,
.dse-callback-modal .dse-submit-btn:hover,
.dse-callback-modal__submit:hover {
    background-color: #008215 !important;
}

/* Приховати WordPress admin bar (панель адміністратора) на мобільних пристроях */
@media (max-width: 782px) {
    #wpadminbar {
        display: none !important;
    }
    html,
    html.wp-toolbar {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    * html body {
        margin-top: 0 !important;
    }
}

/* Відступ 10px між слайдами при пролистуванні слайдера в товарі (без накопичення зсуву слайдів) */
.woocommerce div.product div.images .flex-viewport {
    overflow: hidden !important;
}

.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image {
    padding: 0 !important;
    border: none !important;
}

.woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__image > * {
    display: block !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Стандартні сповіщення WooCommerce (простий текст) */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-notice,
.woocommerce-Message,
.wc-block-components-notice-banner {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 0 1.5rem 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: inherit !important;
    font-weight: 400 !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.5rem 1rem !important;
    min-height: 0 !important;
}

/* Приховати іконки сповіщень */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-notice::before,
.woocommerce-Message::before,
.wc-block-components-notice-banner > svg {
    display: none !important;
    content: none !important;
}

/* Скинути списки у помилках */
ul.woocommerce-error {
    list-style: none !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
}

ul.woocommerce-error li {
    margin-bottom: 0.5rem !important;
    padding: 0 !important;
}

/* Посилання / кнопки в сповіщеннях ("Перегляд товарів" тощо) */
.woocommerce-info .button,
.woocommerce-info .wc-forward,
.woocommerce-info a,
.woocommerce-message .button,
.woocommerce-message .wc-forward,
.woocommerce-message a,
.woocommerce-error .button,
.woocommerce-error .wc-forward,
.woocommerce-error a,
.woocommerce-notice .button,
.woocommerce-notice .wc-forward,
.woocommerce-notice a,
.woocommerce-Message .button,
.woocommerce-Message .wc-forward,
.woocommerce-Message a,
.wc-block-components-notice-banner .button,
.wc-block-components-notice-banner .wc-forward,
.wc-block-components-notice-banner a {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    color: #005496 !important;
    font-weight: 400 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: underline !important;
    box-shadow: none !important;
    float: none !important;
    display: inline !important;
    line-height: inherit !important;
}

.woocommerce-info .button:hover,
.woocommerce-info .wc-forward:hover,
.woocommerce-info a:hover,
.woocommerce-message .button:hover,
.woocommerce-message .wc-forward:hover,
.woocommerce-message a:hover,
.woocommerce-error .button:hover,
.woocommerce-error .wc-forward:hover,
.woocommerce-error a:hover,
.woocommerce-notice .button:hover,
.woocommerce-notice .wc-forward:hover,
.woocommerce-notice a:hover,
.woocommerce-Message .button:hover,
.woocommerce-Message .wc-forward:hover,
.woocommerce-Message a:hover,
.wc-block-components-notice-banner .button:hover,
.wc-block-components-notice-banner .wc-forward:hover,
.wc-block-components-notice-banner a:hover {
    color: #003e70 !important;
    text-decoration: underline !important;
    background: transparent !important;
}

/* ==========================================================================
   Blog & Product description typography reset (Overrides hardcoded inline styles)
   ========================================================================== */
.single-post .entry-content span,
.single-post .entry-content p,
.single-post .entry-content li,
.post .entry-content span,
.post .entry-content p,
.post .entry-content li,
.woocommerce-Tabs-panel span,
.woocommerce-Tabs-panel p,
.woocommerce-Tabs-panel li,
.woocommerce-Tabs-panel a,
.woocommerce-tabs .panel span,
.woocommerce-tabs .panel p,
.woocommerce-tabs .panel li,
.woocommerce-product-details__short-description span,
.woocommerce-product-details__short-description p,
.woocommerce-product-details__short-description li,
.product-short-description span,
.product-short-description p,
.product-short-description li,
.single-product .entry-content span,
.single-product .entry-content p,
.single-product .entry-content li {
    font-size: inherit !important;
    line-height: inherit !important;
    font-family: inherit !important;
}

/* Headings: prevent inline span/strong from breaking heading font-weight and font-size */
.woocommerce-Tabs-panel h1 span,
.woocommerce-Tabs-panel h2 span,
.woocommerce-Tabs-panel h3 span,
.woocommerce-Tabs-panel h4 span,
.woocommerce-Tabs-panel h5 span,
.woocommerce-Tabs-panel h6 span,
.woocommerce-Tabs-panel h1 strong,
.woocommerce-Tabs-panel h2 strong,
.woocommerce-Tabs-panel h3 strong,
.woocommerce-Tabs-panel h4 strong,
.woocommerce-Tabs-panel h5 strong,
.woocommerce-Tabs-panel h6 strong,
.single-post .entry-content h1 span,
.single-post .entry-content h2 span,
.single-post .entry-content h3 span,
.single-post .entry-content h4 span,
.single-post .entry-content h5 span,
.single-post .entry-content h6 span,
.single-post .entry-content h1 strong,
.single-post .entry-content h2 strong,
.single-post .entry-content h3 strong,
.single-post .entry-content h4 strong,
.single-post .entry-content h5 strong,
.single-post .entry-content h6 strong {
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

/* Product Info Sidebar Category Content Override */
.product-info-sidebar-category-content h2,
.product-info-sidebar-category-content h3,
.product-info-sidebar-category-content h4,
.product-info-sidebar-category-content h5,
.product-info-sidebar-category-content h6,
.product-info-sidebar-category-content .wp-block-heading {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 500;
    margin-bottom: 8px;
}

.product-info-sidebar-category-content p {
    margin-bottom: 20px;
}

.product-info-sidebar-category-content ul,
.product-info-sidebar-category-content ol {
    margin-bottom: 20px;
    padding-left: 1.25rem;
    list-style-type: disc;
}

.product-info-sidebar-category-content a {
    color: #0284c7;
    text-decoration: underline;
}

.product-info-sidebar-category-content a:hover {
    color: #f59e0b;
}

/* ==========================================================================
   intl-tel-input integration for Contact Form 7 & Modals
   ========================================================================== */
.iti {
    display: block !important;
    width: 100% !important;
    margin-bottom: 8px;
}

.iti input[type="tel"] {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Ensure dropdown appears on top of all modal dialogs */
.iti__dropdown-content {
    z-index: 100050 !important;
    font-size: 14px;
}

.iti--separate-dial-code .iti__selected-dial-code {
    font-size: 14px;
    color: #323232;
}

/* Red border when phone validation fails */
.iti input[type="tel"].wpcf7-not-valid,
.iti input[type="tel"][aria-invalid="true"] {
    border-color: #dc3232 !important;
}

/* Validation error tip matching Contact Form 7 style */
.dse-phone-error {
    display: block;
    color: #dc3232;
    font-size: 13px;
    font-weight: normal;
    margin-top: 4px;
    margin-bottom: 8px;
    line-height: 1.3;
}












