/*
Theme Name: Productos Limpieza Madrid
Theme URI: https://example.com/
Author: Productos Limpieza Madrid
Description: Tema WordPress ligero y editable para un catálogo de productos de limpieza sin tienda online.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: productos-limpieza-madrid
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700;9..40,800&display=swap');

:root{--color-background:#fff;--color-foreground:hsl(210 45% 15%);--color-primary:hsl(206 82% 24%);--color-primary-foreground:#fff;--color-secondary:hsl(206 45% 96%);--color-muted-foreground:hsl(212 16% 42%);--color-brand:hsl(158 64% 34%);--color-brand-foreground:#fff;--color-brand-soft:hsl(158 55% 94%);--color-accent:hsl(158 55% 94%);--color-accent-foreground:hsl(158 70% 22%);--color-border:hsl(210 25% 90%);--color-emerald-300:hsl(158 64% 60%);--font-sans:'DM Sans',system-ui,-apple-system,sans-serif;--fs-hero:clamp(2.25rem,5vw,3rem);--fs-h2:clamp(1.875rem,4vw,2.25rem);--fs-h3:1.125rem;--fs-body:1rem;--fs-lead:1.125rem;--fs-small:.875rem;--fs-eyebrow:.8125rem;--space-section-y:5rem;--radius:.75rem;--radius-lg:1.5rem;--radius-xl:1.875rem;--radius-pill:9999px;--container:72rem;--container-narrow:56rem;--shadow-sm:0 1px 2px rgba(15,40,60,.06);--shadow-md:0 8px 24px rgba(15,40,60,.08);--shadow-lg:0 18px 40px rgba(11,59,92,.12)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:clip;background:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4{margin:0;color:var(--color-foreground);font-weight:700;letter-spacing:-.01em;line-height:1.15}p{margin:0}ul{margin:0;padding:0;list-style:none}section[id]{scroll-margin-top:4.5rem}.icon{width:1.2rem;height:1.2rem;flex-shrink:0}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:1rem}.container-narrow{max-width:var(--container-narrow)}.section{padding-block:var(--space-section-y)}.section-soft{background:var(--color-secondary)}.eyebrow{color:var(--color-brand);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.section-title{margin-top:.75rem;font-size:var(--fs-h2)}.section-lead{max-width:42rem;margin-top:1rem;color:var(--color-muted-foreground);line-height:1.7}.entry-content{margin-top:1.5rem}.entry-content>*+*{margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.7rem;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--fs-body);font-weight:600;line-height:1;text-align:center;transition:background-color .2s,color .2s,border-color .2s,transform .1s}.btn:active{transform:scale(.98)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid hsl(206 82% 24%/.25);outline-offset:3px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:hsl(206 82% 20%)}.btn-brand{background:var(--color-brand);color:#fff}.btn-brand:hover{background:hsl(158 64% 30%)}.btn-outline{border-color:hsl(206 82% 24%/.3);background:transparent;color:var(--color-primary)}.btn-outline:hover{background:var(--color-secondary)}.btn-outline-brand{border-color:hsl(158 64% 34%/.4);background:transparent;color:var(--color-brand)}.btn-outline-brand:hover{background:var(--color-brand-soft)}.btn-lg{min-height:3rem;padding-inline:1.75rem}.btn-block{width:100%}

/* Cabecera */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid hsl(210 25% 90%/.7);background:hsl(0 0% 100%/.9);backdrop-filter:blur(8px)}.admin-bar .site-header{top:32px}.header-inner{display:flex;align-items:center;justify-content:space-between;height:4rem}.brand{display:flex;align-items:center;gap:.625rem;color:var(--color-foreground);font-size:.9375rem;font-weight:700;letter-spacing:-.01em}.brand-mark{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.75rem;background:var(--color-primary);color:#fff}.brand-mark .icon{width:1.25rem;height:1.25rem}.brand-accent{color:var(--color-brand)}.main-nav{display:none;align-items:center}.plm-nav-list{display:flex;align-items:center;gap:1.75rem}.main-nav a{color:var(--color-muted-foreground);font-size:var(--fs-small);font-weight:500}.main-nav a:hover{color:var(--color-primary)}.header-actions{display:flex;align-items:center;gap:.5rem}.header-cta-desktop{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:transparent;color:var(--color-foreground)}.menu-toggle .icon{width:1.25rem;height:1.25rem}.mobile-menu{display:none;padding:.75rem 1rem 1.25rem;border-top:1px solid var(--color-border);background:#fff}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:.625rem .75rem;border-radius:.5rem;color:var(--color-foreground);font-size:var(--fs-small);font-weight:500}.mobile-menu a:hover{background:var(--color-secondary)}.mobile-menu .btn{margin-top:.75rem}

/* Portada */
.hero{position:relative;overflow:hidden;background:linear-gradient(to bottom,hsl(206 45% 96%/.7),#fff 60%)}.hero-grid{display:grid;align-items:center;gap:3rem;padding-block:4rem 5rem}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem 1rem;border:1px solid hsl(158 64% 34%/.25);border-radius:var(--radius-pill);background:var(--color-brand-soft);color:var(--color-accent-foreground);font-size:.75rem;font-weight:600}.hero-badge .icon{width:.875rem;height:.875rem}.hero-title{margin-top:1.5rem;font-size:var(--fs-hero);font-weight:800;line-height:1.1}.hero-title-accent{color:var(--color-primary)}.hero-text{max-width:36rem;margin-top:1.25rem;color:var(--color-muted-foreground);font-size:var(--fs-lead);line-height:1.7}.hero-cta{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}.hero-media{position:relative}.hero-media>img{width:100%;aspect-ratio:3/2;border:1px solid var(--color-border);border-radius:var(--radius-xl);object-fit:cover;box-shadow:var(--shadow-lg)}.hero-card{position:absolute;bottom:-1.25rem;left:1.25rem;display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-md)}.hero-card-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-pill);background:var(--color-brand-soft);color:var(--color-brand)}.hero-card-title,.hero-card-text{display:block}.hero-card-title{color:var(--color-foreground);font-size:var(--fs-small);font-weight:700}.hero-card-text{color:var(--color-muted-foreground);font-size:.75rem}

/* Ventajas y catálogo */
.advantages-grid,.products-grid{display:grid;gap:1.5rem}.advantage-card{display:flex;flex-direction:column;height:100%;padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;transition:box-shadow .2s}.advantage-card:hover,.contact-link:hover{box-shadow:var(--shadow-md)}.advantage-icon,.contact-link-icon{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill)}.advantage-icon{width:3rem;height:3rem;background:var(--color-brand-soft);color:var(--color-brand)}.advantage-icon .icon{width:1.5rem;height:1.5rem}.advantage-card h2{margin-top:1rem;font-size:var(--fs-h3)}.advantage-card p{margin-top:.5rem;color:var(--color-muted-foreground);font-size:var(--fs-small);line-height:1.7}.products-grid{margin-top:3rem}.product-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:#fff;transition:box-shadow .2s}.product-card:hover{box-shadow:var(--shadow-lg)}.product-card>img{width:100%;aspect-ratio:1/1;object-fit:cover}.product-body{display:flex;flex:1;flex-direction:column;padding:1.5rem}.product-card h3{font-size:var(--fs-h3)}.product-card p{flex:1;margin-top:.5rem;color:var(--color-muted-foreground);font-size:var(--fs-small);line-height:1.7}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem}.product-price{color:var(--color-primary);font-size:1rem;font-weight:700}.product-footer .btn{padding:.65rem .85rem;font-size:.78rem}

/* Tabla y sobre nosotros */
.price-table{overflow:hidden;margin-top:2.5rem;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm)}.price-table table{width:100%;border-collapse:collapse;font-size:var(--fs-small);text-align:left}.price-table thead{background:hsl(206 45% 96%/.7)}.price-table th,.price-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.price-table th{color:var(--color-foreground);font-weight:600}.price-table th.right,.price-table .price{text-align:right}.price-table tbody tr:last-child td{border-bottom:0}.price-table tbody tr:hover{background:hsl(206 45% 96%/.4)}.price-table .cat{color:var(--color-foreground);font-weight:500}.price-table .cat-sub{display:block;margin-top:.125rem;color:var(--color-muted-foreground);font-size:.75rem}.price-table .format{color:var(--color-muted-foreground)}.price-table .price{white-space:nowrap;color:var(--color-primary);font-weight:700}.price-table .col-format{display:none}.price-disclaimer{display:flex;align-items:flex-start;gap:.625rem;margin-top:1.25rem;padding:1rem 1.25rem;border:1px solid hsl(158 64% 34%/.25);border-radius:var(--radius-lg);background:var(--color-brand-soft);color:var(--color-accent-foreground);font-size:var(--fs-small)}.price-disclaimer .icon{width:1rem;height:1rem;margin-top:.125rem}.about{background:var(--color-primary);color:#fff;text-align:center}.about .eyebrow{color:var(--color-emerald-300)}.about-title{margin-top:.75rem;color:#fff;font-size:var(--fs-h2)}.about-text{max-width:48rem;margin:1.5rem auto 0;color:hsl(0 0% 100%/.85);font-size:var(--fs-lead);line-height:1.7}.about-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}.about-tags li{padding:.375rem 1rem;border:1px solid hsl(0 0% 100%/.2);border-radius:var(--radius-pill);background:hsl(0 0% 100%/.1);font-size:var(--fs-small);font-weight:500}

/* Contacto */
.contact-grid{display:grid;gap:2.5rem;margin-top:3rem}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-link{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;transition:box-shadow .2s}.contact-link-icon{flex-shrink:0;width:2.75rem;height:2.75rem;background:var(--color-accent);color:var(--color-accent-foreground)}.contact-link-icon .icon{width:1.25rem;height:1.25rem}.contact-link-label{display:block;color:var(--color-muted-foreground);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.contact-link-value{display:block;word-break:break-word;color:var(--color-foreground);font-size:var(--fs-small);font-weight:600}.contact-madrid{width:100%;aspect-ratio:16/9;margin-top:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);object-fit:cover}.contact-form{padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm)}.form-row{display:grid;gap:1.25rem}.form-field{display:grid;gap:.5rem}.form-field+.form-field,.form-row+.form-field{margin-top:1.25rem}.form-label{color:var(--color-foreground);font-size:var(--fs-small);font-weight:500}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .75rem;border:1px solid hsl(210 25% 86%);border-radius:var(--radius);background:#fff;color:var(--color-foreground);font-size:var(--fs-small);transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px hsl(206 82% 24%/.15);outline:0}.form-textarea{min-height:6rem;resize:vertical}.form-note{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;color:var(--color-muted-foreground);font-size:var(--fs-small);text-align:center}.form-note .icon{width:1rem;height:1rem;color:var(--color-brand)}.form-success,.form-error{margin-top:1rem;padding:.875rem 1rem;border-radius:var(--radius);font-size:var(--fs-small)}.form-success{border:1px solid hsl(158 64% 34%/.3);background:var(--color-brand-soft);color:var(--color-accent-foreground)}.form-error{border:1px solid hsl(0 70% 50%/.25);background:hsl(0 80% 97%);color:hsl(0 55% 30%)}.plm-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Pie y barra móvil */
.site-footer{padding-top:3.5rem;padding-bottom:6rem;background:var(--color-primary);color:#fff}.site-footer .container{display:grid;gap:2.5rem}.footer-about p{max-width:20rem;margin-top:1rem;color:hsl(0 0% 100%/.7);font-size:var(--fs-small);line-height:1.7}.footer-col h3{color:hsl(0 0% 100%/.6);font-size:var(--fs-small);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.footer-col ul{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;font-size:var(--fs-small)}.footer-col a,.footer-col-text{display:inline-flex;align-items:center;gap:.625rem;color:hsl(0 0% 100%/.8)}.footer-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-col .icon{width:1rem;height:1rem}.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid hsl(0 0% 100%/.1);color:hsl(0 0% 100%/.6);font-size:var(--fs-small);text-align:center}.mobile-contact-bar{position:fixed;inset:auto 0 0;z-index:40;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-border);background:hsl(0 0% 100%/.95);backdrop-filter:blur(8px)}.mobile-contact-bar a{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem 0;font-size:.75rem;font-weight:600}.mobile-contact-bar a:active{background:var(--color-secondary)}.mobile-contact-bar .icon{width:1.25rem;height:1.25rem}.mobile-contact-bar .call{color:var(--color-primary)}.mobile-contact-bar .whatsapp{color:var(--color-brand)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal-visible{opacity:1;transform:none}
@media(min-width:40rem){.advantages-grid,.products-grid{grid-template-columns:repeat(2,1fr)}.price-table .col-format{display:table-cell}.price-table .cat-sub{display:none}.form-row{grid-template-columns:1fr 1fr}}
@media(min-width:48rem){.hero-cta{flex-direction:row}.site-footer{padding-bottom:3.5rem}.site-footer .container{grid-template-columns:repeat(3,1fr)}.mobile-contact-bar{display:none}}
@media(min-width:64rem){.main-nav{display:flex}.menu-toggle{display:none}.header-cta-desktop{display:inline-flex}.hero-grid{grid-template-columns:1fr 1fr;padding-block:6rem}.advantages-grid{grid-template-columns:repeat(4,1fr)}.products-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:2fr 3fr}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
