/*
Theme Name:  OceanWP Child – Spandoeken Shop
Description: Child theme van OceanWP in de digiworx-huisstijl (wit/zwart/rood, DM Sans) voor de spandoeken dropshipping shop.
Author:      Koen
Template:    oceanwp
Version:     2.0.0
Text Domain: oceanwp-child
*/

/* ==========================================================================
   Kleuren & basis — digiworx-huisstijl
   ========================================================================== */
:root {
	--ss-bg:        #FFFFFF;
	--ss-surface:   #FFFFFF;
	--ss-text:      #111111;
	--ss-muted:     #6B6B6B;
	--ss-accent:    #E30616;  /* digiworx-rood */
	--ss-accent-d:  #B8050F;
	--ss-dark:      #000000;
	--ss-line:      #E6E6E6;
	--ss-tint:      #FDE9EA;  /* lichte roodtint */
	--ss-gray:      #F5F5F5;
	--ss-radius:    0px;
	--ss-shadow:    0 4px 18px rgba(0, 0, 0, 0.06);
	/* Oude namen behouden zodat templates blijven werken */
	--ss-green:     #E30616;
	--ss-yellow:    #FFFFFF;
}

/* Probo Connect (configurator, uploader, verzendopties) — zelfde huisstijl.
   Dubbele :root voor hogere specificiteit dan de plugin-CSS die later laadt. */
:root:root {
	--connect-color-primary:        #E30616;
	--connect-color-primary-hover:  #B8050F;
	--connect-color-primary-active: #B8050F;
	--connect-color-bg-primary:     #FFFFFF;
	--connect-color-bg-secondary:   #F5F5F5;
	--connect-color-text-primary:   #111111;
	--connect-color-text-secondary: #6B6B6B;
	--connect-color-text-accent-1:  #E30616;
	--connect-button-bg:            #E30616;
	--connect-button-color:         #FFFFFF;
	--connect-font-family-primary:  "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--connect-radius:               0px;
	--connect-box-shadow:           0 4px 18px rgba(0, 0, 0, 0.06);
	--connect-border:               1px solid #E6E6E6;
	--connect-color-success:        #1E8E3E;
	--connect-color-warning:        #F9A825;
	--connect-color-error:          #E30616;
	--connect-color-pending:        #6B6B6B;
	--connect-color-success-text:   #FFFFFF;
	--connect-color-warning-text:   #111111;
	--connect-color-error-text:     #FFFFFF;
	--connect-color-pending-text:   #FFFFFF;
}

body {
	background-color: var(--ss-bg);
	color: var(--ss-text);
	font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .woocommerce-loop-product__title {
	font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 700;
	color: var(--ss-text);
	line-height: 1.25;
}

/* Rustige, consistente tekstschaal */
h1, .entry-title { font-size: 2.1rem; }
h2 { font-size: 1.6rem; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.1rem; }
h5 { font-size: 1rem; }
h6 { font-size: .95rem; }
p, li, td, th, label, input, textarea, select, .entry-content { font-size: 1rem; }
small, .small { font-size: .9rem; }

a { color: var(--ss-accent); }
a:hover { color: var(--ss-accent-d); }

/* Knoppen — digiworx-rood, strak */
.button, button, input[type="submit"],
.woocommerce a.button, .woocommerce button.button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce #respond input#submit,
#site-navigation-wrap .dropdown-menu > li > a.btn,
.theme-button, .wc-block-components-button {
	background-color: var(--ss-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--ss-radius) !important;
	padding: 12px 28px !important;
	font-weight: 700 !important;
	letter-spacing: .02em;
	transition: background-color .2s ease;
}
.button:hover, button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background-color: var(--ss-dark) !important;
}

/* Header */
#site-header, #site-header.has-header-media .overlay-header-inner {
	background-color: var(--ss-surface);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}
#site-navigation-wrap .dropdown-menu > li > a,
#site-header .oceanwp-mobile-menu-icon a {
	color: var(--ss-text);
	font-weight: 500;
}

/* Logo */
#site-logo .custom-logo, #site-logo .ss-theme-logo img {
	max-height: 54px;
	width: auto;
}
#site-logo .ss-theme-logo { display: inline-block; padding: 8px 0; }

