*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:#51270f;background:#fffdfb;font:16px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(50px,5.5vw,82px);margin-bottom:24px}h2{font-size:clamp(34px,3.5vw,51px);margin-bottom:24px}em{font-weight:400;color:#b9384f}a:focus-visible,button:focus-visible{outline:3px solid #af3047;outline-offset:5px}.skip{position:absolute;top:-70px;background:white;padding:12px;z-index:100}.skip:focus{top:0}.topbar{background:#51270f;color:#fff;font-size:12px;letter-spacing:.08em;padding:8px 5%;display:flex;justify-content:space-between}.topbar a{text-decoration:none}header{background:#fff;display:flex;align-items:center;gap:35px;padding:8px 5%;border-bottom:1px solid #eee3df}.brand{width:160px;flex-shrink:0}.brand img{width:100%;height:150px;object-fit:contain}nav{display:flex;gap:28px;margin-left:auto;font-size:14px}nav a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:#51270f;color:white;text-decoration:none;padding:14px 23px;border-radius:4px;font-size:14px;font-weight:600;border:0;cursor:pointer}.button:hover{background:#793719}.button.small{font-size:13px;padding:11px 18px}.hero{max-width:1500px;margin:auto;display:grid;grid-template-columns:43% 57%;padding:55px 5% 65px;align-items:center;gap:0;background:radial-gradient(ellipse at 90% 25%,#edf6f8,transparent 58%)}.hero-copy{padding-right:35px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;margin-bottom:20px}.intro{font-size:17px;line-height:1.7;max-width:380px;margin-bottom:15px;color:#705545}.actions{display:flex;align-items:center;gap:22px;margin-top:30px}.link{font-size:14px;font-weight:600}.location{margin:25px 0 0;font-size:11px;color:#785d50}.hero-art{position:relative;padding:12px 0 30px 15px}.hero-photo{position:relative;overflow:hidden;border-radius:48% 48% 5px 5px;aspect-ratio:1.22;border:8px solid white;box-shadow:0 12px 35px #51270f0b}.main-photo{width:100%;height:100%;object-fit:cover}.hero-photo>.main-photo{object-position:center}.photo-logo{position:absolute;right:12px;bottom:12px;width:76px;height:76px;overflow:hidden;border-radius:50%;background:white;padding:4px}.photo-logo img,.badge img{width:100%;height:100%;object-fit:contain;border-radius:50%}.hero-note{position:absolute;left:-10px;bottom:48px;background:#e4eff2;border:1px solid white;padding:17px 25px;font:italic 19px/1.35 Georgia,serif;transform:rotate(-5deg);box-shadow:0 5px 16px #51270f12}.illustrative{position:absolute;right:0;bottom:0;font-size:10px;color:#785d50}.method{background:#e9f2f4;border-block:1px solid #d7e6e9;display:flex;justify-content:center;gap:50px;align-items:center;padding:17px 20px;font:18px Georgia,serif;letter-spacing:.16em}.method i{font-size:18px;color:#e37d8a;font-style:normal}.section{max-width:1350px;margin:auto;padding:75px 6%}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.heading h2{margin:0}.heading>p{color:#785d50;font-size:14px;margin:0}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.category{border:0;padding:0;background:transparent;text-align:left;cursor:pointer;min-width:0}.picture{display:block;position:relative;aspect-ratio:1;overflow:hidden;border-radius:4px}.category:hover .category-title{text-decoration:underline;text-underline-offset:5px}.badge{position:absolute;border-radius:50%;background:#fff;overflow:hidden;padding:7px;display:block}.cakepop-badge{width:19%;height:19%;right:0;top:0}.cupcake-badge{width:24.5%;height:24.5%;left:1.1%;bottom:1.1%}.cake-badge{width:25%;height:25%;right:0;top:0}.macaron-badge{width:22%;height:22%;right:1.3%;top:1.3%}.category-title{font:25px/1.3 Georgia,serif;display:flex;justify-content:space-between;margin:20px 0 9px;gap:8px}.category-title b{font:24px Arial;color:#b9384f}.category-desc{font-size:13px;color:#785d50}.catalogue{text-align:center;font-size:13px;margin:35px 0 0}.catalogue a{font-weight:600}.workshop{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:#f5eded;border-radius:6px;max-width:1190px;padding:45px}.workshop-photo{position:relative;aspect-ratio:1;overflow:hidden;border-radius:50% 50% 4px 4px}.workshop-photo>.main-photo{object-position:50%}.workshop-copy>p{font-size:14px;color:#725343}.workshop-copy>.eyebrow{font-size:10px}.pill{display:inline-block;font-size:11px;border:1px solid #c7a49b;padding:6px 10px;border-radius:30px;margin-bottom:24px}.workshop-copy h2{font-size:40px}.sub-link{display:block;font-size:12px;margin-top:15px}.image-caption{position:absolute;bottom:8px;left:10px;background:#fffD;padding:2px 6px;font-size:9px}.about{text-align:center;max-width:810px;padding-block:85px}.about>p:not(.eyebrow){max-width:530px;margin:0 auto 25px;color:#785d50}.contact{max-width:none;background:#eaf2f4;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;padding-inline:max(6%,calc((100vw - 1190px)/2));border-top:1px solid #d5e4e7}.contact p{font-size:14px}.contact address{font-style:normal;border-left:1px solid #bdced3;padding:12px 0 12px 45px;align-self:center}.contact address a{display:block;font-size:14px;margin-bottom:8px}.contact hr{border:0;border-top:1px solid #bdced3;margin:24px 0;max-width:280px}footer{text-align:center;padding:35px 20px 25px;background:#fff}footer>img{width:110px;height:110px;object-fit:contain;margin:auto}footer p{font-size:11px;letter-spacing:.12em}footer div{display:flex;gap:24px;justify-content:center;font-size:13px}footer small{font-size:10px;display:block;margin-top:25px;color:#795f50}dialog{border:0;border-radius:10px;width:min(750px,92vw);padding:35px;color:#51270f;max-height:90vh}dialog::backdrop{background:#29150899}dialog .close{display:block;margin:0 0 18px auto;background:white;border:1px solid #ccc;padding:5px 12px;cursor:pointer}#dialog-gallery{display:flex;gap:15px;margin:20px 0}#dialog-gallery .picture{max-width:290px;width:100%}.dialog-note{font-size:12px;margin-top:15px;margin-bottom:0}@media(max-width:950px){header{gap:15px}nav{gap:15px}header>.button{display:none}.hero{padding-top:35px}.hero-copy{padding-right:15px}.actions{align-items:start;flex-direction:column;gap:14px}.category-title{font-size:21px}.workshop{margin:0 4%;gap:30px;padding:30px}.workshop-copy h2{font-size:34px}.contact{gap:30px}}@media(max-width:620px){html{scroll-padding-top:10px}.topbar{font-size:10px;letter-spacing:0;justify-content:center}.topbar>a{display:none}header{padding:5px 5%;flex-direction:column;gap:0}.brand{width:140px}.brand img{height:130px}nav{margin:0;gap:20px;flex-wrap:wrap;justify-content:center;font-size:12px;padding-bottom:12px}.hero{grid-template-columns:1fr;padding:35px 6% 25px}.hero h1{font-size:58px}.intro{font-size:16px;max-width:none}.actions{flex-direction:row;align-items:center;gap:20px}.hero-art{padding:25px 0 23px;margin-top:10px}.hero-note{font-size:17px;left:-4px;bottom:40px}.hero-photo{aspect-ratio:1.25}.method{gap:14px;padding:17px 10px;font-size:12px;letter-spacing:.08em}.method i{font-size:14px}.section{padding:48px 6%}.heading{display:block}.heading>p{margin-top:20px}.categories{grid-template-columns:1fr;gap:35px}.category-title{font-size:28px}.category-desc{font-size:14px}.workshop{grid-template-columns:1fr;padding:25px;margin:0 4%;gap:25px}.workshop-photo{aspect-ratio:1.15}.workshop-copy h2{font-size:37px}.about h2{font-size:36px}.contact{grid-template-columns:1fr;gap:35px}.contact address{padding:0;border-left:0}.contact h2{font-size:45px}.catalogue{line-height:1.9}dialog{padding:22px}dialog h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.cake-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.menu-cake{padding:26px;border:1px solid #e5d7d1;border-radius:5px;background:#fff}.menu-cake h3{font:28px Georgia,serif;margin:0 0 22px}.menu-cake label{display:block;font-size:13px}.menu-cake select{width:100%;font:inherit;color:#51270f;background:#fffdfb;border:1px solid #cbb8ac;border-radius:4px;padding:12px;margin:8px 0 20px}.menu-cake .button{width:100%;gap:10px}.menu-cake .eyebrow{color:#946e5b;margin-bottom:12px}@media(max-width:800px){.cake-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.cake-menu{grid-template-columns:1fr}}
.halloween{background:#f8f2eb;max-width:none}.halloween>.heading,.halloween-grid{max-width:1188px;margin-left:auto;margin-right:auto}.halloween-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}.halloween-card h3{font:22px/1.3 Georgia,serif;margin:16px 0 8px}.halloween-card>a{font-size:13px}.halloween-badge{width:24%;height:24%;padding:7px}.halloween-badge.bottom-left{left:0;bottom:0}.halloween-badge.top-left{left:0;top:0}.halloween-badge.bottom-right{right:0;bottom:0}@media(max-width:1100px){header{gap:15px}nav{gap:15px}header>.button{display:none}.halloween-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.halloween-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.halloween .heading{display:block}.halloween .heading>p{margin-top:18px}}@media(max-width:420px){.halloween-grid{grid-template-columns:1fr}}
.halloween-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.caldera-badge{width:26%;height:26%;right:1%;top:0;padding:10px}.calabaza-badge{width:31%;height:31%;left:0;bottom:0;padding:10px}@media(max-width:760px){.halloween-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.halloween-grid{grid-template-columns:1fr}}
.picture:has(.wedding-badge){background:#fffdf9}.picture:has(.wedding-badge)>.main-photo{object-fit:contain}.wedding-badge{width:22%;height:22%;right:1%;top:1%;padding:5px}.wedding-card .picture{margin-bottom:20px}
.company-picture{display:flex;align-items:center;justify-content:center;background:#e9f2f4}.company-picture>img{width:64%;height:64%;object-fit:contain;border-radius:50%}
body{background:#fff}
#celebraciones{max-width:1450px;background:#fff}
#celebraciones .cake-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
#celebraciones .menu-cake{padding:12px;border:0;background:#fff}
#celebraciones .picture{background:#fff;aspect-ratio:4/5}
.picture:has(.wedding-badge){background:#fff}
dialog{width:min(1050px,94vw);background:#fff}
#dialog-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#dialog-gallery .picture{max-width:none;aspect-ratio:4/5;background:#fff}
#dialog-gallery .main-photo{object-fit:contain}
@media(max-width:620px){#celebraciones .cake-menu,#dialog-gallery{grid-template-columns:1fr}#celebraciones .menu-cake{padding:0}}
/* Actualización pendiente de publicación */
.hero,.halloween,.workshop,.contact,.method,.about{background:#fff}
.about{max-width:1190px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;text-align:left}
.laura-photo{width:100%;height:auto;background:#fff}
.about-copy p{color:#785d50}
@media(max-width:620px){.about{grid-template-columns:1fr;gap:28px}}

.company-picture{background:#fff}.company-picture>img{width:100%;height:100%;border-radius:0;object-fit:contain}

#dialog-gallery .picture:has(.company-badge){aspect-ratio:1}.company-badge{display:none}

#dialog-gallery .picture:has(.company-badge){aspect-ratio:1}.company-badge{display:none}

/* Keep the four Saint Patrick photographs together in two rows. */
#dialog-gallery .san-patricio-start{grid-column:1}



#celebraciones .menu-cake .picture {
    aspect-ratio: 1 / 1;
}

#celebraciones .menu-cake .main-photo {
    object-fit: contain;
}

/* Fotografías completas con logo integrado */
.wedding-card .main-photo,#dialog-gallery .main-photo{object-fit:contain;background:#fff}.wedding-card .main-photo{aspect-ratio:3/4}

/* Equalize near-white backgrounds across all photographs. */
.main-photo,.badge img,.photo-logo img,#cake-menu img,#sin-horno img{filter:brightness(1.016)}

/* Infantiles: common portrait frame and one logo position, without baking the logo into photos. */
#dialog-gallery .picture.infantil-picture{aspect-ratio:3/4;background:#fff}
#dialog-gallery .infantil-picture>.main-photo{box-sizing:border-box;object-fit:contain;object-position:center bottom;padding:18% 3% 3%}
#dialog-gallery .infantil-picture .wedding-badge{width:19.34%;height:auto;aspect-ratio:995/807;right:3.78%;top:3.11%;padding:0;border-radius:0;background:transparent}
#dialog-gallery .infantil-picture .wedding-badge img{position:absolute;width:126.03%;height:155.39%;max-width:none;left:-13.17%;top:-23.05%;object-fit:fill;border-radius:0}

/* Portrait canvases and aligned actions across celebration cards. */
#celebraciones .menu-cake{display:flex;flex-direction:column;min-width:0}
#celebraciones .menu-cake .picture{aspect-ratio:3/4;margin-bottom:20px;flex-shrink:0}
#celebraciones .menu-cake .main-photo{width:100%;height:100%;object-fit:contain}
#celebraciones .menu-cake .button{margin-top:auto}
#celebraciones .birthday-card .wedding-badge{width:19.34%;height:auto;aspect-ratio:995/807;right:3.78%;top:3.11%;padding:0;border-radius:0;background:transparent}
#celebraciones .birthday-card .wedding-badge img{position:absolute;width:126.03%;height:155.39%;max-width:none;left:-13.17%;top:-23.05%;object-fit:fill;border-radius:0}
#dialog-gallery .infantil-picture:has(>.main-photo[src$="-1086x1448.png"])>.main-photo{padding:0;object-position:center}
#dialog-gallery .atrezo-picture{aspect-ratio:3/4}
#dialog-gallery .atrezo-picture .wedding-badge{width:19.34%;height:auto;aspect-ratio:995/807;right:3.78%;top:3.11%;padding:0;border-radius:0;background:transparent}
#dialog-gallery .atrezo-picture .wedding-badge img{position:absolute;width:126.03%;height:155.39%;max-width:none;left:-13.17%;top:-23.05%;object-fit:fill;border-radius:0}

/* Real cupcake photographs, with the current ArtCakes mark. */
#dialog-gallery .cupcakes-picture{aspect-ratio:1;background:#fff}
.cupcakes-picture>.main-photo,.category[data-category="cupcakes"] .main-photo{object-fit:contain}
.cupcakes-logo{width:19.34%;height:auto;aspect-ratio:995/807;right:3.78%;top:3.11%;padding:0;border-radius:0;background:#fff}
.cupcakes-logo img{position:absolute;width:126.03%;height:155.39%;max-width:none;left:-13.17%;top:-23.05%;object-fit:fill;border-radius:0}

#dialog-gallery .gallery-group{grid-column:1/-1;font:28px/1.3 Georgia,serif;margin:12px 0 0}

/* Square photos and round ArtCakes badge. */
.cupcakes-logo{width:20%;height:20%;aspect-ratio:1;border-radius:50%;padding:1%;background:#fff;right:3.78%;top:3.11%}
.cupcakes-logo img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;border-radius:50%;left:auto;top:auto}

.category[data-category="cakepops"] .main-photo{object-fit:contain}

#dialog-gallery .picture.empresas-picture{aspect-ratio:1}
#dialog-gallery .picture.empresas-reportaje{aspect-ratio:800/1067}
#dialog-gallery .empresas-picture>.main-photo,#dialog-gallery .empresas-reportaje>.main-photo{width:100%;height:100%;object-fit:contain}

/* Redes sociales del pie */
 .contact-social .footer-socials{gap:30px;align-items:center;margin:24px auto 0;flex-wrap:wrap}
 .contact-social .social-link{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:76px;border:0;text-decoration:none;font-size:13px;font-weight:600;line-height:1.4}
 .contact-social .social-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;color:#fff;transition:transform .18s ease,box-shadow .18s ease}
 .contact-social .social-instagram .social-icon{background:linear-gradient(35deg,#f9a13b,#d62976 55%,#7638bb)}
 .contact-social .social-facebook .social-icon{background:#0866ff}
 .contact-social .social-pinterest .social-icon{background:#bd081c}
 .contact-social .social-link:hover .social-icon{transform:translateY(-3px);box-shadow:0 5px 12px #51270f24}
 .contact-social .social-link:focus-visible{outline:3px solid #51270f;outline-offset:6px;border-radius:6px}
@media(max-width:380px){ .contact-social .footer-socials{gap:16px}}
@media(prefers-reduced-motion:reduce){ .contact-social .social-icon{transition:none} .contact-social .social-link:hover .social-icon{transform:none}}

/* Cierre de contacto en tres columnas */
#contacto{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;max-width:none;margin:0;padding:52px max(5%,calc((100vw - 1320px)/2));background:#fcf0f2;border-top:1px solid #efd9dd}
#contacto h2{font-size:46px;line-height:1.08;margin-bottom:20px}
#contacto>div>p:not(.eyebrow){line-height:1.7}
#contacto address{padding:20px 22px;border-left:1px solid #e4c8ce;border-right:1px solid #e4c8ce;text-align:center;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}
#contacto address strong{font-size:16px}
#contacto address p{margin:10px 0 18px}
#contacto address a{overflow-wrap:anywhere}
#contacto address hr{width:75%;margin:20px auto;border-color:#e4c8ce}
.contact-social{text-align:center}
.contact-social>img{display:block;width:120px;height:120px;object-fit:contain;margin:0 auto 12px;border-radius:50%}
#contacto .contact-social>p{font-size:10px;letter-spacing:.1em;line-height:1.7}
.contact-social .footer-socials{display:flex;justify-content:center;gap:14px;margin-top:22px}
.contact-social .social-link{min-width:65px;font-size:12px}
.contact-social .social-icon{width:52px;height:52px}
footer.site-footer{background:#fcf0f2;padding:17px 20px;border-top:1px solid #efd9dd}
footer.site-footer small{margin:0}
@media(max-width:1000px){#contacto{grid-template-columns:1fr 1fr;gap:32px}#contacto>div:first-child{grid-column:1/-1;text-align:center}#contacto address{border-left:0}#contacto h2 br{display:block}}
@media(max-width:620px){#contacto{grid-template-columns:1fr;padding:36px 6%;gap:28px}#contacto h2{font-size:40px}#contacto address{border:0;border-top:1px solid #e4c8ce;border-bottom:1px solid #e4c8ce;padding:26px 0}#contacto .contact-social>p{font-size:11px}.contact-social .footer-socials{gap:24px}.contact-social>img{width:110px;height:110px}}
