/* ===== Reusable atoms shared across pages ===== */
/* Page-level hero (smaller than home hero). Used on subpages. */
function PageHero({ eyebrow, title, subtitle, accent }) {
return (
{eyebrow && {eyebrow}}
{title}
{accent && {accent}}
{subtitle && (
{subtitle}
)}
);
}
/* WhatsApp CTA — reusable */
function WACta({ label = "Solicitar cotización por WhatsApp", phone = "573106018633", message }) {
const url = `https://wa.me/${phone}?text=${encodeURIComponent(message || 'Hola Polarizados Ya, quisiera más información.')}`;
return (
{label}
);
}
/* FAQ accordion item */
function FAQItem({ q, a, open = false }) {
const [isOpen, setIsOpen] = React.useState(open);
return (
);
}
/* Service card */
function ServiceCard({ num, title, desc, href, tags }) {
return (
{num} / 06
{title}
{desc}
{tags && tags.length > 0 && (
{tags.map((t) => {t})}
)}
);
}
/* Section header */
function SectionHead({ eyebrow, title, accent, subtitle }) {
return (
{eyebrow && {eyebrow}}
{title}
{accent && <> {accent}>}
{subtitle &&
{subtitle}
}
);
}
/* Image / Video placeholder */
function MediaSlot({ label, ratio = '16/9', mode = 'image', size = 'sm' }) {
return (
{mode === 'video' ? 'VIDEO' : 'IMAGEN'}
{ratio}
{label}
{mode === 'video' && (
)}
);
}
window.PageHero = PageHero;
window.WACta = WACta;
window.FAQItem = FAQItem;
window.ServiceCard = ServiceCard;
window.SectionHead = SectionHead;
window.MediaSlot = MediaSlot;