/**
 * De Golfbal - site-breed designsysteem (override van het N7-thema, A tot Z)
 * Laadt als laatste stylesheet en bepaalt de volledige visuele identiteit.
 *
 * Inhoud:
 *  1. Tokens & basis        6. Productpagina
 *  2. Header & navigatie    7. Winkelmand & checkout
 *  3. Knoppen & formulieren 8. Mijn account
 *  4. Secties & typografie  9. Footer
 *  5. Shop & productkaarten 10. Meldingen & details
 */

/* ---------- 1. Tokens & basis ---------- */
:root {
    --dgb-ink: #1d1a0c;
    --dgb-ink-soft: #3d3a2c;
    --dgb-muted: #6e6d68;
    --dgb-green: #0b772e;
    --dgb-green-dark: #095c24;
    --dgb-olive: #818d44;
    --dgb-gold: #c9b871;
    --dgb-cream: #f8f8f4;
    --dgb-paper: #ffffff;
    --dgb-line: #e5e3d8;
    --dgb-danger: #b01e23;
    --dgb-radius: 14px;
    --dgb-radius-sm: 10px;
    --dgb-shadow: 0 10px 30px rgba(29, 26, 12, 0.08);
    --dgb-shadow-sm: 0 4px 14px rgba(29, 26, 12, 0.07);
}

body {
    color: var(--dgb-ink-soft);
    background: var(--dgb-paper);
    -webkit-font-smoothing: antialiased;
}

a { transition: color .15s ease, background .15s ease, border-color .15s ease; }
:where(a):hover { color: var(--dgb-green); }

:focus-visible {
    outline: 2px solid var(--dgb-green) !important;
    outline-offset: 2px;
}

::selection { background: rgba(11, 119, 46, .18); }

h1, h2, h3, h4, h5, h6,
.sc_item_title, .woocommerce-loop-product__title {
    color: var(--dgb-ink);
    letter-spacing: -0.01em;
}

/* ---------- 2. Header & navigatie ---------- */
.top_panel,
.sc_layouts_row,
.sc_layouts_row_type_compact,
.top_panel.top_panel_custom {
    background-color: var(--dgb-paper) !important;
}
.top_panel {
    box-shadow: 0 1px 0 var(--dgb-line);
}
/* Ook de 'over'-header van de homepage wordt een nette vaste header */
.header_position_over .top_panel,
.top_panel_over .top_panel, body.header_position_over .top_panel {
    position: relative !important;
    background: var(--dgb-paper) !important;
}

/* Logo strak en scherp */
.sc_layouts_logo img, .custom-logo, .logo_image {
    max-height: 56px !important;
    width: auto !important;
    height: auto !important;
    border-radius: 8px;
}

