/*
Theme Name: Red Fish Concept
Description: Thème sur mesure du site Red Fish Concept : en-tête (logo, menu, langues), pied de page et styles de base. Le contenu des pages est construit avec Elementor. Remplace le thème Photographer (2026-10-23).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.1
Author: Red Fish Concept
License: GPL-2.0-or-later
Text Domain: redfish-concept
*/

/* ---------- Base ---------- */

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

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

body {
	margin: 0;
	background: #fff;
	color: #333;
	font-family: Montserrat, sans-serif;
	font-size: 16px;
	line-height: 1.5625; /* 25px */
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; vertical-align: middle; }

a { color: #ab977a; text-decoration: none; transition: color .2s; }
a:hover, a:focus { color: #c9b69b; }

/* Valeurs par défaut reprises de l'ancien thème (le contenu Elementor en dépend) */
h1, h2, h3, h4, h5, h6 { font-family: Montserrat, sans-serif; font-weight: 700; color: inherit; margin: 1.2em 0 .8em; line-height: 1.4; }
h1 { font-size: 2.4em; line-height: 1.2; margin-top: 0; }
h2 { font-size: 1.5em; line-height: 1.3; }
h3 { font-size: 1.2em; }
h4, h5, h6 { font-size: 1em; }
p { margin: 0 0 1.4em; font-size: .9375em; }
ul, ol { margin: .2em 0 1em; line-height: 1.8; }
blockquote { margin: 1.4em 0; padding-left: 1.2em; font-size: 2.6em; line-height: 1.1; }
strong, b { font-weight: 700; }
small { font-size: .8em; }

/* Petits écrans : titres réduits (comme l'ancien thème) */
@media (max-width: 767px) {
	h1 { font-size: 1.5em; }
	h2 { font-size: 1.2em; }
	h3 { font-size: 1.1em; }
	p { margin-bottom: 1.1em; }
	blockquote { margin: 2em 0; font-size: 1.25em; line-height: 1.5; }
}

.rfc-masque {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.rfc-lien-evitement {
	position: absolute;
	left: 8px; top: -60px;
	z-index: 1000;
	padding: 8px 14px;
	background: #333;
	color: #fff;
}
.rfc-lien-evitement:focus { top: 8px; color: #fff; }

/* ---------- En-tête ---------- */

.rfc-entete {
	position: relative;
	z-index: 100;
	padding: 48px 0 22.4px;
	text-align: center;
}
.rfc-logo { margin: 0 0 16px; line-height: 0; }
.rfc-logo img { display: block; width: 300px; max-width: 80vw; height: auto; margin: 0 auto; }
.rfc-nom { font-size: 22px; font-weight: 300; letter-spacing: 2px; text-transform: uppercase; color: #333; line-height: 1.2; }

.rfc-menu, .rfc-menu ul { margin: 0; padding: 0; list-style: none; }

.rfc-menu > li {
	position: relative;
	display: inline-block;
	line-height: 53px;
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.rfc-menu > li > a { display: block; padding: 0 9.6px; color: #333; }
.rfc-menu a:hover, .rfc-menu a:focus,
.rfc-menu > li:hover > a { color: #c9b69b; }

/* Drapeaux de langue (TranslatePress) */
.rfc-menu .trp-language-switcher-container img { display: inline-block; width: 18px; height: 12px; margin: -1px 5px; vertical-align: baseline; }

/* Sous-menu déroulant */
.rfc-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: -11px;
	width: 160px;
	margin-top: -1px;
	border: 3px solid #555;
	background: #fff;
	line-height: 1.5;
	text-align: left;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .2s, transform .2s, visibility .2s;
}
.rfc-menu .sub-menu::before { /* petite pointe au-dessus du sous-menu */
	content: "";
	position: absolute;
	top: -7.5px;
	left: 27.5px;
	width: 12px;
	height: 12px;
	background: #fff;
	border-top: 3px solid #555; /* seul le côté droit du chevron est tracé, comme avant */
	transform: rotate(45deg);
}
.rfc-menu > li:hover > .sub-menu,
.rfc-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.rfc-menu .sub-menu li { border-top: 1px solid #eee; background: #fff; }
.rfc-menu .sub-menu li:first-child { border-top: 0; }
.rfc-menu .sub-menu a {
	display: block;
	padding: 9.9px 15.4px;
	font-size: 11px;
	line-height: 1.5;
	letter-spacing: .03em;
	color: #333;
}

/* Bouton du menu mobile (caché sur grand écran) */
.rfc-burger {
	display: none;
	position: relative;
	width: 44px; height: 44px;
	margin: 0 auto;
	padding: 0;
	border: 0;
	background: none;
	color: #333;
	cursor: pointer;
}
.rfc-burger-traits,
.rfc-burger-traits::before,
.rfc-burger-traits::after {
	position: absolute;
	left: 12px;
	width: 20px; height: 3px;
	background: currentColor;
	transition: transform .25s, top .25s, background-color .25s;
	content: "";
}
.rfc-burger-traits { top: 20px; }
.rfc-burger-traits::before { left: 0; top: -7px; }
.rfc-burger-traits::after { left: 0; top: 7px; }
.rfc-ouvert .rfc-burger-traits { background-color: transparent; }
.rfc-ouvert .rfc-burger-traits::before { top: 0; transform: rotate(45deg); }
.rfc-ouvert .rfc-burger-traits::after { top: 0; transform: rotate(-45deg); }

@media (max-width: 991px) {
	.rfc-entete { padding: 22.4px 0; }
	.rfc-burger { display: block; width: 44px; height: 26px; }
	.rfc-burger-traits { top: 11px; }
	.rfc-menu { display: none; padding: 16px 20px; }
	.rfc-ouvert .rfc-menu { display: block; }
	.rfc-menu > li {
		display: block;
		line-height: 1;
		font-size: 21.6px;
		font-weight: 700;
		letter-spacing: normal;
	}
	.rfc-menu > li > a { margin-top: 12.96px; padding: 4.32px 0; line-height: 21.6px; }
	.rfc-menu .sub-menu {
		position: static;
		width: auto;
		margin: 0;
		border: 0;
		background: none;
		text-align: center;
		opacity: 1;
		visibility: visible;
		transform: none;
	}
	.rfc-menu .sub-menu::before { display: none; }
	.rfc-menu .sub-menu li { border: 0; background: none; }
	.rfc-menu .sub-menu a { padding: 10.8px 22px; font-size: 12px; font-weight: 300; line-height: 12px; letter-spacing: normal; text-transform: uppercase; }
}

/* ---------- Contenu ---------- */

.rfc-contenu { display: block; }

.rfc-page { max-width: 780px; margin: 0 auto; padding: 0 20px; }
.rfc-titre { /* taille : celle des h1 (réduite sur mobile) */
	margin: 16px 0 48px;
	text-align: center;
	text-transform: uppercase;
}
.rfc-titre-liste { font-size: 22px; margin: 40px 0 10px; }
.rfc-texte { max-width: 760px; margin: 0 auto; }
.rfc-404 { text-align: center; padding-bottom: 60px; }

/* ---------- Formulaires (reprend l'ancien thème : formulaire de contact Formidable) ---------- */

body .frm_forms .frm_form_field input[type="text"],
body .frm_forms .frm_form_field input[type="email"],
body .frm_forms .frm_form_field input[type="tel"],
body .frm_forms .frm_form_field input[type="url"],
body .frm_forms .frm_form_field input[type="number"] {
	width: 320px !important; /* Formidable impose width:100% !important (.frm_full) */
	max-width: 100%;
	height: auto;
	padding: 11.2px;
	border: 3px solid #eee;
	border-radius: 0;
	box-shadow: none;
	color: #333;
	font-size: 14px;
	line-height: 14px;
}
body .frm_forms textarea { height: 196px; line-height: 1.6; }
body .frm_forms .frm_submit button,
body .frm_forms input[type="submit"] { text-transform: uppercase; letter-spacing: 1px; }

/* ---------- Pied de page ---------- */

.rfc-pied {
	margin-top: 80px;
	min-height: 49px;
	border-top: 1px solid #eee;
}
@media (max-width: 767px) {
	.rfc-pied { margin-top: 0; min-height: 87px; }
}
