/*
Theme Name: ARIA Velas Artesanales
Theme URI: https://ariavelas.com
Author: ARIA
Description: Tema administrable para el catálogo de ARIA Velas Artesanales.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: aria-velas
*/

:root{--ivory:#f7f1e9;--paper:#fffaf5;--magenta:#8f3f61;--wine:#512f3e;--champagne:#c7a778;--cocoa:#493d39;--sage:#8b968a;--line:rgba(81,47,62,.17);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--cocoa);font-family:var(--sans);font-size:16px;line-height:1.75}.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:1rem;top:1rem;background:white;padding:.7rem 1rem;z-index:99}a{color:inherit}img{max-width:100%;display:block}.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(255,250,245,.94);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid rgba(81,47,62,.08)}.brand img{width:158px;height:70px;object-fit:contain}.nav{display:flex;align-items:center;gap:1.8rem}.nav a{text-decoration:none;font-size:.78rem;letter-spacing:.06em}.nav a:hover{color:var(--magenta)}.nav-cta{border:1px solid var(--magenta);padding:.45rem 1rem;border-radius:999px}.menu-button{display:none;border:0;background:none;font:inherit;color:var(--wine)}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.16fr .84fr;align-items:center;padding:6vw 7vw;position:relative;overflow:hidden;background:linear-gradient(120deg,var(--ivory),#fff8f3 58%,#f2e4e8)}.hero-copy{max-width:730px;z-index:2}.eyebrow{font-size:.73rem;letter-spacing:.2em;font-weight:600;color:var(--magenta);margin:0 0 1rem}.hero h1,.section h2,.contact h2{font-family:var(--serif);font-weight:500;color:var(--wine);line-height:.98;margin:.3rem 0 1.5rem}.hero h1{font-size:clamp(3.7rem,6.8vw,7.4rem);letter-spacing:-.035em}.hero h1 em{color:var(--magenta);font-weight:400}.hero-text{font-size:1.12rem;max-width:600px}.hero-actions,.contact-actions{display:flex;gap:1rem;align-items:center;margin-top:2.2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.3rem;border-radius:999px;text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.04em}.primary{background:var(--magenta);color:#fff}.primary:hover{background:var(--wine)}.text-link{color:var(--wine)}.text-link span{margin-left:.5rem}.hero-art{width:min(32vw,460px);aspect-ratio:1;border:1px solid rgba(143,63,97,.25);border-radius:50%;display:grid;place-items:center;position:relative;margin:auto;background:rgba(255,255,255,.4)}.hero-icon{width:58%;filter:drop-shadow(0 16px 22px rgba(81,47,62,.12))}.hero-art p{position:absolute;right:-1rem;bottom:10%;font-family:var(--serif);font-size:1.35rem;color:var(--wine);line-height:1.1}.orb{position:absolute;border-radius:50%;background:var(--champagne);opacity:.2}.orb-one{width:70px;height:70px;top:-20px;right:18%}.orb-two{width:35px;height:35px;bottom:14%;left:-10px;background:var(--magenta)}.hero-line{position:absolute;width:55%;bottom:-2%;right:-4%;opacity:.42}.promise{display:flex;justify-content:center;gap:2.2rem;align-items:center;padding:1.1rem 4vw;background:var(--wine);color:#fff;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}.promise p{margin:0}.promise span{color:var(--champagne)}.section{padding:8rem 7vw}.section-heading{max-width:720px;margin-bottom:3.5rem}.section-heading h2,.about h2,.experience h2{font-size:clamp(2.8rem,4.7vw,5rem)}.section-heading>p:last-child{max-width:620px}.collections{background:#fff}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.collection-card{min-height:470px;padding:2rem;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;position:relative;background:var(--paper)}.collection-card.featured{background:#f3e7ea}.collection-card .number{font-size:.72rem;color:var(--magenta);letter-spacing:.15em}.collection-card img{height:190px;object-fit:contain;margin:0 auto}.collection-card h3,.mv-grid h3,.principles h3{font-family:var(--serif);font-size:2rem;color:var(--wine);margin:.5rem 0}.collection-card p{font-size:.92rem}.collection-card a{color:var(--magenta);text-decoration:none;font-size:.82rem;font-weight:600}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;background:var(--ivory)}.about-mark{min-height:520px;background:var(--wine);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;position:relative}.about-mark img{width:62%;filter:brightness(0) invert(89%) sepia(25%) saturate(690%)}.about-mark p{font-family:var(--serif);font-size:2.5rem;line-height:1;color:#fff;text-align:center}.about-copy p{max-width:720px}.signature{font-family:var(--serif);font-size:1.8rem;line-height:1.25;color:var(--magenta);border-left:2px solid var(--champagne);padding-left:1.4rem;margin-top:2rem}.essence{background:var(--wine);color:#f5ece8}.section-heading.light h2,.essence h3{color:#fff}.purpose{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);padding:2.5rem 0;margin-bottom:4rem}.purpose span{color:var(--champagne);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem}.purpose p{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3.1rem);line-height:1.16;margin:0}.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.mv-grid article+article{border-left:1px solid rgba(255,255,255,.2);padding-left:6vw}.mv-grid h3{font-size:2.6rem}.principles{background:#fff}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.principles article{padding:2.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px}.principles b{font-size:.75rem;color:var(--magenta)}.principles h3{font-size:1.65rem}.principles p{font-size:.9rem}.experience{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;background:var(--ivory);align-items:center}.experience ol{list-style:none;padding:0;margin:3rem 0 0}.experience li{display:flex;gap:1.3rem;border-top:1px solid var(--line);padding:1.2rem 0}.experience li>span{color:var(--magenta);font-size:.75rem}.experience li p{margin:.2rem 0;font-size:.9rem}.experience-quote{min-height:520px;background:linear-gradient(145deg,#eadce1,#f7eee7);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem}.experience-quote img{width:38%;opacity:.75}.experience-quote blockquote{font-family:var(--serif);font-size:3rem;line-height:1.05;color:var(--wine);margin:2rem 0}.experience-quote p{font-size:.7rem;letter-spacing:.18em}.care-band{padding:5rem 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--magenta);color:#fff}.care-band h2{font-family:var(--serif);font-size:3.5rem;line-height:1;color:#fff;margin:.4rem 0}.care-band .eyebrow{color:#ead1da}.care-band ul{margin:0;padding-left:1.2rem}.care-band li{padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.22)}.contact{text-align:center;background:#fff}.contact>img{width:230px;margin:0 auto 2rem}.contact h2{font-size:clamp(3rem,5vw,5.5rem)}.contact>p{max-width:680px;margin-left:auto;margin-right:auto}.contact-actions{justify-content:center}.outline{border:1px solid var(--magenta);color:var(--magenta)}.contact-data{font-size:.78rem;margin-top:3rem!important;color:var(--sage)}footer{background:var(--cocoa);color:#fff;display:flex;justify-content:space-between;padding:1.5rem 7vw;font-size:.75rem;letter-spacing:.08em}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:900px){.site-header{height:76px}.brand img{width:135px;height:60px}.menu-button{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:1.5rem 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding:5rem 6vw 4rem}.hero-art{width:min(78vw,430px);margin-top:4rem}.hero-line{width:100%}.promise{overflow:auto;justify-content:flex-start}.promise p{white-space:nowrap}.collection-grid,.principles-grid{grid-template-columns:1fr}.collection-card{min-height:410px}.about,.experience,.care-band{grid-template-columns:1fr}.about-mark{min-height:420px}.purpose{grid-template-columns:1fr;gap:1rem}.mv-grid{grid-template-columns:1fr}.mv-grid article+article{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:2rem 0 0}.principles-grid{border-right:1px solid var(--line)}.experience-quote{min-height:440px}.section{padding:6rem 6vw}.care-band{padding:4rem 6vw}footer{flex-direction:column;gap:.5rem}}
@media (max-width:520px){body{font-size:16px}.hero h1{font-size:3.6rem}.hero-actions,.contact-actions{align-items:stretch;flex-direction:column}.button{width:100%}.hero-art p{right:0}.promise{gap:1rem}.section{padding:5rem 5vw}.about-mark{min-height:360px}.care-band h2{font-size:2.8rem}.experience-quote blockquote{font-size:2.4rem}.contact-data{line-height:2}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Colección de velas intencionadas */
.intentional{background:linear-gradient(155deg,#fffdfa 0%,#f4eee8 52%,#edf0ec 100%);position:relative;overflow:hidden}.intentional:before{content:"";position:absolute;width:680px;height:680px;border:1px solid rgba(199,167,120,.26);border-radius:50%;left:-360px;top:120px}.intentional-intro{display:grid;grid-template-columns:1.08fr .92fr;gap:8vw;align-items:end;position:relative;margin-bottom:3rem}.intentional-intro h2{font-size:clamp(3.2rem,5.6vw,6.2rem)}.intentional-intro h2 em{font-weight:400;color:var(--magenta)}.intentional-intro>p{max-width:580px;margin:0 0 1.5rem}.ritual-line{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:0 0 3.5rem;color:var(--wine);font-family:var(--serif);font-size:1.35rem;letter-spacing:.05em}.ritual-line i{width:54px;height:1px;background:var(--champagne)}.intentional-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.3rem;position:relative}.intention-card{grid-column:span 2;background:rgba(255,250,245,.92);border:1px solid rgba(81,47,62,.12);box-shadow:0 18px 50px rgba(73,61,57,.07)}.intention-card:nth-child(4){grid-column:2/span 2}.intention-card:nth-child(5){grid-column:4/span 2}.intention-photo{aspect-ratio:1;position:relative;overflow:hidden;background:var(--ivory)}.intention-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.intention-card:hover .intention-photo img{transform:scale(1.025)}.intention-photo>span{position:absolute;left:1rem;bottom:1rem;padding:.45rem .8rem;background:rgba(255,250,245,.9);backdrop-filter:blur(8px);color:var(--wine);font-size:.63rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.intention-copy{padding:1.7rem;display:flex;flex-direction:column;min-height:430px}.intention-copy h3{font-family:var(--serif);font-size:2.5rem;font-weight:500;line-height:.98;color:var(--wine);margin:.75rem 0 1rem}.intention-copy>p:not(.product-kicker){font-size:.86rem;margin:0 0 1.4rem}.intention-copy dl{margin:auto 0 1.4rem;border-top:1px solid var(--line)}.intention-copy dl div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.7rem}.intention-copy dt{color:var(--sage)}.intention-copy dd{margin:0;text-align:right;font-weight:500;color:var(--wine);max-width:64%}.intention-copy>a{color:var(--magenta);text-decoration:none;font-size:.76rem;font-weight:600}.intentional-note{margin-top:2.5rem;padding-top:1.7rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:2rem}.intentional-note p{font-size:.8rem;max-width:760px}.intentional-note strong{color:var(--wine)}
@media (max-width:1120px){.intentional-grid{grid-template-columns:repeat(2,1fr)}.intention-card,.intention-card:nth-child(4),.intention-card:nth-child(5){grid-column:auto}.intention-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.intention-card:last-child .intention-photo{aspect-ratio:auto}.intention-copy{min-height:390px}}
@media (max-width:900px){.intentional-intro{grid-template-columns:1fr;gap:1rem}.intentional-note{align-items:stretch;flex-direction:column}}
@media (max-width:620px){.intentional-grid{grid-template-columns:1fr}.intention-card:last-child{grid-column:auto;display:block}.intention-card:last-child .intention-photo{aspect-ratio:1}.intention-copy{min-height:0}.ritual-line{gap:.65rem;font-size:1.05rem}.ritual-line i{width:24px}}

/* Colección Día de Muertos */
.seasonal{background:var(--wine);color:#f8eee9;position:relative;overflow:hidden}.seasonal:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(199,167,120,.22);border-radius:50%;right:-220px;top:80px}.seasonal-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:4rem;position:relative}.seasonal-intro h2{font-size:clamp(3.2rem,5.6vw,6.2rem);color:#fff}.seasonal-intro h2 em{font-weight:400;color:var(--champagne)}.seasonal-intro>p{max-width:560px;margin:0 0 1.5rem;color:#eadde0}.seasonal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;position:relative}.product-card{display:grid;grid-template-columns:.92fr 1.08fr;min-height:560px;background:#fffaf5;color:var(--cocoa);overflow:hidden}.product-photo{position:relative;min-height:100%;background:#e8ddd3;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:cover}.product-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(40,22,28,.24))}.product-photo>span{position:absolute;left:1rem;bottom:1rem;z-index:2;padding:.45rem .7rem;background:rgba(81,47,62,.88);color:#fff;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.product-copy{padding:2.2rem;display:flex;flex-direction:column}.product-kicker{margin:0;color:var(--magenta);font-size:.64rem;font-weight:600;letter-spacing:.14em}.product-copy h3{font-family:var(--serif);font-size:clamp(2.2rem,3vw,3.3rem);font-weight:500;line-height:1;color:var(--wine);margin:.8rem 0 1.2rem}.product-copy>p:not(.product-kicker){font-size:.88rem;margin:0 0 1.5rem}.product-copy dl{margin:auto 0 1.5rem;border-top:1px solid var(--line)}.product-copy dl div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.73rem}.product-copy dt{color:var(--sage)}.product-copy dd{margin:0;text-align:right;font-weight:500;color:var(--wine)}.product-copy>a{color:var(--magenta);text-decoration:none;font-size:.78rem;font-weight:600}.product-copy>a span{margin-left:.35rem}.seasonal-note{margin-top:2rem;padding:1.6rem 0;border-top:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:space-between;gap:2rem}.seasonal-note p{max-width:700px;font-size:.82rem;color:#eadde0}.season-button{background:var(--champagne);color:var(--wine);white-space:nowrap}.season-button:hover{background:#d9bc91}
.collection-tier{position:relative;display:grid;grid-template-columns:.55fr 1fr 1.25fr;gap:2rem;align-items:end;padding:1.35rem 0;margin:0 0 1.5rem;border-top:1px solid rgba(199,167,120,.45);border-bottom:1px solid rgba(255,255,255,.16)}.collection-tier.compact{margin-top:4.5rem}.collection-tier span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne)}.collection-tier h3{margin:0;font-family:var(--serif);font-size:2.1rem;font-weight:400;color:#fff}.collection-tier p{margin:0;font-size:.82rem;color:#eadde0}.seasonal-grid-new .product-photo>span{background:rgba(143,63,97,.92)}.product-copy h3 small{display:block;margin-top:.55rem;font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.14em;line-height:1.4;text-transform:uppercase;color:var(--magenta)}.sculptural-grid .product-photo{background:#eadfd5}.split-photo{display:grid;grid-template-columns:1fr 1fr}.split-photo img{min-width:0;object-fit:cover}.split-photo:after{grid-column:1/-1}.split-photo>span{grid-column:1/-1}
@media (max-width:1120px){.seasonal-grid{grid-template-columns:1fr}.product-card{min-height:520px}}
@media (max-width:900px){.seasonal-intro{grid-template-columns:1fr;gap:1rem}}
@media (max-width:900px){.collection-tier{grid-template-columns:1fr;gap:.35rem;align-items:start}.collection-tier.compact{margin-top:3.5rem}}
@media (max-width:620px){.product-card{grid-template-columns:1fr;min-height:0}.product-photo{height:480px}.product-copy{padding:1.8rem}.seasonal-note{align-items:stretch;flex-direction:column}}
@media (max-width:520px){.product-photo{height:410px}}

/* Símbolo completo de ARIA */
.about-mark img{width:auto;height:390px;max-width:82%;object-fit:contain;filter:none}
@media (max-width:900px){.about-mark img{height:330px;max-width:78%}}
@media (max-width:520px){.about-mark img{height:285px;max-width:76%}}

/* Encuadre completo de formatos escultóricos */
.sculptural-grid .product-photo{background:radial-gradient(circle at 50% 28%,#7b2735 0%,#511d2a 52%,#35131d 100%)}
.sculptural-grid .product-photo img[src$="flor-cempasuchil-55.png"],
.sculptural-grid .product-photo img[src$="calaveras-145.png"],
.sculptural-grid .product-photo img[src$="calabazas-mini.png"]{object-fit:contain;padding:1rem}
.sculptural-grid .product-photo img[src$="huellitas-perrito.png"],
.sculptural-grid .product-photo img[src$="huellitas-gatito.png"]{object-fit:contain;padding:2.6rem}
.sculptural-grid .split-photo{display:flex;align-items:center;gap:0;background:radial-gradient(circle at 50% 28%,#7b2735 0%,#511d2a 52%,#35131d 100%);padding:.7rem}
.sculptural-grid .split-photo img{width:50%;height:100%;object-fit:contain;padding:.3rem}
.sculptural-grid .split-photo:after{pointer-events:none}
@media (max-width:620px){.sculptural-grid .product-photo img[src$="huellitas-perrito.png"],.sculptural-grid .product-photo img[src$="huellitas-gatito.png"]{padding:2rem}.sculptural-grid .split-photo{min-height:410px}}

/* Extensión vertical con el fondo de cada fotografía; el producto conserva su escala */
.sculptural-grid .product-photo{background-size:cover;background-position:center;background-repeat:no-repeat}
.sculptural-grid .product-photo:has(img[src$="huellitas-perrito.png"]){background-image:linear-gradient(rgba(53,19,29,.12),rgba(53,19,29,.12)),url("assets/huellitas-perrito.png")}
.sculptural-grid .product-photo:has(img[src$="huellitas-gatito.png"]){background-image:linear-gradient(rgba(53,19,29,.12),rgba(53,19,29,.12)),url("assets/huellitas-gatito.png")}
.sculptural-grid .product-photo:has(img[src$="flor-cempasuchil-55.png"]){background-image:linear-gradient(rgba(53,19,29,.12),rgba(53,19,29,.12)),url("assets/flor-cempasuchil-55.png")}
.sculptural-grid .product-photo:has(img[src$="calaveras-145.png"]){background-image:linear-gradient(rgba(53,19,29,.12),rgba(53,19,29,.12)),url("assets/calaveras-145.png")}
.sculptural-grid .product-photo:has(img[src$="calabazas-mini.png"]){background-image:linear-gradient(rgba(53,19,29,.12),rgba(53,19,29,.12)),url("assets/calabazas-mini.png")}
.sculptural-grid .split-photo{background-image:linear-gradient(rgba(53,19,29,.12),rgba(53,19,29,.12)),url("assets/pan-de-muerto-tradicional.png")}
.sculptural-grid .product-photo>img{position:relative;z-index:1}
.sculptural-grid .product-photo:after{z-index:2}

/* Mariposa original de ARIA */
.experience-quote img{width:40%;max-height:230px;object-fit:contain;opacity:1;filter:none}

/* Fondo limpio y producto independiente: evita duplicados o empalmes */
.sculptural-grid .product-photo,
.sculptural-grid .split-photo{
  background-image:url("assets/fondo-escultorico-limpio.png")!important;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.sculptural-grid .product-photo:has(img[src$="huellitas-perrito.png"]) img,
.sculptural-grid .product-photo:has(img[src$="huellitas-gatito.png"]) img,
.sculptural-grid .product-photo:has(img[src$="flor-cempasuchil-55.png"]) img,
.sculptural-grid .product-photo:has(img[src$="calaveras-145.png"]) img,
.sculptural-grid .product-photo:has(img[src$="calabazas-mini.png"]) img,
.sculptural-grid .split-photo img{visibility:hidden}
.sculptural-grid .product-photo:before,
.sculptural-grid .split-photo img:after{
  content:"";
  position:absolute;
  z-index:1;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
.sculptural-grid .product-photo:before{
  transform:none;
  filter:none;
}
.sculptural-grid .product-photo:after{
  background:linear-gradient(180deg,rgba(255,244,222,.05) 0%,transparent 48%,rgba(38,16,22,.08) 100%);
  mix-blend-mode:normal;
}

/* Sombra de contacto: sólo se proyecta sobre la superficie, nunca sobre el contorno */
.sculptural-grid .product-photo{
  background-image:
    radial-gradient(ellipse 31% 5.5% at 50% 73%,rgba(35,14,19,.46) 0%,rgba(48,21,27,.25) 48%,rgba(55,25,30,0) 100%),
    url("assets/fondo-escultorico-limpio.png")!important;
}
.sculptural-grid .split-photo{
  background-image:
    radial-gradient(ellipse 43% 5.5% at 50% 73%,rgba(35,14,19,.44) 0%,rgba(48,21,27,.23) 50%,rgba(55,25,30,0) 100%),
    url("assets/fondo-escultorico-limpio.png")!important;
}
.sculptural-grid .product-photo:has(img[src$="huellitas-perrito.png"]):before{
  inset:2.6rem;
  background-image:url("assets/huellitas-perrito-cutout.png");
}
.sculptural-grid .product-photo:has(img[src$="huellitas-gatito.png"]):before{
  inset:2.6rem;
  background-image:url("assets/huellitas-gatito-cutout.png");
}
.sculptural-grid .product-photo:has(img[src$="flor-cempasuchil-55.png"]):before{
  inset:1rem;
  background-image:url("assets/flor-cempasuchil-55-cutout.png");
}
.sculptural-grid .product-photo:has(img[src$="calaveras-145.png"]):before{
  inset:1rem;
  background-image:url("assets/calaveras-145-cutout.png");
}
.sculptural-grid .product-photo:has(img[src$="calabazas-mini.png"]):before{
  inset:1rem;
  background-image:url("assets/calabazas-mini-cutout.png");
}
.sculptural-grid .split-photo:before{
  inset:.7rem;
  background-image:url("assets/pan-de-muerto-tradicional-cutout.png"),url("assets/pan-de-muerto-ornamental-cutout.png");
  background-size:50% auto,50% auto;
  background-position:left center,right center;
}
@media (max-width:620px){
  .sculptural-grid .product-photo:has(img[src$="huellitas-perrito.png"]):before,
  .sculptural-grid .product-photo:has(img[src$="huellitas-gatito.png"]):before{inset:2rem}
}

/* Fotografías finales integradas: producto, luz y escenario forman una sola toma */
.sculptural-grid .product-photo:before{display:none!important}
.sculptural-grid .product-photo:has(img[src$="huellitas-perrito.png"]){background-image:url("assets/huellitas-perrito-integrada.png")!important}
.sculptural-grid .product-photo:has(img[src$="huellitas-gatito.png"]){background-image:url("assets/huellitas-gatito-integrada.png")!important}
.sculptural-grid .product-photo:has(img[src$="flor-cempasuchil-55.png"]){background-image:url("assets/flor-cempasuchil-55-integrada.png")!important}
.sculptural-grid .product-photo:has(img[src$="calaveras-145.png"]){background-image:url("assets/calaveras-145-integrada.png")!important}
.sculptural-grid .product-photo:has(img[src$="calabazas-mini.png"]){background-image:url("assets/calabazas-mini-integrada.png")!important}
.sculptural-grid .split-photo{background-image:url("assets/pan-de-muerto-integrada.png")!important}
.sculptural-grid .product-photo{background-size:cover!important;background-position:center!important}

/* Fichas apiladas: fotografía completa arriba e información debajo */
.sculptural-grid .stacked-product{display:flex;flex-direction:column;min-height:0}
.sculptural-grid .stacked-product .product-photo{width:100%;min-height:0;aspect-ratio:1/1;flex:0 0 auto;background-size:contain!important;background-repeat:no-repeat!important;background-color:#511d2a}
.sculptural-grid .stacked-product .product-copy{min-height:455px;flex:1}
.sculptural-grid .stacked-product .split-photo{padding:0}
@media (max-width:620px){.sculptural-grid .stacked-product .product-photo{height:auto;min-height:0}.sculptural-grid .stacked-product .product-copy{min-height:0}}

/* Contacto y redes */
.contact-layout{max-width:1120px;margin:4rem auto 0;display:grid;grid-template-columns:.78fr 1.22fr;text-align:left;border:1px solid var(--line);background:var(--paper);box-shadow:0 24px 70px rgba(81,47,62,.08)}
.contact-intro{padding:3rem;background:var(--wine);color:#f8eee9;display:flex;flex-direction:column;justify-content:center}
.contact-label{margin:0 0 .7rem;font-size:.68rem;font-weight:600;letter-spacing:.18em;color:var(--champagne);text-transform:uppercase}
.contact-intro h3,.form-heading h3{font-family:var(--serif);font-size:2.35rem;line-height:1.05;font-weight:500;margin:0 0 1rem}
.contact-intro h3{color:#fff}.contact-intro>p:not(.contact-label){font-size:.9rem;color:#eadde0}
.social-links{margin-top:2rem;border-top:1px solid rgba(255,255,255,.2)}
.social-links a{display:flex;flex-direction:column;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.2);text-decoration:none}
.social-links span{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne)}
.social-links strong{font-size:.87rem;font-weight:500;color:#fff;overflow-wrap:anywhere}.social-links a:hover strong{text-decoration:underline}
.contact-form{padding:3rem;background:#fff}.contact-form .contact-label{color:var(--magenta)}.form-heading h3{color:var(--wine)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem 1.3rem}.form-grid label{display:flex;flex-direction:column;gap:.42rem;font-size:.73rem;font-weight:600;letter-spacing:.04em;color:var(--wine)}.form-grid label small{font-size:.67rem;font-weight:400;color:var(--sage)}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#fffaf7;color:var(--cocoa);font:inherit;font-size:.9rem;letter-spacing:0;padding:.78rem .85rem;outline:none}.form-grid textarea{resize:vertical;min-height:125px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--magenta);box-shadow:0 0 0 3px rgba(143,63,97,.1)}.full-field{grid-column:1/-1}.form-submit{border:0;cursor:pointer;margin-top:1.5rem}.form-note{font-size:.7rem;color:var(--sage);margin:.7rem 0 0}.contact-actions{margin-top:2.5rem}.contact footer a,footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}
@media (max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-intro,.contact-form{padding:2.2rem}footer{align-items:flex-start}}
@media (max-width:620px){.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.contact-intro,.contact-form{padding:1.5rem}.contact-layout{margin-top:2.8rem}.contact-intro h3,.form-heading h3{font-size:2rem}}
.aria-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-submit:disabled{opacity:.7;cursor:wait}.form-message{margin:.9rem 0 0;padding:.9rem 1rem;border-left:3px solid;font-size:.78rem;line-height:1.55;text-align:left}.form-message.success{color:#405448;background:#edf3ee;border-color:#6f8b77}.form-message.error{color:#7b3347;background:#f8ecef;border-color:var(--magenta)}