/* Menulinks */
.sc_layouts_menu_nav > li > a,
.menu_main_nav > li > a {
    color: var(--dgb-ink) !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.sc_layouts_menu_nav > li > a:hover,
.sc_layouts_menu_nav > li.current-menu-item > a,
.menu_main_nav > li.current-menu-item > a {
    color: var(--dgb-green) !important;
}
.sc_layouts_menu_nav > li.current-menu-item > a:after {
    background: var(--dgb-green) !important;
}

/* Iconen (zoeken, winkelmand) */
.sc_layouts_item_icon,
.search_style_normal .search_submit,
.sc_layouts_cart_icon {
    color: var(--dgb-ink) !important;
}
.sc_layouts_cart_items_short {
    background: var(--dgb-green) !important;
    color: #fff !important;
}

/* Mobiel menu-paneel */
.menu_mobile_inner {
    background: var(--dgb-ink) !important;
}
.menu_mobile_inner a { color: var(--dgb-cream) !important; }
.menu_mobile_inner a:hover { color: var(--dgb-gold) !important; }

/* Zoek-overlay */
.search_style_fullscreen.search_opened .search_form_wrap { background: var(--dgb-cream) !important; }

/* ---------- 3. Knoppen & formulieren ---------- */
.sc_button,
.sc_button_default,
button,
input[type="submit"],
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.elementor-button {
    background-color: var(--dgb-green) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: var(--dgb-radius-sm) !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition: background .15s ease, transform .1s ease !important;
}
.sc_button:hover, button:hover, input[type="submit"]:hover,
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover,
.elementor-button:hover {
    background-color: var(--dgb-green-dark) !important;
    color: #fff !important;
    transform: translateY(-1px);
}
/* Secundaire/ghost-knoppen */
.sc_button_simple, .sc_button.color_style_dark,
.woocommerce a.button.alt ~ .button:not(.alt) {
    background: transparent !important;
    color: var(--dgb-green) !important;
    border: 1.5px solid var(--dgb-green) !important;
}

/* Designer-knoppen behouden hun eigen stijl */
.dgb-designer .dgb-btn { background: var(--dgb-ink) !important; }
.dgb-designer .dgb-btn:hover { background: var(--dgb-green) !important; }
.dgb-designer .dgb-btn-ghost { background: transparent !important; color: var(--dgb-muted) !important; }

/* Kleur-swatches: rond en in hun eigen kleur (globale knopregel mag hier niet winnen) */
.dgb-designer .dgb-color {
    width: 34px !important; height: 34px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    border: 2px solid #fff !important;
    transform: none !important;
}
.dgb-designer .dgb-color[data-color="#1d1d1f"] { background: #1d1d1f !important; }
.dgb-designer .dgb-color[data-color="#0b3d91"] { background: #0b3d91 !important; }
.dgb-designer .dgb-color[data-color="#b01e23"] { background: #b01e23 !important; }
.dgb-designer .dgb-color[data-color="#0b772e"] { background: #0b772e !important; }
.dgb-designer .dgb-color[data-color="#8a6d1d"] { background: #8a6d1d !important; }

/* Invoervelden */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="number"], input[type="search"], input[type="url"], textarea, select,
.woocommerce .input-text, .select2-container--default .select2-selection--single {
    background: var(--dgb-paper) !important;
    border: 1px solid #cfcec4 !important;
    border-radius: var(--dgb-radius-sm) !important;
    color: var(--dgb-ink) !important;
    padding: 12px 14px !important;
    min-height: 48px;
    box-shadow: none !important;
}
input:focus, textarea:focus, select:focus {
    border-color: var(--dgb-green) !important;
}
.select2-container--default .select2-selection--single { display: flex; align-items: center; }
label { color: var(--dgb-ink); font-weight: 600; }

/* Aantal-veld */
.quantity input.qty {
    min-height: 48px;
    border-radius: var(--dgb-radius-sm) !important;
}

/* ---------- 4. Secties & typografie ---------- */
.sc_item_subtitle,
.sc_title .sc_item_subtitle {
    color: var(--dgb-olive) !important;
    letter-spacing: 3px !important;
    font-weight: 600 !important;
}
.scheme_dark .sc_item_subtitle { color: var(--dgb-gold) !important; }

/* Sectieritme iets compacter en rustiger */
.elementor-section, .e-con { scroll-margin-top: 90px; }

/* Breadcrumbs */
.breadcrumbs, .breadcrumbs a { color: var(--dgb-muted) !important; font-size: .85em; }
.breadcrumbs a:hover { color: var(--dgb-green) !important; }

/* Pagetitle-balk (archief/pagina-headers van het thema) */
.top_panel_title, .sc_layouts_title {
    background: var(--dgb-cream) !important;
}
.sc_layouts_title_title h1 { font-weight: 700; }

/* ---------- 5. Shop & productkaarten ---------- */
.woocommerce ul.products li.product,
ul.products li.product {
    background: var(--dgb-paper);
    border: 1px solid var(--dgb-line);
    border-radius: var(--dgb-radius) !important;
    overflow: hidden;
    transition: box-shadow .2s ease, transform .2s ease;
    padding-bottom: 18px !important;
}
.woocommerce ul.products li.product:hover {
    box-shadow: var(--dgb-shadow);
    transform: translateY(-3px);
}
.woocommerce ul.products li.product a img,
ul.products li.product img {
    background: var(--dgb-cream);
    border-radius: 0 !important;
    margin-bottom: 14px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .post_title {
    font-size: 1.05em !important;
    font-weight: 700 !important;
    padding: 0 16px;
}
.woocommerce ul.products li.product .price,
ul.products li.product .price {
    color: var(--dgb-green) !important;
    font-weight: 700 !important;
    padding: 0 16px;
}
.woocommerce ul.products li.product .button {
    margin: 10px 16px 0 !important;
}
/* Sterren */
.woocommerce .star-rating span::before, .star-rating::before { color: var(--dgb-gold) !important; }

/* Categorie-beschrijving als nette intro */
.term-description, .woocommerce-products-header .term-description {
    max-width: 760px;
    color: var(--dgb-muted);
    margin: 10px 0 24px;
}

/* Sale/badges */
.woocommerce span.onsale {
    background: var(--dgb-gold) !important;
    color: var(--dgb-ink) !important;
    border-radius: 999px !important;
    font-weight: 700;
}

/* Sidebar-widgets in shop (niet in de footer) */
.sidebar .widget, .widget_area:not(.footer_wrap) .widget {
    background: var(--dgb-cream);
    border-radius: var(--dgb-radius);
    padding: 22px !important;
}
.footer_wrap .widget, .footer_wrap .widget_area .widget {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.footer_wrap .widget a, .footer_wrap .sc_layouts_menu a { color: #e9e7da !important; }
.footer_wrap .widget a:hover { color: var(--dgb-gold) !important; }
.widget_title { font-weight: 700; }

/* ---------- 6. Productpagina ---------- */
.woocommerce div.product div.images img {
    border-radius: var(--dgb-radius);
    background: var(--dgb-cream);
}
.woocommerce div.product .product_title {
    font-weight: 700;
    letter-spacing: -0.01em;
}
.woocommerce div.product p.price {
    color: var(--dgb-green) !important;
    font-weight: 700;
    font-size: 1.5em;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border-radius: 999px !important;
    background: var(--dgb-cream) !important;
    border: 1px solid var(--dgb-line) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: var(--dgb-ink) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }

/* Verpakking/bedrukking-selects van de shop-snippets in dezelfde stijl */
.degolfbal-options select { margin-top: 6px !important; }
.degolfbal-quantity-notice {
    background: var(--dgb-cream);
    border-left: 4px solid var(--dgb-olive);
    padding: 10px 14px;
    border-radius: 8px;
    color: var(--dgb-ink);
}

/* Gerelateerde producten koptekst */
.related.products > h2, .upsells.products > h2 { font-size: 1.5em; }

/* ---------- 7. Winkelmand & checkout ---------- */
.woocommerce table.shop_table {
    border: 1px solid var(--dgb-line) !important;
    border-radius: var(--dgb-radius) !important;
    overflow: hidden;
}
.woocommerce table.shop_table th {
    background: var(--dgb-cream);
    color: var(--dgb-ink);
}
.woocommerce table.shop_table td { border-top: 1px solid var(--dgb-line) !important; }

.cart_totals, .woocommerce-checkout-review-order {
    background: var(--dgb-cream);
    border-radius: var(--dgb-radius);
    padding: 24px !important;
}
.cart_totals h2 { font-size: 1.3em; }
.woocommerce .cart-collaterals .order-total .amount { color: var(--dgb-green); }

/* Stappenindicator (1 Winkelwagen / 2 Betaling / 3 Klaar) */
.checkout_steps, .woocommerce-checkout .checkout_steps { color: var(--dgb-muted); }

/* Checkoutvelden in twee rustige kolommen; labels erboven */
.woocommerce-checkout .form-row { margin-bottom: 14px !important; }
.woocommerce form .form-row label { margin-bottom: 4px; }

#place_order {
    width: 100%;
    padding: 18px !important;
    font-size: 1.1em !important;
}

/* Betaalmethoden */
.woocommerce-checkout #payment {
    background: var(--dgb-paper) !important;
    border: 1px solid var(--dgb-line) !important;
    border-radius: var(--dgb-radius) !important;
}
.woocommerce-checkout #payment div.payment_box {
    background: var(--dgb-cream) !important;
    border-radius: var(--dgb-radius-sm);
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }

/* Kortingscode-veld: netjes stapelen op smalle schermen */
.coupon { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.coupon .input-text { min-width: 0; flex: 1 1 200px; }
.coupon .button, .coupon button { flex: 0 0 auto; white-space: nowrap; }

/* ---------- 8. Mijn account ---------- */
.woocommerce-MyAccount-navigation ul {
    display: flex; flex-wrap: wrap; gap: 8px;
    border: 0 !important; padding: 0; margin: 0 0 24px;
}
.woocommerce-MyAccount-navigation li {
    list-style: none;
    border: 1px solid var(--dgb-line) !important;
    border-radius: 999px !important;
    background: var(--dgb-paper);
}
.woocommerce-MyAccount-navigation li a {
    display: block; padding: 10px 18px;
    color: var(--dgb-ink) !important; font-weight: 600;
}
.woocommerce-MyAccount-navigation li.is-active {
    background: var(--dgb-ink) !important; border-color: var(--dgb-ink) !important;
}
.woocommerce-MyAccount-navigation li.is-active a { color: #fff !important; }

/* ---------- 9. Footer ---------- */
.footer_wrap, .footer_custom_wrap, .scheme_dark.footer_wrap {
    background-color: var(--dgb-ink) !important;
}
.footer_wrap, .footer_wrap p, .footer_wrap .widget, .footer_wrap li {
    color: #c9c7ba !important;
}
.footer_wrap a { color: #e9e7da !important; }
.footer_wrap a:hover { color: var(--dgb-gold) !important; }
.footer_wrap .sc_item_title, .footer_wrap h1, .footer_wrap h2, .footer_wrap h3,
.footer_wrap h4, .footer_wrap h5, .footer_wrap h6 { color: #fff !important; }
.footer_wrap .sc_layouts_logo img { max-height: 64px !important; border-radius: 8px; }
.footer_wrap .elementor-divider-separator { border-color: rgba(255,255,255,.14) !important; }

/* Copyrightregel */
.footer_wrap .copyright_text, .footer_wrap .sc_layouts_copyright { color: #8f8d80 !important; }

/* Scroll-to-top */
.trx_addons_scroll_to_top {
    background: var(--dgb-green) !important;
    color: #fff !important;
    border-radius: 12px !important;
    border: 0 !important;
}
.trx_addons_scroll_to_top:hover { background: var(--dgb-green-dark) !important; }

/* ---------- 10. Meldingen & details ---------- */
.woocommerce-message, .woocommerce-info {
    background: var(--dgb-cream) !important;
    border-top-color: var(--dgb-green) !important;
    color: var(--dgb-ink) !important;
    border-radius: 0 0 var(--dgb-radius-sm) var(--dgb-radius-sm);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--dgb-green) !important; }
.woocommerce-error {
    border-top-color: var(--dgb-danger) !important;
    border-radius: 0 0 var(--dgb-radius-sm) var(--dgb-radius-sm);
}
.woocommerce-message .button, .woocommerce-info .button { background: var(--dgb-ink) !important; }

/* Winkelmand-notice van snippet 45 in huisstijl */
.woocommerce-cart .woocommerce > div[style*="border-left"] { border-left-color: var(--dgb-olive) !important; }

/* Tabellen in content (specificaties) */
.entry-content table, .woocommerce-Tabs-panel table { border-radius: var(--dgb-radius-sm); overflow: hidden; }

/* CF7-formulier */
.wpcf7 input[type="submit"] { width: auto; padding: 14px 32px !important; }
.wpcf7-response-output { border-radius: var(--dgb-radius-sm) !important; }

/* Paginering */
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; gap: 6px; display: inline-flex; }
.woocommerce nav.woocommerce-pagination ul li {
    border: 1px solid var(--dgb-line) !important;
    border-radius: 10px !important; overflow: hidden;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--dgb-green) !important; color: #fff !important;
}

/* 404 en lege staten */
.post_item_none_search .page_title, .post_item_404 .page_title { color: var(--dgb-ink); }

/* Cookiemelding (WP GDPR) */
#wpgdprc-consent-bar, .wpgdprc-consent-bar {
    background: var(--dgb-ink) !important;
    border-radius: 0;
}
#wpgdprc-consent-bar a, .wpgdprc-consent-bar a { color: var(--dgb-gold) !important; }
#wpgdprc-consent-bar .wpgdprc-button, .wpgdprc-consent-bar button {
    background: var(--dgb-green) !important; border-radius: 8px !important;
}

/* Rustig beeld: geen agressieve schaduwen/gradients van het thema */
.sc_layouts_row_type_normal, .sc_layouts_row_delimiter { box-shadow: none !important; }

/* Mobiel: comfortabele maten */
@media (max-width: 767px) {
    .sc_layouts_logo img { max-height: 44px !important; }
    h1, .sc_layouts_title_title h1 { font-size: 1.9em !important; }
    .woocommerce ul.products li.product { margin-bottom: 18px !important; }
    #place_order { font-size: 1em !important; }
}

/* ---------- 11. Feedbackronde-fixes ---------- */

/* Geen horizontale scroll of uitstekende elementen, op geen enkel formaat */
html, body { overflow-x: clip !important; max-width: 100vw; }
img, video, iframe { max-width: 100%; height: auto; }

/* Volledige breedte voor gemarkeerde secties (hero e.d.), zonder Elementor-JS */
.dgb-bleed {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* Geen lelijke afbreekstreepjes in koppen */
h1, h2, h3, h4, .sc_item_title, .woocommerce-loop-product__title {
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal;
}
p, li { overflow-wrap: anywhere; hyphens: none; }

/* Menulinks altijd leesbaar, ook het actieve item op elke headervariant.
   Het thema kleurt a EN span apart; beide expliciet overschrijven. */
body .top_panel .sc_layouts_menu_nav > li > a,
body .top_panel .sc_layouts_menu_nav > li > a span,
body .top_panel .menu_main_nav > li > a,
body .top_panel .menu_main_nav > li > a span {
    color: var(--dgb-ink) !important;
    opacity: 1 !important;
}
body .top_panel .sc_layouts_menu_nav > li[class*="current"] > a,
body .top_panel .sc_layouts_menu_nav > li[class*="current"] > a span,
body .top_panel .menu_main_nav > li[class*="current"] > a,
body .top_panel .menu_main_nav > li[class*="current"] > a span,
body .top_panel .sc_layouts_menu_nav > li > a:hover,
body .top_panel .sc_layouts_menu_nav > li > a:hover span {
    color: var(--dgb-green) !important;
}

/* Donkere secties: koppen en tekst altijd licht */
.scheme_dark h1, .scheme_dark h2, .scheme_dark h3, .scheme_dark h4,
.scheme_dark h5, .scheme_dark h6,
.scheme_dark .sc_item_title, .scheme_dark .sc_item_title_text,
section.scheme_dark .elementor-heading-title {
    color: #fff !important;
}
.scheme_dark, .scheme_dark p, .scheme_dark li { color: #d9d7ca; }
.scheme_dark .sc_item_subtitle { color: var(--dgb-gold) !important; }

/* Alleen echte actieknoppen groen; icoon- en hulpknoppen neutraal laten */
.menu_mobile_button, .menu_mobile_close, button.mfp-close, .mfp-close,
.search_style_fullscreen .search_submit, .search_wrap .search_submit,
.sc_layouts_item_icon, .q_inc, .q_dec,
button[class*="close"], .woocommerce a.remove {
    background: transparent !important;
    color: inherit !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none !important;
}
.woocommerce a.remove { color: var(--dgb-danger) !important; }
.woocommerce a.remove:hover { background: transparent !important; color: #7c1518 !important; }

/* Full-bleed secties: inhoud netjes gecentreerd binnen een leesbare breedte */
.dgb-bleed > .elementor-container {
    max-width: 1140px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px;
    padding-right: 24px;
}
.dgb-bleed .elementor-widget-text-editor {
    max-width: 680px;
    margin-left: auto !important;
    margin-right: auto !important;
}
.dgb-bleed .elementor-widget-text-editor p { text-align: center; }

/* Productgalerij: sliderrails en zoom-afbeeldingen nooit buiten beeld laten duwen */
.woocommerce-product-gallery, .flex-viewport { overflow: hidden !important; }
.page_wrap { overflow-x: clip; }

/* Populaire teksten: chips */
.dgb-chips {
    display: flex; flex-wrap: wrap; gap: 12px;
    justify-content: center;
    list-style: none; margin: 8px 0 0; padding: 0;
}
.dgb-chips li {
    background: var(--dgb-paper);
    border: 1px solid var(--dgb-line);
    border-radius: 999px;
    padding: 12px 22px;
    font-weight: 600;
    color: var(--dgb-ink);
    box-shadow: var(--dgb-shadow-sm);
    font-size: 1.02em;
}
.dgb-chips li:nth-child(odd) { background: var(--dgb-cream); }

/* Gelegenheden-kaarten: subtiele hover */
.elementor-widget-image a img { transition: transform .25s ease, box-shadow .25s ease; }
.elementor-widget-image a:hover img { transform: translateY(-4px); box-shadow: var(--dgb-shadow); }
.elementor-widget-heading a { color: var(--dgb-ink); }
.elementor-widget-heading a:hover { color: var(--dgb-green); }

/* Sticky header compact bij scrollen */
.sc_layouts_row_fixed_on { box-shadow: 0 4px 20px rgba(29,26,12,.08) !important; }

/* Tablet: koppen en secties in verhouding */
@media (min-width: 768px) and (max-width: 1024px) {
    h1 { font-size: 2.4em !important; }
    .dgb-designer { grid-template-columns: 1fr; }
}
