/* 1477 Auto Car Care — site styles (ported from the approved mockup). */
:root {
	--acc-red: var(--wp--preset--color--red, #E10600);
	--acc-red-700: var(--wp--preset--color--red-700, #B80500);
	--acc-red-50: var(--wp--preset--color--red-50, #FFF0EF);
	--acc-ink: var(--wp--preset--color--ink, #181818);
	--acc-ink-2: var(--wp--preset--color--ink-2, #2B2D31);
	--acc-muted: var(--wp--preset--color--muted, #5F6368);
	--acc-line: var(--wp--preset--color--line, #E3E5E8);
	--acc-bg: var(--wp--preset--color--bg, #F5F6F8);
	--acc-wa: var(--wp--preset--color--whatsapp, #128C4A);
	--acc-green: var(--wp--preset--color--green, #137333);
	--acc-head: var(--wp--preset--font-family--heading);
	--acc-radius: 14px;
}

body { -webkit-font-smoothing: antialiased; }
.acc-main { margin-block-start: 0; }
.acc-main > .wp-block-post-content > * + * { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Buttons ---------- */
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; gap: .5rem; line-height: 1.2; transition: background .15s, border-color .15s; border: 1px solid transparent; }
.wp-block-button.acc-btn-sm .wp-block-button__link { padding: .5rem .8rem; font-size: .875rem; border-radius: 8px; }
.wp-block-button.acc-btn-lg .wp-block-button__link { padding: .9rem 1.25rem; font-size: 1rem; border-radius: 12px; }
.wp-block-button.is-style-acc-ghost .wp-block-button__link { background: #fff; color: var(--acc-ink); border-color: #D5D8DC; }
.wp-block-button.is-style-acc-ghost .wp-block-button__link:hover { border-color: var(--acc-ink); background: #fff; }
.wp-block-button.is-style-acc-white .wp-block-button__link { background: #fff; color: var(--acc-ink); }
.wp-block-button.is-style-acc-white .wp-block-button__link:hover { background: #f1f1f1; }
.wp-block-button.is-style-acc-ink .wp-block-button__link { background: var(--acc-ink); color: #fff; }
.wp-block-button.is-style-acc-ink .wp-block-button__link:hover { background: #000; }
.wp-block-button.is-style-acc-whatsapp .wp-block-button__link { background: var(--acc-wa); color: #fff; }
.wp-block-button.is-style-acc-whatsapp .wp-block-button__link:hover { background: #0E733C; }
.wp-block-button.is-style-acc-whatsapp .wp-block-button__link::before {
	content: ""; width: 18px; height: 18px; background: currentColor; flex: none;
	-webkit-mask: url("../images/icon-wa.svg") center / contain no-repeat; mask: url("../images/icon-wa.svg") center / contain no-repeat;
}

/* ---------- Header ---------- */
.acc-header { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid var(--acc-line); padding-block: .7rem; }
.admin-bar .acc-header { top: 32px; }
.acc-header-in { gap: 1.25rem; }
.acc-logo { display: flex; align-items: center; gap: .6rem; text-decoration: none; flex: none; }
.acc-logo-badge { height: 58px; width: auto; display: block; }
.acc-nav { margin-left: auto; font-weight: 600; font-size: .9rem; }
.acc-nav .wp-block-navigation-item__content { color: var(--acc-ink-2); text-decoration: none; }
.acc-nav .wp-block-navigation-item__content:hover { color: var(--acc-red); }
.acc-header-ctas { flex-wrap: nowrap; gap: .5rem; }
@media (max-width: 900px) {
	.acc-header-ctas .is-style-acc-ghost { display: none; }
	.acc-logo-badge { height: 46px; }
	.acc-nav { order: 3; margin-left: 0; }
}
@media (max-width: 480px) { .acc-header-ctas { display: none; } }

/* ---------- Sections ---------- */
.acc-sec { padding-block: var(--wp--preset--spacing--60, 4rem); }
.acc-alt { background: var(--acc-bg); }
.acc-dark { background: var(--acc-ink); color: #fff; }
.acc-sec-head { margin-bottom: 2rem; }
.acc-sec-head > * { max-width: 46rem; }
.acc-sec-head h2 { margin: .35rem 0 0; }
.acc-kicker { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--acc-red); margin: 0; }
.acc-sec-lead { color: var(--acc-muted); font-size: 1.05rem; margin-top: .8rem; }
.acc-dark .acc-sec-lead { color: #BDC1C6; }
.acc-flag { display: inline-block; font-size: .7rem; font-weight: 700; color: #A15C00; background: #FEF3E0; border-radius: 6px; padding: 0 .4rem; vertical-align: middle; letter-spacing: 0; text-transform: none; font-family: var(--wp--preset--font-family--body); font-style: normal; }
.acc-fine { font-size: .8rem; color: var(--acc-muted); }

/* ---------- Hero ---------- */
.acc-hero { position: relative; min-height: 540px; display: flex; flex-direction: column; justify-content: flex-end; background: #111; color: #fff; overflow: hidden; padding-block: 3.5rem; }
.acc-hero > .acc-hero-bg { position: absolute; inset: 0; margin: 0 !important; max-width: none !important; width: 100%; height: 100%; }
.acc-hero > .acc-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: .55; }
.acc-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,.65) 45%, rgba(10,10,10,.1) 100%); pointer-events: none; }
.acc-hero > .acc-hero-in { position: relative; z-index: 1; width: 100%; }
.acc-hero-in > * { max-width: 44rem; }
.acc-eyebrow { display: inline-block; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: var(--acc-red); padding: .3rem .65rem; border-radius: 6px; margin: 0; }
.acc-hero-title { color: #fff; margin: 1rem 0 .9rem; }
.acc-hero-title em { font-style: normal; color: var(--acc-red); }
.acc-lead { font-size: 1.15rem; color: #E8EAED; max-width: 36rem; }
.acc-hero-ctas { gap: .6rem; margin-top: 1.4rem; }
.acc-trust { list-style: none; padding: 0; margin: 1.6rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: .9rem; color: #E8EAED; }
.acc-trust li { display: flex; align-items: center; gap: .45rem; }
.acc-trust li::before { content: "✓"; color: #7BD88F; font-weight: 800; }
.acc-trust li.acc-star::before { content: "★"; color: #FBBC04; }

/* ---------- Tracker band ---------- */
.acc-tracker-band { background: #fff; border-bottom: 1px solid var(--acc-line); padding-block: 1.4rem; }
.acc-tracker-band { padding-left: max(var(--wp--style--root--padding-left, 1rem), calc((100% - 1240px) / 2)) !important; padding-right: max(var(--wp--style--root--padding-right, 1rem), calc((100% - 1240px) / 2)) !important; }
.acc-tracker-band { display: grid; grid-template-columns: minmax(200px, 15rem) 1fr; gap: 1.5rem; align-items: center; }
.acc-tracker-band > * { margin: 0 !important; max-width: none !important; }
.acc-tb-title { font-family: var(--acc-head); font-size: 1.35rem; text-transform: uppercase; line-height: 1.1; margin: 0; }
.acc-tb-sub { font-size: .8rem; color: var(--acc-muted); margin: .2rem 0 0; }
.acc-tracker { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); }
.acc-tracker li { position: relative; text-align: center; padding-top: 30px; font-size: .78rem; color: var(--acc-muted); }
.acc-tracker li strong { display: block; font-size: .85rem; color: var(--acc-ink); }
.acc-tracker li::before { content: ""; position: absolute; top: 11px; left: -50%; right: 50%; height: 3px; background: var(--acc-line); }
.acc-tracker li:first-child::before { display: none; }
.acc-tracker li.is-done::before, .acc-tracker li.is-now::before { background: var(--acc-red); }
.acc-tracker li::after { content: ""; position: absolute; top: 2px; left: 50%; transform: translateX(-50%); width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 3px solid var(--acc-line); box-sizing: border-box; }
.acc-tracker li.is-done::after { background: var(--acc-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round' d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; border-color: var(--acc-red); }
.acc-tracker li.is-now::after { border-color: var(--acc-red); box-shadow: 0 0 0 5px var(--acc-red-50); }
.acc-tracker li.is-now strong { color: var(--acc-red-700); }

/* ---------- Grids and cards ---------- */
.acc-grid { display: grid !important; gap: 1rem; }
.acc-grid > * { margin: 0 !important; }
.acc-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.acc-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.acc-card { background: #fff; border: 1px solid var(--acc-line); border-radius: var(--acc-radius); padding: 1.35rem; }
.acc-card > * { margin-block: 0 !important; }
.acc-card > * + * { margin-top: .5rem !important; }
.acc-card h3 { margin-top: .9rem !important; font-size: 1.4rem; }
.acc-card p { color: var(--acc-muted); font-size: .9rem; }
.acc-ic { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--acc-red-50); color: var(--acc-red); }
.acc-ic .acc-svg { width: 24px; height: 24px; }
.acc-promise { background: var(--acc-bg); }
.acc-promise .acc-ic { background: var(--acc-ink); color: #fff; }
.acc-promise p { color: var(--acc-ink-2); font-size: .92rem; }
.acc-svc { transition: border-color .15s, transform .15s; }
.acc-svc:hover { border-color: var(--acc-red); transform: translateY(-2px); }
.acc-also { color: var(--acc-muted); font-size: .9rem; margin-top: 1.25rem; }
.acc-ask { margin-top: 1.4rem; padding: 1.1rem 1.35rem; border-radius: var(--acc-radius); background: var(--acc-red-50); border: 1px solid #F6C7C4; gap: 1rem; }
.acc-ask p { margin: 0; }
.acc-ask-text p + p { color: var(--acc-ink-2); font-size: .9rem; }

/* ---------- About / David ---------- */
.acc-about { gap: 2.5rem; align-items: center; }
.acc-portrait { position: relative; border-radius: 16px; overflow: hidden; background: #222; aspect-ratio: 4 / 4.2; }
.acc-portrait > .acc-portrait-img { position: absolute; inset: 0; margin: 0 !important; height: 100%; }
.acc-portrait > .acc-portrait-img img { width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.acc-portrait-note { position: absolute; inset: 18px; margin: 0 !important; border: 2px dashed rgba(255,255,255,.55); border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff; font-size: .85rem; padding: 1rem; }
.acc-portrait-note strong { font-size: 1rem; }
.acc-creds { list-style: none; padding: 0; margin: 1.25rem 0 0; display: grid; gap: .55rem; }
.acc-creds li { padding-left: 1.6rem; position: relative; }
.acc-creds li::before { content: "✓"; position: absolute; left: 0; color: var(--acc-green); font-weight: 800; }
.acc-quote { margin: 1.1rem 0 0; padding: .9rem 1.1rem; border-left: 4px solid var(--acc-red); background: var(--acc-bg); border-radius: 0 12px 12px 0; font-style: italic; color: var(--acc-ink-2); }
.acc-quote p { margin: 0; }
.acc-facts { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 1.25rem 0 !important; }
.acc-facts > * { margin: 0 !important; }
.acc-fact { border: 1px solid var(--acc-line); border-radius: 12px; padding: .85rem; }
.acc-fact p { margin: 0; font-size: .8rem; color: var(--acc-muted); }
.acc-fact .acc-fact-n { font-family: var(--acc-head); font-size: 1.9rem; font-weight: 800; line-height: 1; color: var(--acc-ink); margin-bottom: .2rem; }
.acc-label { font-size: .85rem; margin-bottom: .4rem !important; }
.acc-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.acc-chips li { background: #F1F3F4; border-radius: 99px; padding: .2rem .65rem; font-size: .78rem; font-weight: 600; color: var(--acc-ink-2); }

/* ---------- Sticker section ---------- */
.acc-dark h2 { color: #fff; }
.acc-sticker-cols { gap: 3rem; align-items: center; }
.acc-steps { list-style: none; counter-reset: s; padding: 0; margin: 1.5rem 0; display: grid; gap: .9rem; }
.acc-steps li { counter-increment: s; position: relative; padding-left: 3rem; color: #BDC1C6; font-size: .9rem; }
.acc-steps li strong { display: block; color: #fff; font-size: 1rem; }
.acc-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; background: var(--acc-red); color: #fff; display: grid; place-items: center; font-family: var(--acc-head); font-weight: 800; font-size: 1.1rem; }
.acc-sticker-art { background: #2A2C30; border-radius: 18px; padding: 2.25rem; display: grid; place-items: center; }
.acc-sticker-img { margin: 0 !important; }
.acc-sticker-img img { max-width: 420px; width: 100%; filter: drop-shadow(0 12px 24px rgba(0,0,0,.45)); }

/* ---------- Cita placeholder ---------- */
.acc-cita-placeholder { max-width: 46rem !important; margin-left: max(0px, calc((100% - 1240px) / 2)) !important; }
.acc-cita-placeholder p { color: var(--acc-ink); font-size: 1rem; }

/* ---------- Reviews ---------- */
.acc-opiniones { padding-block: 2.75rem; }
.acc-reviews { padding: 1.6rem; border-radius: 16px; background: #fff; border: 1px solid var(--acc-line); gap: 1.25rem; }
.acc-score-wrap { gap: 1rem; align-items: center; }
.acc-score { font-family: var(--acc-head); font-size: 3.5rem; font-weight: 800; line-height: 1; margin: 0; }
.acc-stars { color: #FBBC04; font-size: 1.35rem; letter-spacing: 2px; }
.acc-score-meta > * { margin: 0 !important; }
.acc-score-label { color: var(--acc-muted); margin: 0; }

/* ---------- Contact ---------- */
.acc-contact-cols { gap: 2rem; }
.acc-contact { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.acc-contact li { position: relative; padding-left: 3.25rem; min-height: 40px; color: var(--acc-muted); }
.acc-contact li strong { color: var(--acc-ink); }
.acc-contact li::before { content: ""; position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 10px; background: var(--acc-red-50) var(--acc-i) center / 20px no-repeat; }
.acc-c-pin { --acc-i: url("../images/icon-pin.svg"); }
.acc-c-phone { --acc-i: url("../images/icon-phone.svg"); }
.acc-c-wa { --acc-i: url("../images/icon-wa-red.svg"); }
.acc-c-mail { --acc-i: url("../images/icon-mail.svg"); }
.acc-hours { list-style: none; padding: 0; margin: .4rem 0 0; max-width: 24rem; }
.acc-hours li { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; border-bottom: 1px dashed var(--acc-line); font-size: .92rem; }
.acc-mapbox { position: relative; min-height: 380px; height: 100%; border-radius: 16px; overflow: hidden; background: #ECEEF1; }
.acc-mapfb { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-weight: 600; color: var(--acc-muted); text-decoration: none; }
.acc-map { position: relative; border: 0; width: 100%; height: 100%; min-height: 380px; display: block; }

/* ---------- Footer ---------- */
.acc-footer { background: #0F1012; color: #9AA0A6; padding-block: 1.75rem; font-size: .82rem; }
.acc-footer a { color: #fff; }
.acc-footer-in { gap: 1rem; }
.acc-footer-badge { width: 120px; height: auto; display: block; margin-bottom: .6rem; }
.acc-footer-brand p, .acc-footer-legal { margin: 0; max-width: 34rem; }

/* ---------- Pages ---------- */
.acc-page { padding-block: 3rem 4rem; }
.acc-page-title { text-transform: none; font-size: clamp(2rem, 1.5rem + 2vw, 3rem); }

/* ---------- Floating WhatsApp ---------- */
.acc-wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 40; width: 58px; height: 58px; border-radius: 50%; background: var(--acc-wa); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.acc-wa-float svg { width: 30px; height: 30px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.acc-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.acc-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.acc-tracker-band { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.acc-hero { min-height: 500px; padding-block: 2.25rem; }
	.acc-grid-3, .acc-grid-4 { grid-template-columns: 1fr; }
	.acc-tracker { grid-template-columns: repeat(3, 1fr); row-gap: .9rem; }
	.acc-tracker li:nth-child(4)::before { display: none; }
	.acc-sticker-art { padding: 1.25rem; }
	.acc-wa-float { right: 14px; bottom: 14px; }
	.acc-score { font-size: 3rem; }
}
@media (prefers-reduced-motion: reduce) { .acc-svc { transition: none; } .acc-svc:hover { transform: none; } }
