/*
Theme Name: Skyward Commerce
Theme URI: https://skyward-agency.com/
Author: Skyward Agency
Author URI: https://skyward-agency.com/
Description: Socle WooCommerce vierge et léger de Skyward Agency : aucun visuel propre à un client. Le design de chaque boutique vit dans un thème enfant. Compatible Skyward Ecomm Suite.
Version: 1.2.0
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: skyward-commerce
Tags: e-commerce, woocommerce, custom-logo, custom-menu, featured-images, translation-ready
*/


/* Variables neutres : un thème enfant les redéfinit (:root) pour habiller la boutique. */
:root {
	--swc-ink: #1a1a1a;
	--swc-text-soft: #595959;
	--swc-line: #dcdcde;
	--swc-soft: #f5f5f5;
	--swc-accent: #1d4ed8;
	--swc-promo: #b42318;
	--swc-footer-bg: #f5f5f5;
	--swc-white: #ffffff;

	--swc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;

	--swc-radius-s: 6px;
	--swc-radius-m: 12px;
	--swc-radius-l: 16px;
	--swc-radius-pill: 999px;
	--swc-radius-btn: 4px;
	--swc-radius-input: 4px;

	--swc-shadow-s: 0 1px 2px rgba(0, 0, 0, 0.06);
	--swc-shadow-m: 0 18px 30px -18px rgba(0, 0, 0, 0.18);

	--swc-fs-xs: 12px;
	--swc-fs-s: 13px;
	--swc-fs-m: 15px;
	--swc-fs-l: 18px;
	--swc-fs-xl: 24px;
	--swc-fs-xxl: 34px;

	--swc-sp-1: 4px;
	--swc-sp-2: 8px;
	--swc-sp-3: 12px;
	--swc-sp-4: 16px;
	--swc-sp-5: 24px;
	--swc-sp-6: 40px;
	--swc-sp-7: 64px;

	--swc-max: 1360px;
	--swc-gutter: 32px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--swc-white);
	color: var(--swc-ink);
	font-family: var(--swc-font);
	font-size: var(--swc-fs-m);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img,
video,
svg {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

.entry-content :where(p, blockquote, figcaption, ul:not(.products) > li) a:not(.wp-block-button__link):not(.button) {
	color: var(--swc-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 var(--swc-sp-3);
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: -0.01em;
}

h1 { font-size: var(--swc-fs-xl); }
h2 { font-size: 20px; }
h3 { font-size: var(--swc-fs-l); }

p {
	margin: 0 0 var(--swc-sp-4);
}

ul,
ol {
	margin: 0 0 var(--swc-sp-4);
	padding-left: 1.2em;
}

:focus-visible {
	outline: 2px solid var(--swc-accent);
	outline-offset: 2px;
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

button {
	cursor: pointer;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.swc-skip {
	position: absolute;
	left: var(--swc-sp-4);
	top: -100px;
	z-index: 100;
	padding: var(--swc-sp-2) var(--swc-sp-4);
	background: var(--swc-ink);
	color: var(--swc-white);
	border-radius: var(--swc-radius-btn);
}

.swc-skip:focus {
	top: var(--swc-sp-2);
}

.swc-wrap {
	max-width: var(--swc-max);
	margin: 0 auto;
	padding: 0 var(--swc-gutter);
}

.swc-main {
	padding-top: var(--swc-sp-5);
	padding-bottom: var(--swc-sp-7);
	overflow-x: clip;
}

.swc-home .entry-content > .alignfull:first-child {
	margin-top: calc(-1 * var(--swc-sp-5));
}

.swc-narrow {
	max-width: 780px;
}

.swc-title {
	font-size: var(--swc-fs-xl);
	margin-bottom: var(--swc-sp-5);
}

.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.alignwide {
	max-width: 100%;
}

.alignleft { float: left; margin: 0 var(--swc-sp-4) var(--swc-sp-4) 0; }
.alignright { float: right; margin: 0 0 var(--swc-sp-4) var(--swc-sp-4); }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }

/* Boutons (spécificité nulle : le thème enfant les surcharge sans effort) */
:where(.swc-btn, .button, .wp-element-button, .wp-block-button__link, input[type="submit"], button[type="submit"]:not(.swe-search__submit)) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 var(--swc-sp-5);
	border: 0;
	border-radius: var(--swc-radius-btn);
	background: var(--swc-ink);
	color: var(--swc-white);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: opacity 0.15s;
}

:where(.swc-btn, .button, .wp-element-button, .wp-block-button__link, input[type="submit"], button[type="submit"]:not(.swe-search__submit)):hover {
	opacity: 0.85;
}

/* Formulaires */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="number"],
input[type="search"],
select,
textarea {
	width: 100%;
	min-height: 44px;
	padding: 0 var(--swc-sp-4);
	border: 1px solid var(--swc-line);
	border-radius: var(--swc-radius-input);
	background: var(--swc-white);
	font-size: 16px;
}

textarea {
	min-height: 120px;
	padding: var(--swc-sp-3) var(--swc-sp-4);
}

label {
	display: inline-block;
	margin-bottom: var(--swc-sp-1);
	font-weight: 500;
}

/* Articles */
.swc-posts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--swc-sp-5);
	margin-bottom: var(--swc-sp-5);
}