/* Navigatie — uppercase, rood bij hover/actief (zoals digiworx.be) */
#site-navigation-wrap .dropdown-menu > li { margin: 0 6px; }
#site-navigation-wrap .dropdown-menu > li > a {
	padding: 0 8px !important;
	background: none !important;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .05em;
	transition: color .2s ease;
}
#site-navigation-wrap .dropdown-menu > li > a .text-wrap {
	display: inline-block;
	padding: 2px 0;
	line-height: 1.4;
	border-bottom: 2px solid transparent;
	transition: border-color .2s ease, color .2s ease;
}
#site-navigation-wrap .dropdown-menu > li > a:hover .text-wrap,
#site-navigation-wrap .dropdown-menu > li.current-menu-item > a .text-wrap {
	border-bottom-color: var(--ss-accent);
}
#site-navigation-wrap .dropdown-menu > li > a:hover,
#site-navigation-wrap .dropdown-menu > li.current-menu-item > a {
	color: var(--ss-accent) !important;
}
/* Winkelmandje-icoon in de header */
.oceanwp-cart-icon .icon-shopping-cart, .wcmenucart { color: var(--ss-text); }

/* Footer — zwart zoals de digiworx-blokken */
#footer-widgets, .ss-footer { background-color: #000000; color: #CFCFCF; }
#footer-widgets a { color: #FFFFFF; text-decoration: none; }
#footer-widgets a:hover { color: var(--ss-accent); }
#footer-bottom { background-color: #000000; border-top: 1px solid #1E1E1E; }

.ss-footer { padding: 56px 0 40px; }
.ss-footer-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1.2fr;
	gap: 40px;
}
.ss-footer h4 {
	color: #fff;
	font-size: 1.1rem;
	margin-bottom: 14px;
	text-transform: uppercase;
	letter-spacing: .05em;
}
.ss-footer-dot { color: var(--ss-accent); }
.ss-footer p { color: #B5B5B5; font-size: .95rem; }
.ss-footer-nav, .ss-footer-contact { list-style: none; margin: 0; padding: 0; }
.ss-footer-nav li, .ss-footer-contact li { margin-bottom: 8px; font-size: .95rem; color: #B5B5B5; }
.ss-footer-company { margin-top: 12px; font-size: .9rem; color: #8A8A8A; }
@media (max-width: 800px) {
	.ss-footer-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* ==========================================================================
   WooCommerce — strakke productkaarten
   ========================================================================== */
/* Productgrid: altijd nette kolommen met ruimte ertussen (ook buiten shop-pagina's) */
ul.products {
	display: grid !important;
	/* Fallback: altijd een grid, ook zonder columns-klasse */
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 24px;
	margin: 0 0 20px !important;
	padding: 0 !important;
	list-style: none;
}
ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
ul.products.columns-5 { grid-template-columns: repeat(5, 1fr); }
.woocommerce ul.products li.product,
ul.products li.product {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
	padding: 0 0 18px !important; /* OceanWP geeft kolommen binnen-padding; hier uitschakelen */
}
.woocommerce ul.products li.product img,
ul.products li.product img {
	width: 100%;
	display: block;
}
/* OceanWP wikkelt de productinhoud soms in extra wrappers met eigen padding */
ul.products li.product .woo-entry-inner,
ul.products li.product .product-inner {
	padding: 0 !important;
}
@media (max-width: 900px) {
	ul.products.columns-3, ul.products.columns-4, ul.products.columns-5 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 560px) {
	ul.products, ul.products.columns-2, ul.products.columns-3,
	ul.products.columns-4, ul.products.columns-5 {
		grid-template-columns: 1fr;
	}
}
.woocommerce ul.products li.product,
.wc-block-grid__product {
	background: var(--ss-surface);
	border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius);
	padding: 0 0 18px;
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover {
	border-color: var(--ss-accent);
	box-shadow: var(--ss-shadow);
}
.woocommerce ul.products li.product img { border-radius: 0; margin-bottom: 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.05em; padding: 0 16px;
}
.woocommerce ul.products li.product .price {
	color: var(--ss-accent); font-weight: 700; padding: 0 16px;
}
.woocommerce ul.products li.product .button { margin: 10px 16px 0; }
.woocommerce span.onsale {
	background: var(--ss-accent); border-radius: var(--ss-radius); padding: 6px 14px;
}

/* ==========================================================================
   Shop-pagina (archief)
   ========================================================================== */
/* Sidebar-kolom nooit tonen op shop-pagina's (voor de zekerheid, naast full-width) */
.woocommerce #right-sidebar,
.woocommerce #left-sidebar,
.post-type-archive-product .widget-area,
.tax-product_cat .widget-area { display: none; }

/* Content altijd volle breedte op shop-pagina's, ook als de layout-class blijft hangen */
.woocommerce.content-left-sidebar #primary,
.woocommerce.content-right-sidebar #primary,
.post-type-archive-product #primary,
.tax-product_cat #primary {
	width: 100% !important;
	float: none !important;
}

.post-type-archive-product #content-wrap,
.tax-product_cat #content-wrap { max-width: 1160px; }

/* Titelbalk van de shop */
.woocommerce-products-header,
.page-header {
	background: transparent;
	border: none;
	padding: 36px 0 8px;
}
.woocommerce-products-header .woocommerce-products-header__title,
.page-header .page-header-title {
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	color: var(--ss-text);
}

/* Sorteerbalk en resultaatteller */
.woocommerce .woocommerce-result-count { color: var(--ss-muted); }
.woocommerce .woocommerce-ordering select {
	border: 1px solid #CCCCCC;
	border-radius: var(--ss-radius);
	padding: 8px 18px;
	background: var(--ss-surface);
	color: var(--ss-text);
	font-weight: 500;
}

/* Paginering */
.woocommerce nav.woocommerce-pagination ul {
	border: none;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: none; margin: 0 4px;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius);
	padding: 10px 16px;
	background: var(--ss-surface);
	color: var(--ss-text);
	font-weight: 700;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--ss-accent);
	border-color: var(--ss-accent);
	color: #fff;
}

/* Productdetailpagina */
.woocommerce div.product div.images img { border-radius: var(--ss-radius); }
.woocommerce div.product .product_title { font-size: 1.7rem; }
.woocommerce div.product p.price { color: var(--ss-accent); font-size: 1.3rem; font-weight: 700; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--ss-gray); border-radius: 0;
}
/* OceanWP-blauw in producttabs vervangen door digiworx-rood */
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--ss-muted) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color: var(--ss-text) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--ss-accent) !important;
	border-color: var(--ss-accent) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ss-accent) !important; }

