/*
Theme Name: Cerrajeros Cali
Theme URI: https://www.cerrajeroscali.com.co/
Author: Cerrajeros Cali
Description: Tema de bloques ligero para Cerrajeros Cali. Replica el diseño anterior (amarillo/negro, Montserrat + Lato) sin WPBakery, Slider Revolution ni ThemeMove Core.
Version: 2.1.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cerrajeros-cali
*/

.has-negro-background-color :is(h1,h2,h3,h4):not(.has-text-color),
.cc-testimonios :is(h1,h2,h3,h4):not(.has-text-color) { color: #fff; }
.wp-block-button__link { background: var(--cc-y); color: var(--cc-k); border-radius: 0; font-family: var(--wp--preset--font-family--montserrat); font-weight: 700; text-transform: uppercase; font-size: 13px; }
.wp-block-button__link:hover { background: #fff; color: var(--cc-k); }
.wp-block-button__link.has-whatsapp-background-color:hover { background: #1ebe5a; color: #fff; }
a:hover { color: var(--cc-y); }
.cc-services { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.cc-services > * { margin: 0 !important; }
.cc-card .wp-block-post-featured-image img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.wp-block-post-template.is-flex-container { gap: 30px; }
.cc-header > .wp-block-group { max-width: 1170px; margin-left: auto !important; margin-right: auto !important; }
.cc-header .cc-logo { margin: 0; }

html { scroll-behavior: smooth; }
:root { --cc-y: var(--wp--preset--color--amarillo, #fbd232); --cc-k: var(--wp--preset--color--negro, #111); }

/* Secciones apiladas sin separación */
body .wp-site-blocks > * + *,
body .cc-landing > * + *,
body .wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }
body .cc-landing > * { margin-top: 0; margin-bottom: 0; }
[id] { scroll-margin-top: 20px; }

/* ---------- Iconos (máscaras SVG, se colorean con currentColor) ---------- */
.cc-ico::before {
	content: ""; display: inline-block; flex: none;
	width: 1.1em; height: 1.1em; margin-right: .45em; vertical-align: -0.15em;
	background: currentColor;
	-webkit-mask: var(--cc-icon) center / contain no-repeat;
	mask: var(--cc-icon) center / contain no-repeat;
}
.cc-ico-y::before { background: var(--cc-y); }
.cc-ico-lg::before { width: 1.6em; height: 1.6em; }

/* ---------- Cabecera ---------- */
.cc-header {
	background: linear-gradient(115deg, var(--cc-y) 0 calc(50% - 250px), var(--cc-k) calc(50% - 250px));
	padding-top: 22px !important; padding-bottom: 22px !important;
}
.cc-header .wp-block-site-logo img, .cc-header .cc-logo img { max-height: 70px; width: auto; }
.cc-header .cc-nav {
	background: #fff; padding: 0 12px;
}
.cc-header .cc-nav .wp-block-navigation-item__content { color: #666; padding: 18px 12px; }
.cc-header .cc-nav .wp-block-navigation-item__content:hover { color: var(--cc-k); }
.cc-header .cc-nav .cc-nav-cta > .wp-block-navigation-item__content {
	border: 2px solid var(--cc-y); color: var(--cc-k); padding: 16px 14px;
}
.cc-header .cc-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--cc-k); }
.cc-header .cc-nav .is-menu-open .wp-block-navigation-item__content { color: #fff; }
@media (max-width: 900px) {
	.cc-header { background: var(--cc-y); }
	.cc-header .cc-nav { background: transparent; padding: 0; }
	.cc-header .wp-block-navigation__responsive-container-open { color: var(--cc-k); }
	.cc-header .wp-block-navigation__responsive-container-open svg { width: 34px; height: 34px; }
}

/* ---------- Hero (banner) ---------- */
.cc-hero { line-height: 0; }
.cc-hero img { width: 100%; height: auto; display: block; }
.cc-only-mobile { display: none !important; }
@media (max-width: 767px) {
	.cc-only-desktop { display: none !important; }
	.cc-only-mobile { display: block !important; }
}

/* ---------- Franja intro (negra con diagonal) ---------- */
.cc-intro { background: linear-gradient(115deg, #1a1a1a 0 38%, var(--cc-k) 38%); }
.cc-intro h3, .cc-intro .cc-intro-t { margin: 0; }
.cc-intro p { margin: 4px 0 0; font-size: 12px; color: #aaa; }
.cc-intro .cc-ico::before { color: var(--cc-y); }

/* ---------- Por qué elegirnos: lista con llaves ---------- */
.cc-keylist { list-style: none; padding-left: 0; margin: 0; }
.cc-keylist li { position: relative; padding: 5px 0 5px 22px; font-size: 13px; }
.cc-keylist li::before {
	content: ""; position: absolute; left: 0; top: 9px; width: 14px; height: 14px; background: var(--cc-y);
	-webkit-mask: var(--cc-icon) center / contain no-repeat; mask: var(--cc-icon) center / contain no-repeat;
}
.cc-keylist a { color: #fff; text-decoration: none; }
.cc-keylist a:hover { color: var(--cc-y); }

/* ---------- Servicios: hexágono negro + barra amarilla ---------- */
.cc-services { gap: 22px 40px !important; }
.cc-service {
	display: flex; align-items: center; margin: 0 !important;
	font-family: var(--wp--preset--font-family--montserrat); font-weight: 700; font-size: 14px; color: var(--cc-k);
	background: linear-gradient(var(--cc-y), var(--cc-y)) 30px 50% / calc(100% - 30px) 34px no-repeat;
	min-height: 60px;
}
.cc-service::before {
	content: ""; flex: none; width: 54px; height: 60px; margin-right: 16px;
	background: var(--cc-k);
	clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}
.cc-service { position: relative; padding-left: 0; }
.cc-service::after {
	content: ""; position: absolute; left: 16px; top: 50%; width: 22px; height: 22px; margin-top: -11px; background: #fff;
	-webkit-mask: var(--cc-icon) center / contain no-repeat; mask: var(--cc-icon) center / contain no-repeat;
}
.cc-service a { color: inherit; text-decoration: none; }
.cc-service { justify-content: flex-start; }
.cc-service span, .cc-service { text-align: center; }

/* ---------- Testimonios ---------- */
.cc-testimonios-wrap { background: linear-gradient(90deg, #fff 0 50%, transparent 50%); }
.cc-testimonios {
	background: var(--cc-k);
	clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 0 100%);
}
.cc-slider {
	display: flex; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory;
	gap: 24px !important; scrollbar-width: thin; scrollbar-color: var(--cc-y) transparent; padding-bottom: 10px;
}
.cc-slider > * { flex: 0 0 100% !important; scroll-snap-align: start; margin: 0 !important; }
.cc-quote {
	border: 2px solid var(--cc-y); position: relative; padding: 22px 24px 22px 70px !important;
	color: #ddd; font-style: italic;
}
.cc-quote::before {
	content: "\201C"; position: absolute; left: 20px; top: 6px;
	font: 700 64px/1 Georgia, serif; color: var(--cc-y); font-style: normal;
}
.cc-quote cite, .cc-quote .cc-autor { display: block; margin-top: 14px; font-style: normal; color: #fff; font-family: var(--wp--preset--font-family--montserrat); font-weight: 700; font-size: 14px; }
.cc-quote .cc-autor small { display: block; color: #999; font-family: var(--wp--preset--font-family--lato); font-weight: 400; font-size: 12px; }
.cc-slider-hint { font-size: 12px; color: #888; margin-top: 8px !important; }
@media (max-width: 900px) {
	.cc-testimonios-wrap { background: var(--cc-k); }
	.cc-testimonios { clip-path: none; }
}

/* ---------- Llámanos ---------- */
.cc-hex {
	display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 64px;
	background: var(--cc-y); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
	margin: 0 !important; flex: none;
}
.cc-hex::before {
	content: ""; width: 26px; height: 26px; background: var(--cc-k);
	-webkit-mask: var(--cc-icon) center / contain no-repeat; mask: var(--cc-icon) center / contain no-repeat;
}
.cc-diag img { clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%); height: 100%; object-fit: cover; }
.cc-llamanos a { color: inherit; text-decoration: none; }

/* ---------- Botón flotante de WhatsApp (reemplaza Joinchat) ---------- */
.cc-wa {
	position: fixed; right: 20px; bottom: 20px; z-index: 999; width: 58px; height: 58px; border-radius: 50%;
	background: var(--wp--preset--color--whatsapp, #25d366); box-shadow: 0 4px 14px rgba(0,0,0,.25);
	display: flex; align-items: center; justify-content: center; transition: transform .2s;
}
.cc-wa:hover { transform: scale(1.08); }
.cc-wa svg { width: 32px; height: 32px; fill: #fff; }

/* ---------- Blog ---------- */
.cc-card { background: #fff; border: 1px solid #eee; }
.cc-card .wp-block-post-title a { text-decoration: none; }
.cc-card .wp-block-post-title a:hover { color: var(--cc-y); }

/* Iconos: Lucide (ISC License, https://lucide.dev) */
.cc-i-key{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='m2 21 9.6-9.6' /%3E %3Cpath d='m7.5 15.5 2.3 2.3a1 1 0 0 1 0 1.4l-2.1 2.1a1 1 0 0 1-1.4 0L4 19' /%3E %3Ccircle cx='15.5' cy='7.5' r='5.5' /%3E %3C/svg%3E")}
.cc-i-phone{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384' /%3E %3C/svg%3E")}
.cc-i-moto{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='m18 14-1-3' /%3E %3Cpath d='m3 9 6 2a2 2 0 0 1 2-2h2a2 2 0 0 1 1.99 1.81' /%3E %3Cpath d='M8 17h3a1 1 0 0 0 1-1 6 6 0 0 1 6-6 1 1 0 0 0 1-1v-.75A5 5 0 0 0 17 5' /%3E %3Ccircle cx='19' cy='17' r='3' /%3E %3Ccircle cx='5' cy='17' r='3' /%3E %3C/svg%3E")}
.cc-i-door{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M10 21H2' /%3E %3Cpath d='M10 3H7a2 2 0 00-2 2v16' /%3E %3Cpath d='M14 12h.01' /%3E %3Cpath d='M19 21V5a2 2 0 00-1.675-1.974l-6.163-1.013A1 1 0 0010 3v18a1 1 0 001.124.992z' /%3E %3Cpath d='M22 21h-3' /%3E %3C/svg%3E")}
.cc-i-lock{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Crect width='18' height='11' x='3' y='11' rx='2' ry='2' /%3E %3Cpath d='M7 11V7a5 5 0 0 1 9.9-1' /%3E %3C/svg%3E")}
.cc-i-car{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2' /%3E %3Ccircle cx='7' cy='17' r='2' /%3E %3Cpath d='M9 17h6' /%3E %3Ccircle cx='17' cy='17' r='2' /%3E %3C/svg%3E")}
.cc-i-house{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8' /%3E %3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z' /%3E %3C/svg%3E")}
.cc-i-cog{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M11 10.27 7 3.34' /%3E %3Cpath d='m11 13.73-4 6.93' /%3E %3Cpath d='M12 22v-2' /%3E %3Cpath d='M12 2v2' /%3E %3Cpath d='M14 12h8' /%3E %3Cpath d='m17 20.66-1-1.73' /%3E %3Cpath d='m17 3.34-1 1.73' /%3E %3Cpath d='M2 12h2' /%3E %3Cpath d='m20.66 17-1.73-1' /%3E %3Cpath d='m20.66 7-1.73 1' /%3E %3Cpath d='m3.34 17 1.73-1' /%3E %3Cpath d='m3.34 7 1.73 1' /%3E %3Ccircle cx='12' cy='12' r='2' /%3E %3Ccircle cx='12' cy='12' r='8' /%3E %3C/svg%3E")}
.cc-i-vault{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Crect width='18' height='18' x='3' y='3' rx='2' /%3E %3Ccircle cx='7.5' cy='7.5' r='.5' fill='%23000' /%3E %3Cpath d='m7.9 7.9 2.7 2.7' /%3E %3Ccircle cx='16.5' cy='7.5' r='.5' fill='%23000' /%3E %3Cpath d='m13.4 10.6 2.7-2.7' /%3E %3Ccircle cx='7.5' cy='16.5' r='.5' fill='%23000' /%3E %3Cpath d='m7.9 16.1 2.7-2.7' /%3E %3Ccircle cx='16.5' cy='16.5' r='.5' fill='%23000' /%3E %3Cpath d='m13.4 13.4 2.7 2.7' /%3E %3Ccircle cx='12' cy='12' r='2' /%3E %3C/svg%3E")}
.cc-i-star{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z' /%3E %3C/svg%3E")}
.cc-i-wrench{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z' /%3E %3C/svg%3E")}
.cc-i-clock{--cc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Ccircle cx='12' cy='12' r='10' /%3E %3Cpath d='M12 6v6l4 2' /%3E %3C/svg%3E")}

/* Enlaces sobre fondos oscuros */
.has-negro-background-color a:not(.wp-element-button), .cc-intro a { color: inherit; text-decoration: none; }
.has-negro-background-color a:not(.wp-element-button):hover, .cc-intro a:hover { color: var(--cc-y); }
.cc-diag { align-self: stretch !important; }
.cc-diag figure { height: 100%; margin: 0; }
@media (max-width: 781px) { .cc-diag { display: none; } }

@media (max-width: 781px) {
	.cc-testimonios-wrap .wp-block-column:first-child { display: none; }
	.cc-testimonios-wrap .cc-testimonios { padding: 40px 20px !important; }
	.cc-quote { padding: 20px 18px 20px 52px !important; }
	.cc-quote::before { left: 12px; font-size: 50px; }
}
.wp-block-group.alignfull > .wp-block-columns:last-child { margin-bottom: 0; }
.cc-hero figure { margin: 0; }
footer.wp-block-group { border-top: 1px solid #262626; }