.swc-card__img {
	display: block;
	margin-bottom: var(--swc-sp-3);
	border-radius: var(--swc-radius-m);
	overflow: hidden;
}

.swc-card__img img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.swc-card__title {
	font-size: var(--swc-fs-l);
	margin-bottom: var(--swc-sp-1);
}

.swc-card__meta {
	color: var(--swc-text-soft);
	font-size: var(--swc-fs-s);
	margin-bottom: var(--swc-sp-3);
}

.swc-featured {
	margin-bottom: var(--swc-sp-5);
}

.swc-featured img {
	border-radius: var(--swc-radius-m);
}

.navigation.pagination {
	margin: var(--swc-sp-5) 0;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--swc-sp-2);
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 var(--swc-sp-3);
	border: 1px solid var(--swc-line);
	border-radius: var(--swc-radius-btn);
}

.page-numbers.current {
	background: var(--swc-ink);
	border-color: var(--swc-ink);
	color: var(--swc-white);
}

/* Squelette de l'en-tête et du pied de page (remplacés par le thème enfant) */
.swc-site-header {
	border-bottom: 1px solid var(--swc-line);
}

.swc-site-header__in,
.swc-site-footer__in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--swc-sp-3) var(--swc-sp-5);
	padding-top: var(--swc-sp-4);
	padding-bottom: var(--swc-sp-4);
}

.swc-site-header__brand {
	margin-right: auto;
	font-size: var(--swc-fs-l);
	font-weight: 700;
}

.swc-site-header__brand img {
	display: block;
	width: auto;
	max-height: 40px;
}

.swc-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--swc-sp-2) var(--swc-sp-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.swc-site-header__tools {
	display: flex;
	gap: var(--swc-sp-3);
}

.swc-tool {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
}

.swc-cart-count {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 17px;
	padding: 0 4px;
	border-radius: var(--swc-radius-pill);
	background: var(--swc-ink);
	color: var(--swc-white);
	font-size: 10.5px;
	line-height: 17px;
	text-align: center;
}

.swc-cart-count.is-empty {
	display: none;
}

.swc-site-footer {
	margin-top: var(--swc-sp-6);
	border-top: 1px solid var(--swc-line);
	color: var(--swc-text-soft);
	font-size: var(--swc-fs-s);
}

/* Mobile */
@media (max-width: 767px) {
	:root {
		--swc-gutter: 16px;
		--swc-fs-xl: 22px;
	}

	body {
		padding-bottom: var(--swe-bottom-offset, 0px);
	}

	.swc-main {
		padding-top: var(--swc-sp-4);
		padding-bottom: var(--swc-sp-6);
	}

	.swc-posts {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.swc-posts {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
}
