/* Pages Contact (maquette 17) et — pour la partie commune « cp- » — Publicité & Partenariats (maquette 18).
   Chargé aussi par templates/page-publicite.php. Cotes : maquette × 1,477 (maquettes de 948 px). */

:root {
	--cp-pink: #fde8ea;
	--cp-field: #d0d1d1;
	--cp-card-line: #ececec;
	--cp-serif: var(--serif); /* Roboto Slab, chargée pour tout le site */
	/* Icônes Lucide (ISC) en masque CSS pour les champs de Contact Form 7 (pas de SVG possible dans le formulaire). */
	--cp-i-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	--cp-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
	--cp-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
	--cp-i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

/* ---------- Icônes pleines (lecri24_contact_pub_icon) : détails intérieurs dans la couleur du fond, --cp-hole ---------- */
.cp-solid { --cp-hole: var(--white); fill: currentColor; }
.cp-solid--map-pin circle, .cp-solid--eye circle { fill: var(--cp-hole); stroke: none; }
:is(.cp-solid--mail, .cp-solid--send, .cp-solid--shield) path:last-child,
.cp-solid--file path:not(:first-child), .cp-solid--newspaper path:not(:first-child), .cp-solid--globe path { fill: none; stroke: var(--cp-hole); }
.cp-solid--clock { fill: none; stroke-width: 2.4; }
/* Pictogrammes dessinés dans inc/pages/contact-pub.php */
.cp-solid .cp-s, .cp-solid .cp-h { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
.cp-solid .cp-h { stroke: var(--cp-hole); }
.cp-solid .cp-hf { fill: var(--cp-hole); }
.cp-coords__icon { --cp-hole: var(--cp-pink); }

/* ---------- En-tête de page ---------- */
.cp-hero .page-hero__media::after { background: linear-gradient(90deg, rgb(8 0 0 / .96) 0%, rgb(40 2 4 / .86) 30%, rgb(60 4 8 / .35) 52%, rgb(0 0 0 / 0) 72%); }
.cp-hero:not(:has(.page-hero__media)) { background: radial-gradient(120% 140% at 85% 30%, #4a0a0e 0%, #1a0405 45%, #080000 75%); }
.cp-hero .cp-hero__inner { justify-content: flex-start; gap: 0; min-height: 409px; padding-block: 15px 8px; }
.cp-hero .breadcrumb { margin-bottom: 20px; padding-left: 11px; }
.cp-hero--contact .breadcrumb ol { font-size: 15px; }
/* Texte de l'en-tête en retrait du bord du conteneur (les cartes en dessous, elles, s'y alignent). */
.cp-hero .page-intro { max-width: 579px; padding-left: 19px; }
.cp-hero .page-intro .cp-hero__badge { margin-left: -3px; }
/* Thème classique : les groupes ont un conteneur interne ; il s'efface pour que les grilles portent sur les blocs. */
.cp-hero .wp-block-group__inner-container, .cp-content .wp-block-group__inner-container { display: contents; }
.cp-hero .page-intro :where(h1, p, ul, .wp-block-buttons) { margin: 0; }
.cp-hero__badge { display: inline-block; padding: 7px 14px 6px; border-radius: 4px; background: var(--red); color: var(--white); font-size: 15px; font-weight: 800; letter-spacing: .02em; line-height: 1.2; text-transform: uppercase; }
.cp-hero .cp-hero__title { margin-top: 11px; color: var(--white); font: 700 73px/.95 var(--cp-serif); letter-spacing: .005em; }
.cp-hero .cp-hero__title::after { content: ""; display: block; width: 46px; height: 4px; margin: 16px 0 21px; background: var(--red); }
.cp-hero .page-intro p:not(.cp-hero__badge, .cp-hero__lead) { max-width: 520px; font-size: 18px; line-height: 1.33; color: rgb(255 255 255 / .94); }
.cp-hero .cp-hero__lead { margin-bottom: 16px; color: var(--white); font-size: 21.7px; font-weight: 600; line-height: 1.27; }

/* ---------- Titres de section : barre rouge, serif, sous-titre gris ---------- */
.cp-content { display: grid; gap: 20px; padding-top: 19px; }
.cp-content :where(h2, h3, p, ul, figure) { margin: 0; }
.cp-content h2.wp-block-heading { position: relative; margin-left: 4px; padding-left: 21px; font: 700 22.6px/1.25 var(--cp-serif); color: var(--ink); }
.cp-content h2.wp-block-heading::before { content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 6px; background: var(--red); }
.cp-content h2.wp-block-heading + p { margin: 4px 0 0 20px; font-size: 14.5px; line-height: 1.45; color: #555; }
.cp-ico { display: inline-flex; color: var(--red); }

/* Panneau blanc bordé : la barre rouge du titre est posée sur le bord gauche */
.cp-panel { padding: 9px 26px 22px; border: 1px solid var(--cp-card-line); border-radius: var(--radius); background: var(--white); box-shadow: 0 1px 6px rgb(0 0 0 / .03); }
.cp-content .cp-panel h2.wp-block-heading { margin-left: -22px; padding-left: 26px; font-size: 26px; }
.cp-content .cp-panel h2.wp-block-heading + p { margin-left: 0; font-size: 16px; line-height: 1.38; }

/* Grille de cartes égales */
.cp-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.cp-card { display: flex; flex-direction: column; padding: 18px 22px 22px; border: 1px solid var(--cp-card-line); border-radius: var(--radius); background: var(--white); }
.cp-card .wp-block-buttons { align-self: stretch; margin-top: auto; padding-top: 16px; }
.cp-card .wp-block-button { width: 100%; }
.cp-content .is-style-outline .wp-block-button__link, .cp-content .wp-block-button__link { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 33px; padding: 6px 12px; border: 1.5px solid var(--red); border-radius: 4px; background: var(--white); color: var(--red); font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none; }
.cp-content .wp-block-button__link::after { content: ""; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: var(--cp-i-arrow) center / contain no-repeat; mask: var(--cp-i-arrow) center / contain no-repeat; }
.cp-content .wp-block-button__link:hover, .cp-content .wp-block-button__link:focus-visible { background: var(--red); color: var(--white); }

/* ---------- Coordonnées ([lecri24_coordonnees]) ---------- */
.cp-coords { margin-top: 14px !important; }
.cp-coords__item { display: flex; align-items: flex-start; gap: 36px; padding: 17px 0; border-top: 1px solid #ededed; }
.cp-coords__icon { display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 50%; background: var(--cp-pink); color: var(--red); font-size: 29px; }
.cp-coords__title { margin: 2px 0 4px; font: 700 17px/1.3 var(--font); color: var(--ink); }
.cp-coords__value { display: grid; font-size: 17px; line-height: 1.5; color: #3a3a3a; }
.cp-coords__value small { font-size: 15px; color: #555; }
.cp-coords__value a:hover { color: var(--red); }
.cp-coords--cartes .cp-coords__value a[href^="mailto:"] { font-size: 18px; }
.cp-coords__strong { font-size: 18px; font-weight: 600; line-height: 1.4; color: var(--ink); letter-spacing: .01em; }
.cp-coords__item--socials { align-items: center; gap: 22px; padding-bottom: 0; }
.cp-coords__item--socials .cp-coords__icon { font-size: 34px; }
.cp-coords__item--socials .cp-coords__title { margin-bottom: 2px; font-size: 17px; }
.cp-coords__item--socials .cp-coords__value { font-size: 16px; }

/* Boutons sociaux en couleurs de marque */
.cp-socials { display: flex; flex-wrap: wrap; gap: 24px; }
.cp-socials--lg { margin-top: 26px !important; }
.cp-social { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 6px; background: #111; color: var(--white); font-size: 30px; transition: transform .2s var(--ease), filter .2s; }
.cp-social:hover, .cp-social:focus-visible { color: var(--white); filter: brightness(1.12); transform: translateY(-2px); }
.cp-social--facebook { background: #1877f2; }
.cp-social--youtube { background: #f00; }
.cp-social--instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.cp-social--linkedin { background: #0a66c2; }
.cp-social--whatsapp { background: #25d366; }
.cp-socials--sm { gap: 14px; padding-left: 0; }
.cp-socials--sm .cp-social { width: 34px; height: 34px; border-radius: 3px; font-size: 19px; }

/* Variante compacte (Publicité › Contact commercial) : icônes nues */
.cp-coords--compact .cp-coords__item { gap: 28px; padding: 0 0 13px; border: 0; }
.cp-coords--compact .cp-coords__icon { width: auto; height: auto; padding-top: 2px; background: none; font-size: 25px; --cp-hole: var(--white); }
.cp-coords--compact .cp-coords__value { font-size: 14.4px; line-height: 1.42; color: var(--ink); }
.cp-coords--compact .cp-coords__value small { font-size: 13.6px; }
.cp-coords--compact .cp-coords__strong { font-size: 13.8px; font-weight: 600; line-height: 1.45; letter-spacing: 0; }

/* ---------- Formulaires Contact Form 7 ---------- */
.wpcf7 form > :where(p, div, fieldset) { margin: 0 0 18px; }
.wpcf7 .cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; }
.wpcf7 .cf-row p { margin: 0; }
.wpcf7 .cf-label { display: block; margin-bottom: 6px; padding: 0; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--ink); }
.wpcf7 .cf-req { color: var(--red); }
.wpcf7-form-control-wrap { display: block; position: relative; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 select, .wpcf7 textarea { min-height: 52px; padding: 12px 16px; border: 1px solid var(--cp-field); border-radius: var(--radius); background-color: var(--white); font-size: 14.5px; }
.wpcf7 select { min-height: 47px; padding-block: 8px; appearance: none; -webkit-appearance: none; padding-right: 44px; background: var(--white) var(--cp-i-chevron) right 16px center / 18px no-repeat; color: #444; cursor: pointer; }
.wpcf7 select:has(option[value=""]:checked) { color: #777; } /* « Sélectionnez… » en gris, comme la maquette */
.wpcf7 textarea { display: block; height: 106px; min-height: 106px; }
.wpcf7 .cf-field--user input, .wpcf7 .cf-field--mail input { padding-left: 55px; }
.wpcf7 .cf-field--user .wpcf7-form-control-wrap::before, .wpcf7 .cf-field--mail .wpcf7-form-control-wrap::before { content: ""; position: absolute; left: 18px; top: 16px; width: 20px; height: 20px; background: #666; -webkit-mask: var(--cp-i-user) center / contain no-repeat; mask: var(--cp-i-user) center / contain no-repeat; pointer-events: none; }
.wpcf7 .cf-field--mail .wpcf7-form-control-wrap::before { -webkit-mask-image: var(--cp-i-mail); mask-image: var(--cp-i-mail); }
/* Texte indicatif « … * » : copie posée sur le champ (cf-ph, inc/pages/contact-pub.php) pour l'astérisque rouge. */
.wpcf7 input[placeholder$=" *"]::placeholder { color: transparent; }
.wpcf7 .cf-ph { position: absolute; left: 17px; right: 12px; top: 26px; /* milieu du champ, même si un message d'erreur suit */ overflow: hidden; transform: translateY(-50%); font-size: 13.7px; line-height: 1.3; color: #666; white-space: nowrap; text-overflow: ellipsis; pointer-events: none; }
.wpcf7 :is(.cf-field--user, .cf-field--mail) .cf-ph { left: 56px; }
.wpcf7 input:not(:placeholder-shown) + .cf-ph { display: none; }

/* Cartes-radios « Destinataire » */
.wpcf7 .cf-choices { margin-bottom: 24px; padding: 0; border: 0; min-width: 0; }
.wpcf7 .cf-choices legend { float: left; width: 100%; margin-bottom: 9px; }
.wpcf7 .cf-choices .wpcf7-radio { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; clear: both; }
.wpcf7 .cf-choices .wpcf7-list-item { margin: 0; }
.wpcf7 .cf-choices label { position: relative; display: block; cursor: pointer; }
.wpcf7 .cf-choices input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.wpcf7 .cf-choices .wpcf7-list-item-label { display: flex; align-items: center; min-height: 74px; padding: 10px 14px 10px 0; border: 1px solid var(--cp-card-line); border-radius: var(--radius); background: var(--white); transition: border-color .15s, background-color .15s; }
.cf-choice__icon { display: grid; place-items: center; flex: none; width: 94px; color: var(--red); font-size: 37px; }
/* Poignée de main large et basse : agrandie pour la même présence que les autres pictogrammes (mesuré sur la maquette). */
.cf-choice__icon .cp-solid--handshake { font-size: 1.2em; }
.cp-card__icon .cp-solid--handshake { font-size: 1.16em; }
.cf-choice__text { display: grid; gap: 2px; line-height: 1.3; }
.cf-choice__text strong { font-size: 15.5px; font-weight: 700; color: var(--ink); }
.cf-choice__text small { font-size: 14px; color: #666; }
.wpcf7 .cf-choices label:hover .wpcf7-list-item-label { border-color: #f0a4aa; }
.wpcf7 .cf-choices input:checked + .wpcf7-list-item-label { --cp-hole: var(--cp-pink); border-color: var(--red); background: var(--cp-pink); }
.wpcf7 .cf-choices input:focus-visible + .wpcf7-list-item-label { outline: 3px solid var(--red); outline-offset: 2px; }

/* Consentement (absent de la maquette, gardé compact), piège à robots, envoi */
.wpcf7 form > p.cf-consent { margin-bottom: 14px; font-size: 12.5px; line-height: 1.4; color: #555; }
.wpcf7 .cf-consent .wpcf7-list-item { margin: 0; }
.wpcf7 .cf-consent label { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; }
.wpcf7 .cf-consent input { flex: none; width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--red); }
.wpcf7 .cf-consent a { color: var(--red); text-decoration: underline; }
.wpcf7 .cf-trap { display: none !important; }
.wpcf7 .cf-submit { position: relative; margin-bottom: 0; }
.wpcf7 .cf-submit .wpcf7-submit { --cp-hole: var(--red); display: flex; align-items: center; justify-content: center; gap: 13px; width: 100%; min-height: 52px; padding: 0 20px; border: 0; border-radius: var(--radius); background: var(--red); color: var(--white); font-size: 18px; font-weight: 700; cursor: pointer; transition: background-color .2s; }
.wpcf7 .cf-submit .wpcf7-submit .icon { font-size: 22px; }
.wpcf7 .cf-submit .wpcf7-submit:hover { --cp-hole: var(--red-dark); background: var(--red-dark); }
.wpcf7 .cf-submit .wpcf7-submit:disabled { opacity: .6; cursor: not-allowed; }
.wpcf7 .wpcf7-spinner { position: absolute; right: 12px; top: 50%; margin: -12px 0 0; }
.wpcf7 .wpcf7-not-valid { border-color: var(--red) !important; }
.wpcf7 .wpcf7-not-valid-tip { margin-top: 4px; font-size: 13px; color: var(--red-dark); }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 10px 14px; border-radius: var(--radius); font-size: 14px; }
.cp-form-fallback { margin-top: 18px !important; font-size: 16px; }
.cp-form-fallback a { color: var(--red); font-weight: 700; text-decoration: underline; }

/* ---------- Contact : coordonnées + formulaire ---------- */
.contact-main { display: grid; grid-template-columns: minmax(0, 378fr) minmax(0, 471fr); gap: 22px; align-items: stretch; }
/* Maquette : marge droite du formulaire plus étroite, barre et titre plus en retrait que dans le panneau Coordonnées. */
.contact-form.cp-panel { padding-right: 18px; }
.cp-content .contact-form h2.wp-block-heading { margin-left: -14px; padding-left: 23px; }
.cp-content .contact-form h2.wp-block-heading + p { max-width: 570px; }

/* Localisation + carte image */
.contact-where { display: grid; grid-template-columns: minmax(0, 478fr) minmax(0, 373fr); gap: 18px; align-items: end; }
.contact-map h2.wp-block-heading + p { font-size: 15.1px; }
.contact-services h2.wp-block-heading + p { font-size: 15.5px; }
.cp-map { position: relative; margin-top: 12px; height: 282px; border-radius: 4px; overflow: hidden; background: #e8eef1; }
.cp-map__tiles { position: absolute; left: 50%; top: 50%; display: grid; filter: saturate(.55) brightness(1.04); }
.cp-map__tiles img { display: block; width: 256px; max-width: none; height: 256px; }
.cp-map__credit { position: absolute; left: 0; bottom: 0; padding: 2px 7px; border-top-right-radius: 4px; background: rgb(255 255 255 / .85); font-size: 11px; color: #333; }
.cp-map__credit a { text-decoration: underline; }
.cp-map__pin { position: absolute; display: flex; align-items: flex-end; gap: 4px; transform: translate(-14px, -100%); color: var(--red); font-size: 34px; filter: drop-shadow(0 1px 2px rgb(0 0 0 / .35)); }
.cp-map__pin span { margin-bottom: 6px; padding: 1px 6px; border-radius: 3px; background: rgb(255 255 255 / .9); font-size: 13px; font-weight: 700; }
.cp-map__ctrl { position: absolute; top: 13px; right: 12px; display: grid; gap: 22px; }
.cp-map__ctrl a { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 3px; background: var(--white); color: #222; font-size: 21px; box-shadow: 0 1px 4px rgb(0 0 0 / .3); }
.cp-map__ctrl a:hover, .cp-map__ctrl a:focus-visible { color: var(--red); }
.cp-map__ctrl .icon { stroke-width: 2.6; }

.cp-content .cp-photo-card { min-height: 347px !important; padding: 28px 22px 16px; border-radius: 6px; overflow: hidden; background: linear-gradient(135deg, #2b0507 0%, #120203 55%, #050000 100%); }
.cp-photo-card .wp-block-cover__background { background: linear-gradient(90deg, rgb(0 0 0 / .78) 0%, rgb(0 0 0 / .45) 55%, rgb(0 0 0 / .05) 100%) !important; opacity: 1 !important; }
.cp-photo-card .wp-block-cover__inner-container { width: 100%; max-width: 330px; color: var(--white); margin-right: auto; }
.cp-content .cp-photo-card h2.wp-block-heading { margin: 0; padding: 0; color: var(--white); font-size: 28.4px; line-height: 1.18; }
.cp-content .cp-photo-card h2.wp-block-heading::before { display: none; }
.cp-content .cp-photo-card h2.wp-block-heading::after { content: ""; display: block; width: 46px; height: 3px; margin: 16px 0 14px; background: var(--red); }
.cp-content .cp-photo-card h2.wp-block-heading + p { margin: 0; color: rgb(255 255 255 / .94); font-size: 16px; line-height: 1.45; }

/* « Vous souhaitez… » : icône et titre centrés, texte aligné à gauche */
.contact-services .cp-card { align-items: center; padding: 13px 17px 22px 27px; }
.cp-card__icon { display: grid; place-items: center; height: 1em; margin-bottom: 10px !important; font-size: 52px; line-height: 1; } /* hauteur fixe : les glyphes agrandis ne décalent pas les titres */
.cp-card h3.wp-block-heading { font-size: 18px; font-weight: 700; line-height: 1.3; }
.contact-services .cp-card h3.wp-block-heading { text-align: center; }
.cp-card h3.wp-block-heading + p { align-self: stretch; margin-top: 9px; font-size: 15.1px; line-height: 1.36; color: #474747; }
.contact-services .cp-card .wp-block-buttons { padding-top: 10px; }

/* Bandeau newsletter (maquette 17) : textes plus grands que le bandeau compact commun ; Publicité a les siens. */
@media (min-width: 1025px) {
	.tpl-contact .nl-banner__inner { gap: 21px; padding: 6px 18px 6px 23px; }
	.tpl-contact .nl-banner__icon { width: 60px; height: 60px; }
	.tpl-contact .nl-banner__title { font-size: 21px; }
	.tpl-contact .nl-banner p { font-size: 15.5px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.cp-hero .cp-hero__title { font-size: 58px; }
	.cp-coords__item { gap: 22px; }
	.cp-socials { gap: 14px; }
	.cp-social { width: 52px; height: 52px; font-size: 26px; }
	.cf-choice__icon { width: 64px; }
}
@media (max-width: 1024px) {
	.cp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.contact-main, .contact-where { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.cp-hero--contact .breadcrumb ol { font-size: 13px; }
	.cp-hero .cp-hero__inner { min-height: 0; padding-block: 18px 28px; }
	.cp-hero .breadcrumb, .cp-hero .page-intro { padding-left: 0; }
	.cp-hero .page-intro .cp-hero__badge { margin-left: 0; }
	/* Texte sur toute la largeur de la photo : voile plus dense pour le contraste. */
	.cp-hero .page-hero__media::after { background: linear-gradient(90deg, rgb(8 0 0 / .92) 0%, rgb(40 2 4 / .8) 60%, rgb(20 2 4 / .62) 100%); }
	.cp-hero .cp-hero__title { font-size: 42px; line-height: 1; }
	.cp-hero .cp-hero__title::after { margin: 14px 0 16px; }
	.cp-hero .cp-hero__lead { font-size: 18px; }
	.cp-hero .page-intro p:not(.cp-hero__badge, .cp-hero__lead) { font-size: 16px; }
	.cp-content h2.wp-block-heading, .cp-content .cp-panel h2.wp-block-heading { font-size: 22px; }
	.cp-content .cp-panel h2.wp-block-heading + p { font-size: 15px; }
	.cp-cards { grid-template-columns: 1fr; }
	.contact-services .cp-card { padding-inline: 22px; }
	.cp-panel { padding: 10px 16px 20px; }
	.cp-content .cp-panel h2.wp-block-heading { margin-left: -12px; padding-left: 20px; }
	.cp-coords__item { gap: 16px; }
	.cp-coords__icon { width: 44px; height: 44px; font-size: 21px; }
	.cp-coords__item--socials .cp-coords__icon { font-size: 26px; }
	.cp-coords__value { font-size: 16px; }
	.cp-socials { gap: 10px; }
	.cp-social { width: 46px; height: 46px; font-size: 22px; }
	.wpcf7 .cf-row, .wpcf7 .cf-choices .wpcf7-radio { grid-template-columns: 1fr; gap: 12px; }
	.cp-map { height: 240px; }
	.cp-content .cp-photo-card { min-height: 300px !important; }
}
