/*
Theme Name: POPCOM360
Theme URI: https://popcom360.fr
Author: POPCOM360
Description: Thème sur-mesure de l'agence POPCOM360 — graphisme print, catalogues, PLV, réseaux sociaux, sites web et plans 3D. Thème « bloc » : tout se modifie dans Apparence › Éditeur, sans plugin.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: popcom360
Tags: block-patterns, full-site-editing, one-column, wide-blocks, portfolio
*/

/* ---------- Base ---------- */
.wp-site-blocks > main,
.wp-site-blocks > footer { margin-block-start: 0; }
html { scroll-behavior: smooth; }
:where([id]) { scroll-margin-top: 96px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
::selection { background: #944E4E; color: #FFF4EF; }

/* Petit sur-titre (eyebrow) */
.pc-eyebrow {
	font-size: 0.8rem !important;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* ---------- En-tête ---------- */
.pc-header {
	border-bottom: 1px solid rgba(148, 78, 78, 0.14);
}
.pc-header .pc-logo img { width: 190px; max-width: 42vw; }
.pc-header .wp-block-navigation a:hover { color: #944E4E; }
.pc-header .wp-block-navigation__responsive-container.is-menu-open {
	background: #944E4E !important;
	color: #FFF4EF !important;
	padding: 2rem;
}
.pc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.pc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start !important;
}
.pc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-family: Anton, 'Arial Narrow', Impact, sans-serif;
	font-size: 2rem;
	font-weight: 400;
	text-transform: uppercase;
}
.pc-header .pc-header-cta .wp-block-button__link { font-size: 0.9rem; }
@media (max-width: 781px) {
	.pc-header .pc-header-cta { display: none; }
}

/* ---------- Hero ---------- */
.pc-hero { position: relative; overflow: hidden; }
.pc-hero::after {
	content: "360°";
	position: absolute;
	right: -2vw;
	bottom: -6vw;
	font-family: Anton, Impact, sans-serif;
	font-size: 26vw;
	line-height: 1;
	color: rgba(255, 244, 239, 0.06);
	pointer-events: none;
}
.pc-hero > * { position: relative; z-index: 1; }
.pc-hero h1 { overflow-wrap: normal; }
.pc-hero-collage { position: relative; min-height: 460px; }
.pc-hero-collage .pc-collage-main {
	position: absolute; top: 0; right: 4%; width: 62%; margin: 0;
	transform: rotate(3deg);
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
	border-radius: 6px; overflow: hidden;
}
.pc-hero-collage .pc-collage-second {
	position: absolute; left: 0; bottom: 0; width: 52%; margin: 0;
	transform: rotate(-6deg);
	filter: drop-shadow(0 24px 40px rgba(0, 0, 0, 0.35));
}
.pc-hero-collage img { display: block; width: 100%; }
@media (max-width: 781px) {
	.pc-hero-collage { min-height: 0; display: flex; justify-content: center; padding-top: 1rem; }
	.pc-hero-collage .pc-collage-main { position: relative; right: auto; width: 70%; }
	.pc-hero-collage .pc-collage-second { display: none; }
}

/* ---------- Chiffres ---------- */
.pc-stat .pc-stat-num {
	font-family: Anton, Impact, sans-serif;
	line-height: 1;
	margin-bottom: 0.35rem;
}

/* ---------- Clients ---------- */
.pc-clients { gap: 0.6rem 1.6rem !important; }
.pc-clients p {
	font-family: Anton, Impact, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0;
	opacity: 0.9;
}
.pc-clients p:not(:last-child)::after {
	content: "✺";
	font-family: system-ui, sans-serif;
	font-size: 0.6em;
	margin-left: 1.6rem;
	vertical-align: middle;
	opacity: 0.55;
}

/* ---------- Cartes ---------- */
.pc-card {
	height: 100%;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.pc-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(110, 52, 52, 0.12);
}
.pc-num {
	font-family: Anton, Impact, sans-serif;
	font-size: 1rem !important;
	letter-spacing: 0.08em;
}
.pc-list { padding-left: 1.1em; margin: 0; }
.pc-list li { margin-bottom: 0.3em; }
.pc-list li::marker { color: #944E4E; }
.pc-cards-grid > .wp-block-column { display: flex; flex-direction: column; }
.pc-cards-grid > .wp-block-column > .pc-card { flex: 1; }

/* ---------- Book ---------- */
.pc-book-item figure { margin: 0; }
.pc-book-item .wp-block-image { border-radius: 18px; overflow: hidden; }
.pc-book-item .wp-block-image img { transition: transform 0.5s ease; }
.pc-book-item:hover .wp-block-image img { transform: scale(1.03); }
.pc-img-top img { object-position: top center !important; }
.pc-img-contain img { object-fit: contain !important; padding: 8%; background: #fff; }
.pc-img-contain.pc-bg-sable img { background: #F5E3DA; }
.pc-tags {
	font-size: 0.75rem !important;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #944E4E;
}

/* ---------- Étapes ---------- */
.pc-step .pc-step-num {
	font-family: Anton, Impact, sans-serif;
	font-size: 4rem !important;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px #F5E3DA;
	opacity: 0.9;
}

/* ---------- Tarifs ---------- */
.pc-price-table { margin: 0; }
.pc-price-table table { border-collapse: collapse; width: 100%; }
.pc-price-table td {
	border: 0 !important;
	border-bottom: 1px dashed rgba(148, 78, 78, 0.3) !important;
	padding: 0.7em 0 !important;
	vertical-align: top;
}
.pc-price-table tr:last-child td { border-bottom: 0 !important; }
.pc-price-table td:last-child {
	text-align: right;
	white-space: nowrap;
	font-weight: 700;
	color: #944E4E;
	padding-left: 1em !important;
}
.pc-price-table td em { font-style: normal; font-size: 0.85em; color: #6B5656; font-weight: 400; }

/* ---------- Villes ---------- */
.pc-chips { gap: 0.5rem !important; }
.pc-chips p {
	margin: 0;
	padding: 0.35em 0.95em;
	background: #FFF4EF;
	color: #6E3434;
	border: 1px solid rgba(148, 78, 78, 0.25);
	border-radius: 999px;
	font-size: 0.9rem;
}

/* ---------- FAQ ---------- */
.pc-faq .wp-block-details {
	border-bottom: 1px solid rgba(148, 78, 78, 0.22);
	padding: 1.1rem 0;
}
.pc-faq .wp-block-details summary {
	font-weight: 700;
	font-size: 1.1rem;
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 2rem;
}
.pc-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.pc-faq .wp-block-details summary::after {
	content: "+";
	position: absolute; right: 0; top: -0.2rem;
	font-size: 1.6rem; font-weight: 400; color: #944E4E;
	transition: transform 0.2s ease;
}
.pc-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.pc-faq .wp-block-details > *:not(summary) { margin-top: 0.7rem; color: #4a3737; }

/* ---------- Contact ---------- */
.pc-contact-mail a { text-decoration: none; border-bottom: 3px solid rgba(255, 244, 239, 0.5); overflow-wrap: anywhere; }
.pc-contact-mail a:hover { border-bottom-color: #FFF4EF; }

/* ---------- Pied de page ---------- */
.pc-footer .pc-footer-links { list-style: none; padding-left: 0; line-height: 2; margin-bottom: 0; }
.pc-footer a { color: inherit; text-decoration: none; }
.pc-footer a:hover { text-decoration: underline; }
.pc-footer .pc-logo img { width: 200px; }

/* ---------- Boutons contour clair ---------- */
.is-style-outline.pc-btn-light .wp-block-button__link {
	border: 2px solid #FFF4EF !important;
	color: #FFF4EF !important;
	background: transparent !important;
}
.is-style-outline.pc-btn-light .wp-block-button__link:hover {
	background: #FFF4EF !important;
	color: #944E4E !important;
}
.wp-block-button.is-style-outline:not(.pc-btn-light) > .wp-block-button__link {
	color: #944E4E;
	border-color: #944E4E;
}
.wp-block-button.is-style-outline:not(.pc-btn-light) > .wp-block-button__link:hover {
	background: #944E4E;
	color: #FFF4EF;
}
.pc-btn-cream .wp-block-button__link:hover { background: #fff !important; color: #6E3434 !important; }

/* ---------- Pages de contenu ---------- */
.wp-block-post-content :where(h2:not([class*="font-size"])) { font-size: clamp(1.6rem, 3vw, 2.25rem); margin-top: 2.5rem; }
.wp-block-post-content :where(h3:not([class*="font-size"])) { font-size: clamp(1.3rem, 2.4vw, 1.7rem); margin-top: 2rem; }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.pc-stats.wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem 1rem !important;
	}
	.pc-stats .pc-stat-num { font-size: 2.4rem !important; }
	.pc-clients { gap: 0.3rem 1.1rem !important; }
	.pc-clients p { font-size: 1.5rem !important; }
	.pc-clients p::after { display: none; }
	.pc-contact-mail { font-size: 1.15rem !important; }
	.pc-contact-mail a { overflow-wrap: normal; }
	.pc-step .pc-step-num { font-size: 3rem !important; }
	.pc-hero::after { font-size: 48vw; bottom: -10vw; }
}

/* ---------- Accessibilité / mouvement ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.pc-card, .pc-book-item .wp-block-image img { transition: none; }
}