/* Prijzen in tabellen (winkelmandje/checkout): neutraal zwart i.p.v. groen */
.woocommerce table .woocommerce-Price-amount,
.woocommerce .cart_totals .woocommerce-Price-amount,
.woocommerce-checkout-review-order .woocommerce-Price-amount {
	color: var(--ss-text) !important;
}

/* Winkelmandje & checkout */
.woocommerce-cart table.cart, .woocommerce table.shop_table {
	background: var(--ss-surface);
	border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius);
	overflow: hidden;
}
.woocommerce table.shop_table th {
	background: var(--ss-gray);
	color: var(--ss-text);
	text-transform: uppercase;
	font-size: .85em;
	letter-spacing: .04em;
}
.woocommerce table.shop_table td { border-top: 1px solid var(--ss-line); }
.woocommerce-cart table.cart img { border-radius: 0; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
	background: var(--ss-surface);
	border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius);
	padding: 24px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid #CCCCCC;
	border-radius: var(--ss-radius);
	padding: 12px 14px;
	background: #fff;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--ss-accent);
	outline: none;
}
/* WooCommerce blocks (nieuwe cart/checkout) */
.wc-block-cart, .wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-order-summary {
	border-radius: var(--ss-radius);
}
.wc-block-components-button:not(.is-link) {
	background: var(--ss-accent) !important;
	border-radius: var(--ss-radius) !important;
}
/* Dubbele winkelmand: het nieuwe Winkelwagen-blok verbergen op de cart-pagina.
   De klassieke winkelmand (met Probo-verzending) blijft staan. */
.woocommerce-cart .wp-block-woocommerce-cart {
	display: none !important;
}

/* Contactpagina */
.ss-hero-small { padding: 64px 0 52px; }
.ss-card {
	background: var(--ss-surface);
	border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius);
	padding: 34px;
}
.ss-contact-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 28px;
	align-items: start;
}
.ss-contact-form h2, .ss-contact-details h2 { font-size: 1.4rem; margin-bottom: 18px; }
.ss-contact-form label { display: block; font-weight: 700; margin-bottom: 6px; }
.ss-contact-form input[type="text"],
.ss-contact-form input[type="email"],
.ss-contact-form input[type="tel"],
.ss-contact-form textarea {
	width: 100%;
	border: 1px solid #CCCCCC;
	border-radius: var(--ss-radius);
	padding: 12px 14px;
	background: #fff;
	font-family: inherit;
	font-size: 1rem;
}
.ss-contact-form input:focus, .ss-contact-form textarea:focus {
	border-color: var(--ss-accent);
	outline: none;
}
.ss-form-notice { border-radius: var(--ss-radius); padding: 14px 18px; margin-bottom: 18px; font-weight: 700; }
.ss-form-success { background: #E8F5E9; color: #2E7D32; }
.ss-form-error { background: var(--ss-tint); color: var(--ss-accent-d); }
.ss-contact-list { list-style: none; margin: 0; padding: 0; }
.ss-contact-list li { margin-bottom: 12px; }
.ss-contact-icon { margin-right: 8px; }
.ss-contact-note { margin-top: 18px; font-size: .9rem; color: var(--ss-muted); }
@media (max-width: 800px) {
	.ss-contact-grid { grid-template-columns: 1fr; }
}

/* Meldingen (toegevoegd aan winkelwagen etc.) */
.woocommerce-message, .woocommerce-info {
	border-top-color: var(--ss-dark);
	background: var(--ss-gray);
	border-radius: var(--ss-radius);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--ss-accent); }
.woocommerce-error {
	background: var(--ss-tint);
	color: var(--ss-accent-d);
	border-top-color: var(--ss-accent);
	border-radius: var(--ss-radius);
	font-weight: 700;
}

/* ==========================================================================
   Homepage-secties (front-page.php)
   ========================================================================== */
.ss-section { padding: 72px 0; }
.ss-container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

/* Hero */
.ss-hero {
	background: var(--ss-gray);
	padding: 96px 0 88px;
	text-align: center;
}
.ss-hero h1 {
	font-size: clamp(2rem, 4vw, 2.8rem);
	line-height: 1.15;
	margin-bottom: 18px;
}
.ss-hero h1 em { color: var(--ss-accent); font-style: normal; }
.ss-hero p {
	font-size: 1.1rem; color: var(--ss-muted);
	max-width: 620px; margin: 0 auto 32px;
}
.ss-hero-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.ss-btn {
	display: inline-block; border-radius: var(--ss-radius); padding: 14px 34px;
	font-weight: 700; text-decoration: none; letter-spacing: .02em;
	transition: all .2s ease;
}
.ss-btn-primary { background: var(--ss-accent); color: #fff !important; }
.ss-btn-primary:hover { background: var(--ss-dark); }
.ss-btn-secondary {
	background: transparent; color: var(--ss-text) !important;
	box-shadow: inset 0 0 0 2px var(--ss-dark);
}
.ss-btn-secondary:hover { background: var(--ss-dark); color: #fff !important; }

/* Sectiekoppen */
.ss-section-head { text-align: center; max-width: 640px; margin: 0 auto 48px; }
.ss-section-head h2 { font-size: clamp(1.4rem, 2.5vw, 1.8rem); margin-bottom: 10px; }
.ss-section-head p { color: var(--ss-muted); font-size: 1rem; }

/* USP-kaarten */
.ss-usps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ss-usp {
	background: var(--ss-surface); border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius); padding: 30px 24px; text-align: center;
}
.ss-usp-icon {
	width: 58px; height: 58px; margin: 0 auto 16px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%; font-size: 1.6rem;
}
.ss-usp:nth-child(1) .ss-usp-icon { background: var(--ss-tint); }
.ss-usp:nth-child(2) .ss-usp-icon { background: var(--ss-gray); }
.ss-usp:nth-child(3) .ss-usp-icon { background: var(--ss-tint); }
.ss-usp h3 { font-size: 1.1rem; margin-bottom: 8px; }
.ss-usp p { color: var(--ss-muted); font-size: .95rem; margin: 0; }

/* Stappen */
.ss-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ss-step {
	position: relative; background: var(--ss-surface);
	border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius);
	padding: 34px 26px 28px; text-align: center;
}
.ss-step-num {
	width: 44px; height: 44px; margin: 0 auto 14px;
	background: var(--ss-accent); color: #fff; font-weight: 700; font-size: 1.2rem;
	border-radius: 50%; display: flex; align-items: center; justify-content: center;
}
.ss-step h3 { font-size: 1.1rem; margin-bottom: 8px; }
.ss-step p { color: var(--ss-muted); font-size: .95rem; margin: 0; }

/* CTA-band — zwart blok zoals digiworx */
.ss-cta {
	background: var(--ss-dark); border-radius: var(--ss-radius);
	padding: 56px 40px; text-align: center; color: #fff;
}
.ss-cta h2 { color: #fff; font-size: clamp(1.4rem, 2.5vw, 1.8rem); margin-bottom: 10px; }
.ss-cta p { color: #CFCFCF; margin-bottom: 26px; font-size: 1rem; }
.ss-cta .ss-btn-light { background: var(--ss-accent); color: #fff !important; }
.ss-cta .ss-btn-light:hover { background: #fff; color: var(--ss-dark) !important; }

/* Responsief */
@media (max-width: 900px) {
	.ss-usps { grid-template-columns: repeat(2, 1fr); }
	.ss-steps { grid-template-columns: 1fr; }
	.ss-section { padding: 52px 0; }
}
@media (max-width: 560px) {
	.ss-usps { grid-template-columns: 1fr; }
	.ss-hero { padding: 64px 0 56px; }
}
