
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#07130c;font-family:Georgia,serif}
button,input{font:inherit}
.page{display:none}.page.active{display:block}
.mobile-home{display:none}
.artboard{position:relative;width:min(100vw,1536px);margin:auto;line-height:0;background:#07130c}
.artboard img{display:block;width:100%;height:auto}
.hotspot{position:absolute;border:0;background:transparent;border-radius:10px;cursor:pointer;transition:.18s;line-height:normal}
.hotspot:hover,.hotspot:focus-visible{outline:2px solid rgba(255,219,117,.82);background:rgba(255,208,88,.11);box-shadow:0 0 24px rgba(255,196,65,.48)}
/* Zonas interactivas: sin rectángulos visibles */
.hotspot{
  position:absolute;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  line-height:normal;
  outline:0;
}
.contact-page .contact-layout{display:block;width:min(650px,100%);margin:0 auto}

/* Menú superior: el hover es solamente un subrayado ajustado al texto */
.hotspot.top{
  top:3.2%;
  height:4.8%;
  border-radius:0;
}
.hotspot.top::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:2px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,transparent,#ffe29a 20%,#d9a73e 80%,transparent);
  opacity:0;
  transform:scaleX(.55);
  transition:.18s ease;
  box-shadow:0 0 8px rgba(255,202,81,.8);
}
.hotspot.top:hover::after,
.hotspot.top:focus-visible::after{
  opacity:1;
  transform:scaleX(1);
}

/* Posiciones exactas del menú dibujado */
.inicio{left:6.25%;width:5.15%}
.cartas-top{left:13.55%;width:7.35%}
.lego-top{left:23.35%;width:4.35%}
.barbies-top{left:29.55%;width:5.25%}
.monster-top{left:37.05%;width:9.25%}
.hot-top{left:48.15%;width:7.75%}
.otros-top{left:58.25%;width:4.75%}
.vending-top{left:64.85%;width:10.65%}
.arca-top{left:77.15%;width:9.65%}
.contacto-top{left:88.75%;width:6.45%}

/* Menú lateral: solo las palabras principales en mayúsculas son clicables */
.hotspot.sign{
  height:3.35%;
  border:0;
  border-radius:0;
  background:transparent;
  clip-path:none;
  box-shadow:none;
  padding:0;
}
.hotspot.sign::before,
.hotspot.sign::after{
  content:none;
  display:none;
}
.hotspot.sign:hover,
.hotspot.sign:focus-visible{
  outline:0;
  border:0;
  background:transparent;
  box-shadow:none;
  filter:none;
  transform:none;
}

/*
  Coordenadas medidas sobre la imagen original de 1536 × 1024.
  Las zonas cubren únicamente el título en mayúsculas.
*/
.cartas-sign{
  left:10.05%;
  top:25.95%;
  width:10.65%;
}
.lego-sign{
  left:10.85%;
  top:35.25%;
  width:6.75%;
}
.barbie-sign{
  left:10.20%;
  top:44.35%;
  width:9.05%;
}
.monster-sign{
  left:10.20%;
  top:52.20%;
  width:11.85%;
}
.hot-sign{
  left:9.65%;
  top:60.75%;
  width:12.25%;
}
.otros-sign{
  left:10.20%;
  top:68.85%;
  width:6.65%;
}

/* Productos de la franja inferior: cada zona coincide con la tarjeta dibujada */
.hotspot.product{
  border-radius:9px;
}
.hotspot.product::before{
  content:"";
  position:absolute;
  inset:1px;
  border:1.5px solid rgba(255,222,139,.0);
  border-radius:inherit;
  background:rgba(255,202,78,0);
  transition:.18s ease;
}
.hotspot.product:hover::before,
.hotspot.product:focus-visible::before{
  border-color:rgba(255,222,139,.78);
  background:rgba(255,202,78,.055);
  box-shadow:0 0 19px rgba(255,194,62,.44),inset 0 0 13px rgba(255,224,149,.22);
}

/* Productos laterales */
.p1{left:14.05%;top:76.25%;width:9.8%;height:18.7%}
.p2{left:25.25%;top:76.25%;width:7.45%;height:18.7%}
.p3{left:34.55%;top:76.25%;width:7.75%;height:18.7%}
.p5{left:54.75%;top:76.25%;width:8.25%;height:18.7%}
.p6{left:65.35%;top:76.25%;width:7.9%;height:18.7%}
.p7{left:74.45%;top:76.25%;width:8.15%;height:18.7%}

/* Producto central: zona más alta, exactamente como la tarjeta destacada */
.p4{
  left:44.25%;
  top:76.25%;
  width:8.55%;
  height:18.7%;
  border-radius:9px;
}
.p4::before{border-radius:9px}

.featured-label{
  position:absolute;z-index:3;left:39.35%;top:70.65%;width:18.35%;height:2.7%;
  display:grid;place-items:center;border:1px solid rgba(239,202,108,.8);border-radius:999px;
  background:linear-gradient(180deg,rgba(23,54,32,.96),rgba(48,28,12,.96));
  color:#f7dc8f;font:700 clamp(.5rem,.7vw,.78rem)/1 Arial,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.4)
}
.hotspot.product{transform-origin:center center}
.hotspot.product:hover,.hotspot.product:focus-visible{z-index:5;transform:scale(1.07)}
.hotspot.product::after{
  content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;opacity:0;
  background-image:url("assets/portada.png?v=madera-limpia-2");background-repeat:no-repeat;
  transition:opacity .12s;box-shadow:0 10px 24px rgba(0,0,0,.45)
}
.hotspot.product:hover::after,.hotspot.product:focus-visible::after{opacity:1}
.p1::after{background-size:1020% auto;background-position:15.5% 93%}
.p2::after{background-size:1340% auto;background-position:27.5% 93%}
.p3::after{background-size:1290% auto;background-position:37.6% 93%}
.p4::after{background-size:1170% auto;background-position:48.7% 93%}
.p5::after{background-size:1215% auto;background-position:59.6% 93%}
.p6::after{background-size:1265% auto;background-position:71.1% 93%}
.p7::after{background-size:1225% auto;background-position:80.9% 93%}

.inner{
  min-height:100vh;padding:5vw;color:#f8e5b4;
  background:linear-gradient(rgba(8,24,14,.92),rgba(8,24,14,.94)),url("assets/portada.png?v=madera-limpia-2") center/cover fixed
}
.inner-header,.catalog-layout,.simple{width:min(1200px,92vw);margin:auto}
.inner-header{padding:35px 0}
.back{border:1px solid #d7aa52;background:#3d210f;color:#f7d990;padding:10px 16px;border-radius:999px;cursor:pointer}
.inner p{color:#e0b65f;text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:bold}
.inner h1{margin:.2em 0;font-size:clamp(2.7rem,6vw,5rem);color:#f7d77b;text-shadow:0 4px 0 #5a2c10}
.inner span{display:block;max-width:760px;line-height:1.7;color:#eee0c0}
.catalog-layout{display:grid;grid-template-columns:250px 1fr;gap:24px}
.catalog-layout aside,.products,.simple{
  background:rgba(250,238,204,.96);color:#321b0d;border:2px solid #a77631;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.32)
}
.catalog-layout aside{padding:22px;align-self:start;position:sticky;top:20px}
.catalog-layout aside h2{margin-top:0;color:#553015}
#filters button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px;border-radius:8px;cursor:pointer}
#filters button:hover,#filters button.active{background:#dfc38a;font-weight:bold}
.products{padding:22px}
.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
.toolbar input{border:1px solid #c3a46f;border-radius:999px;padding:10px 15px;min-width:260px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{overflow:hidden;border:1px solid #d5bd8a;border-radius:14px;background:#fffaf0;box-shadow:0 9px 20px rgba(73,42,15,.10)}
.card-art{height:170px;display:grid;place-items:center;color:white;font-size:1.2rem;font-weight:bold;text-align:center;padding:15px;background:var(--bg)}
.card-body{padding:15px}.card h3{margin:0 0 8px}.card small{color:#6f5d49;line-height:1.45}
.tags{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.tags b{font-size:.65rem;padding:5px 7px;background:#ead8b2;border-radius:999px}
.card a{display:inline-block;margin-top:10px;color:#6a3a17;font-weight:bold;text-decoration:none}
.simple{margin-top:5vw;padding:50px}.simple a{display:inline-block;margin-top:25px;color:#693715;font-weight:bold}
.simple>span{color:#5c472d}
.vending-page{padding:clamp(18px,3vw,42px);overflow:hidden;background:
  radial-gradient(circle at 76% 10%,rgba(117,193,255,.55),transparent 29%),
  linear-gradient(145deg,rgba(238,223,155,.94),rgba(226,240,191,.93) 44%,rgba(125,183,125,.92)),
  url("assets/carta-el-arca-magica.png") center/cover fixed;color:#38200e}
.vending-shell{position:relative;width:min(1240px,100%);margin:auto;padding:clamp(18px,3.2vw,46px);border:3px solid #9a6a23;border-radius:30px;background:
  linear-gradient(rgba(255,248,215,.96),rgba(244,231,181,.97)),
  url("assets/carta-el-arca-magica.png") center/cover;box-shadow:0 25px 70px rgba(29,58,31,.38),inset 0 0 0 7px rgba(213,166,58,.22)}
.vending-shell::before{content:"";position:absolute;inset:10px;pointer-events:none;border:1px solid rgba(100,68,24,.35);border-radius:22px}
.vending-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.78fr);align-items:center;gap:clamp(30px,5vw,78px);min-height:620px}
.vending-copy{position:relative;z-index:2;padding:34px 0}
.vending-copy .vending-kicker{margin:0 0 18px;color:#8b5b1a;font:700 .72rem/1.2 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.vending-copy h1{max-width:800px;margin:0 0 24px;color:#5a3012;font-size:clamp(3rem,6.2vw,6rem);line-height:.9;text-shadow:0 3px 0 #e7bd57}
.vending-lead{max-width:680px;margin:0;color:#3d321e!important;font:600 clamp(1.08rem,1.7vw,1.34rem)/1.55 Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important}
.vending-text{max-width:650px;margin:18px 0 0;color:#64543a!important;font:1rem/1.7 Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important}
.vending-cta{display:inline-flex;align-items:center;gap:18px;margin-top:30px;border:1px solid #e1b451;border-radius:999px;background:linear-gradient(180deg,#80501f,#4b2810);color:#ffe19a;padding:13px 20px 13px 24px;font:700 .9rem/1 Arial,sans-serif;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.3);transition:.2s ease}
.vending-cta span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#e6b853;color:#3c210e;line-height:1}
.vending-cta:hover,.vending-cta:focus-visible{transform:translateY(-2px);background:linear-gradient(180deg,#9b6728,#5b3214);outline:2px solid rgba(255,220,135,.45)}
.vending-machine{position:relative;isolation:isolate;margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center}
.vending-machine .vending-machine-photo{position:relative;z-index:1;display:block;width:min(100%,510px);max-height:680px;object-fit:cover;object-position:center;border:2px solid rgba(109,76,31,.72);border-radius:24px;box-shadow:0 30px 65px rgba(33,63,36,.38)}
.vending-glow{position:absolute;z-index:0;width:115%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(73,164,222,.34),rgba(96,167,87,.18) 42%,transparent 70%);filter:blur(10px)}
.vending-machine figcaption{position:relative;z-index:2;width:82%;margin:-18px 0 0;padding:13px 16px;border:1px solid #936121;border-radius:12px;background:#315b39;color:#fff0b8;font:italic .85rem/1.4 Georgia,serif;text-align:center;box-shadow:0 10px 24px rgba(30,63,34,.35)}
.vending-details{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:36px 0}
.vending-details article{position:relative;min-height:220px;padding:30px;border:1px solid rgba(123,92,39,.4);border-radius:18px;background:linear-gradient(145deg,rgba(250,244,208,.97),rgba(220,235,190,.96));box-shadow:0 18px 40px rgba(45,76,42,.16)}
.detail-number{color:#8c5f1e!important;font:700 .72rem/1 Arial,sans-serif!important;letter-spacing:.18em}
.vending-details h2{margin:28px 0 12px;color:#3d602e;font-size:1.25rem}
.vending-details p{margin:0;color:#594d38;font: .93rem/1.65 Arial,sans-serif;text-transform:none;letter-spacing:0}
.vending-proposal{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:28px 34px;border:1px solid #d3a344;border-radius:18px;background:linear-gradient(100deg,#d7a94b,#f0d389 46%,#bd7e2b);color:#321a0b;box-shadow:0 18px 45px rgba(0,0,0,.3)}
.vending-proposal p{margin:0 0 7px;color:#633913;font-size:.67rem;letter-spacing:.18em}
.vending-proposal h2{margin:0;font-size:clamp(1.5rem,3vw,2.3rem)}
.vending-cta-light{flex:0 0 auto;margin:0;background:#321a0b;color:#ffe29a}
.legal-footer{
  width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:9px;
  border-top:1px solid rgba(205,160,65,.36);background:#06100a;color:#96783b;
  font:700 .68rem/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase
}
.legal-footer button{border:0;background:transparent;color:#c9a85c;padding:7px 4px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}
.legal-footer button:hover,.legal-footer button:focus-visible{color:#ffe19a;text-decoration:underline;outline:none}
.legal-dialog{width:min(760px,calc(100vw - 28px));max-height:min(84vh,850px);overflow:auto;padding:32px;border:1px solid #bd913e;border-radius:18px;background:radial-gradient(circle at 90% 0,rgba(31,106,77,.34),transparent 36%),#102319;color:#f5e6bd;box-shadow:0 25px 80px rgba(0,0,0,.65)}
.legal-dialog::backdrop{background:rgba(1,8,4,.76);backdrop-filter:blur(4px)}
.legal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#e4c675;font:2rem/1 Arial,sans-serif;cursor:pointer}
.legal-kicker{margin:0;color:#c59c45;font:700 .7rem/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.legal-dialog h2{margin:8px 0 22px;color:#f7d77b;font-size:clamp(1.8rem,5vw,2.6rem)}
.legal-pending{padding:18px;border:1px solid rgba(209,169,76,.38);border-radius:12px;background:rgba(2,13,7,.36);font-family:Arial,sans-serif;line-height:1.55}
.legal-pending strong{color:#f1ce78}.legal-pending p{margin:7px 0 0;color:#d7c8a4;text-transform:none;letter-spacing:0;font-size:.9rem}
.legal-copy{font-family:Arial,sans-serif;line-height:1.6;color:#ddd0ae}
.legal-copy .legal-updated{margin:0 0 18px;color:#ac9258;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.legal-copy h3{margin:20px 0 7px;color:#f1ce78;font:700 1rem/1.25 Georgia,serif}
.legal-copy p{margin:0 0 10px;color:#ddd0ae;font-size:.9rem;text-transform:none;letter-spacing:0}
.legal-copy ul{margin:8px 0 12px;padding-left:20px;color:#ddd0ae;font-size:.9rem}
.legal-copy li{margin:5px 0}
.legal-copy a{color:#f0c968;font-weight:bold}
.legal-data{display:grid;gap:1px;margin:12px 0 22px;border:1px solid rgba(209,169,76,.3);border-radius:12px;overflow:hidden;background:rgba(2,13,7,.38)}
.legal-data div{display:grid;grid-template-columns:minmax(125px,.45fr) 1fr;gap:14px;padding:10px 13px;border-bottom:1px solid rgba(209,169,76,.16)}
.legal-data div:last-child{border-bottom:0}.legal-data dt{color:#bc9b55;font:700 .72rem/1.45 Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em}.legal-data dd{margin:0;color:#f1e5c5;font:normal .9rem/1.45 Arial,sans-serif}
.protected-email{border:0;background:transparent;color:#8c4d1c;padding:0;font:inherit;font-weight:bold;text-decoration:underline;cursor:pointer}.legal-copy .protected-email,.protected-email-link{color:#f0c968}
.contact-layout{width:min(980px,100%);display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.35fr);gap:clamp(18px,3vw,34px);align-items:stretch;margin-top:25px}
.contact-card{position:relative;overflow:hidden;padding:clamp(24px,3vw,38px);border:1px solid #a9792e;border-radius:20px;background:radial-gradient(circle at 85% 8%,rgba(40,132,92,.52),transparent 27%),linear-gradient(145deg,#173c2b,#0b2118 72%);color:#f7e8bb;box-shadow:0 18px 42px rgba(43,28,10,.18)}
.contact-card:after{content:"";position:absolute;inset:12px;border:1px solid rgba(229,188,92,.22);border-radius:14px;pointer-events:none}.contact-card-gem{display:grid;place-items:center;width:48px;height:48px;margin-bottom:28px;border:1px solid #d3a443;transform:rotate(45deg);color:#6dd5e9;background:#13576a;box-shadow:0 0 22px rgba(56,188,224,.3)}
.contact-card p{margin:0;color:#ddb757;font:700 .68rem/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.contact-card h2{margin:10px 0 14px;color:#ffe09a;font-size:clamp(1.55rem,2.8vw,2.25rem);line-height:1.05}.contact-card>span:not(.contact-card-gem){display:block;color:#dfd1a8;font:normal .93rem/1.55 Arial,sans-serif}.contact-card dl{display:grid;gap:16px;margin:28px 0 0}.contact-card dl div{padding-top:14px;border-top:1px solid rgba(223,183,87,.27)}.contact-card dt{color:#dcb755;font:700 .7rem/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.contact-card dd{margin:7px 0 0;color:#eadfbe;font:normal .86rem/1.45 Arial,sans-serif}.contact-card .protected-email{color:#ffe09a}
.contact-form{display:grid;gap:17px;margin:0;padding:clamp(22px,3vw,34px);border:1px solid rgba(151,104,39,.36);border-radius:20px;background:rgba(255,250,235,.74);box-shadow:0 18px 42px rgba(81,49,15,.12);font-family:Arial,sans-serif}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.contact-form label{display:grid;gap:7px;color:#513014;font-size:.82rem;font-weight:bold}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #b99658;border-radius:10px;background:#fffaf0;color:#2d1a0c;padding:12px 14px;font:1rem/1.4 Arial,sans-serif}
.contact-form textarea{resize:vertical;min-height:135px}
.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(197,146,52,.3);border-color:#8e5c1f}
.privacy-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;font-weight:normal!important;line-height:1.45}
.privacy-check span{display:inline;color:#513014;font-family:Arial,sans-serif}
.privacy-check input{width:18px;height:18px;margin-top:1px;padding:0}
.privacy-check button{border:0;background:transparent;color:#6a3a17;padding:0;font:inherit;font-weight:bold;text-decoration:underline;cursor:pointer}
.contact-submit{justify-self:start;border:1px solid #b98631;border-radius:999px;background:#48240f;color:#f8d982;padding:12px 22px;font-weight:bold;cursor:pointer}
.contact-submit:hover,.contact-submit:focus-visible{background:#68401b;outline:3px solid rgba(197,146,52,.3)}
.contact-form small{color:#715d44}
.contact-email-alt{margin:0!important;color:#644a2c!important;font:normal .9rem/1.5 Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important}
.contact-email-alt a{margin:0!important;color:#693715;font-weight:bold}
.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-status{display:none;margin-top:22px;padding:13px 16px;border-radius:10px;font-family:Arial,sans-serif;line-height:1.4}
.contact-status.success{display:block;background:#dcebd5;color:#23431f;border:1px solid #82a876}
.contact-status.error{display:block;background:#f4dddd;color:#6f201d;border:1px solid #c78a85}
.contact-page{min-height:100svh;padding:0!important;overflow:auto;background:#e9ede6;color:#24372e}
.contact-hero{position:relative;min-height:190px;padding:clamp(22px,3vw,42px) max(5vw,32px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid #887c64;background:linear-gradient(90deg,rgba(13,43,31,.98),rgba(31,70,53,.92)),url('assets/portada.png') center 46%/cover;color:#f2ead7}
.contact-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 50%,rgba(62,139,105,.35),transparent 28%);pointer-events:none}
.contact-hero .back{position:absolute;z-index:2;left:max(3vw,20px);top:20px;border-color:#b99658;background:rgba(5,24,16,.72);color:#eed494}
.contact-hero-copy{position:relative;z-index:1;width:min(800px,72vw);margin-top:20px}.contact-hero-copy p{margin:0 0 7px;color:#c7b47e;font:700 .65rem/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.contact-hero-copy h1{margin:0 0 9px;color:#f4f1e9;font-size:clamp(2.55rem,4.6vw,4.3rem);line-height:.92;text-shadow:0 3px 12px rgba(0,0,0,.25)}.contact-hero-copy .contact-intro{display:block;max-width:720px;color:#d9dfd8;font:normal clamp(.76rem,1.05vw,.9rem)/1.45 Arial,sans-serif}
.contact-hero-mark{position:absolute;z-index:1;right:8vw;display:grid;place-items:center;width:92px;height:92px;border:1px solid rgba(218,181,87,.75);transform:rotate(45deg);color:#69ccdf;background:rgba(13,79,91,.65);font-size:1.5rem;box-shadow:0 0 32px rgba(70,192,219,.18)}
.contact-body{width:min(930px,calc(100% - 36px));margin:0 auto;padding:28px 0 38px}.contact-layout{width:100%;grid-template-columns:minmax(210px,.54fr) minmax(0,1.46fr);gap:22px;align-items:start;margin-top:0}.contact-card{align-self:start;padding:26px 24px;border-radius:14px;background:linear-gradient(155deg,#234b39,#102c20 76%);box-shadow:0 12px 28px rgba(33,49,40,.15)}.contact-card:after{inset:9px;border-radius:10px}.contact-card-gem{width:36px;height:36px;margin:0 0 20px;font-size:.8rem}.contact-card h2{font-size:1.45rem}.contact-card>span:not(.contact-card-gem){font-size:.82rem;line-height:1.45}.contact-card dl{gap:12px;margin-top:20px}.contact-card dl div{padding-top:11px}.contact-form{gap:12px;padding:23px 25px;border-radius:14px;background:#f7f7f2;border-color:#bac1b8;box-shadow:0 12px 28px rgba(44,57,48,.12)}.contact-form .form-row{gap:12px}.contact-form label{gap:5px;color:#34463b;font-size:.74rem}.contact-form input,.contact-form textarea{border-color:#aeb8ae;border-radius:7px;background:#fff;color:#26362d;padding:9px 11px;font-size:.92rem}.contact-form textarea{min-height:100px}.contact-form input:focus,.contact-form textarea:focus{outline-color:rgba(48,106,77,.23);border-color:#3a7658}.privacy-check span{color:#425148;font-size:.78rem}.privacy-check button,.contact-email-alt a,.contact-form .protected-email{color:#285d42}.contact-submit{padding:10px 19px;border-color:#27583e;background:#204c35;color:#f4eddb}.contact-submit:hover,.contact-submit:focus-visible{background:#2d6748}.contact-form small{font-size:.67rem;line-height:1.35;color:#68736c}.contact-email-alt{font-size:.8rem!important;color:#556259!important}
.contact-body{padding:20px 0 30px}
@media(min-width:551px){
  #home.active{display:grid;grid-template-rows:minmax(0,1fr) 34px;place-items:center;width:100%;height:100svh;overflow:hidden}
  #home .artboard{width:min(100vw,calc((100svh - 34px)*1.5),1536px)}
}
@media(max-width:760px){.contact-hero{min-height:215px;padding:62px 22px 22px}.contact-hero-copy{width:100%;margin:0}.contact-hero-copy h1{font-size:3.05rem}.contact-hero-copy .contact-intro{font-size:.74rem;line-height:1.4}.contact-hero-mark,.contact-card{display:none}.contact-body{width:min(100% - 24px,620px);padding:14px 0 24px}.contact-layout{grid-template-columns:1fr;gap:0}.contact-form{padding:17px 15px}.contact-form textarea{min-height:88px}.legal-dialog{padding:25px 20px}.legal-data div{grid-template-columns:1fr;gap:4px}}
@media(min-width:801px){
  #vending.active{display:block;height:100svh;min-height:0;overflow:hidden;padding:14px 22px}
  #vending .vending-shell{height:calc(100svh - 28px);padding:16px 28px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.62fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"back back" "copy machine" "details machine" "proposal machine";column-gap:clamp(24px,3.4vw,58px);row-gap:9px}
  #vending .back{grid-area:back;justify-self:start;padding:7px 14px}
  #vending .vending-hero{display:contents}
  #vending .vending-copy{grid-area:copy;align-self:start;padding:3px 0 0}
  #vending .vending-copy .vending-kicker{margin-bottom:9px}
  #vending .vending-copy h1{margin-bottom:13px;font-size:clamp(2.35rem,3.8vw,4.1rem)}
  #vending .vending-lead{font-size:clamp(.94rem,1.25vw,1.15rem)!important;line-height:1.42!important}
  #vending .vending-text{margin-top:8px;font-size:.88rem!important;line-height:1.45!important}
  #vending .vending-cta{margin-top:14px;padding:9px 15px 9px 18px}
  #vending .vending-cta span{width:24px;height:24px}
  #vending .vending-machine{grid-area:machine;height:100%;min-height:0;align-self:stretch;display:grid;grid-template-rows:82px minmax(0,1fr) 43px;align-items:stretch;border:2px solid rgba(109,76,31,.72);border-radius:17px;overflow:hidden;background:#315b39;box-shadow:0 30px 65px rgba(33,63,36,.28)}
  #vending .vending-machine::before{content:"";position:relative;z-index:2;display:block;background:
    url("assets/logo-portada-cabecera.png") center/auto 100% no-repeat,
    linear-gradient(90deg,rgba(7,31,16,.55),rgba(7,31,16,.08),rgba(7,31,16,.55)),
    url("assets/portada.png?v=madera-limpia-2") center 32%/cover no-repeat;border-bottom:2px solid #a77631}
  #vending .vending-machine .vending-machine-photo{grid-row:2;width:100%;max-width:none;height:100%;max-height:none;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none}
  #vending .vending-machine figcaption{grid-row:3;width:100%;margin:0;padding:9px 12px;border:0;border-top:2px solid #a77631;border-radius:0;background:
    linear-gradient(rgba(58,30,11,.2),rgba(58,30,11,.35)),
    url("assets/portada.png?v=madera-limpia-2") 50% 73%/260% auto no-repeat;color:#ffe19a;font-size:.72rem;box-shadow:none}
  #vending .vending-details{grid-area:details;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;align-self:start;align-items:start;margin:0;gap:8px;min-height:0}
  #vending .vending-details article{min-height:0;padding:13px 12px;border-radius:12px;display:block}
  #vending .detail-number{font-size:.61rem!important}
  #vending .vending-details h2{margin:14px 0 8px;font-size:1rem;line-height:1.05}
  #vending .vending-details p{margin:0;font-size:.74rem;line-height:1.4}
  #vending .vending-proposal{grid-area:proposal;margin:0;padding:6px 0;border:0;border-radius:0;background:transparent;box-shadow:none}
  #vending .vending-proposal p{margin-bottom:3px;font-size:.58rem}
  #vending .vending-proposal h2{font-size:1.25rem}
  #vending .vending-proposal .vending-cta{margin:0}
  #vending .vending-art-layout{grid-template-areas:"back back" "poster machine" "poster machine" "poster machine"}
  #vending .vending-art-layout .vending-copy,#vending .vending-art-layout .vending-details,#vending .vending-art-layout .vending-proposal{display:none}
  #vending .vending-poster{grid-area:poster;position:relative;min-height:0;align-self:start;aspect-ratio:760/650}
  #vending .vending-poster picture,#vending .vending-poster img{display:block;width:100%;height:auto}
  #vending .vending-poster .vending-cta{position:absolute;margin:0;padding:0;border:0;border-radius:22px;background:transparent;color:transparent;box-shadow:none;transform:none}
  #vending .vending-poster .vending-cta span{display:none}
  #vending .vending-poster .vending-cta:hover,#vending .vending-poster .vending-cta:focus-visible{background:rgba(255,225,154,.1);outline:3px solid rgba(126,80,23,.38);transform:none}
  #vending .poster-location{left:.8%;top:37.85%;width:31%;height:6.2%}
  #vending .poster-talk{left:78.9%;top:92.3%;width:20.3%;height:6.5%}
}
@media(min-width:801px) and (min-height:850px){
  #vending .vending-poster{width:min(100%,calc((100svh - 110px)*.678571));aspect-ratio:760/1120;justify-self:start;transform:translateY(10px)}
  #vending .poster-location{left:.8%;top:25%;width:31%;height:3.75%}
  #vending .poster-talk{left:78.9%;top:80.35%;width:20.3%;height:4.3%}
}
@media(max-width:800px){
  .catalog-layout{grid-template-columns:1fr}.catalog-layout aside{position:static}
  .grid{grid-template-columns:repeat(2,1fr)}
  .vending-hero{grid-template-columns:1fr;gap:0}
  .vending-copy{padding-bottom:10px}
  .vending-machine{margin-top:20px}
  .vending-machine img{width:min(100%,460px);max-height:580px}
  .vending-details{grid-template-columns:1fr}
  .vending-details article{min-height:0}
  .vending-art-layout .vending-copy,.vending-art-layout .vending-details,.vending-art-layout .vending-proposal{display:none}
  .vending-poster{position:relative;margin:22px 0 12px}
  .vending-poster picture,.vending-poster img{display:block;width:100%;height:auto}
  .vending-poster .vending-cta{position:absolute;margin:0;padding:0;border:0;background:transparent;color:transparent;box-shadow:none;transform:none}
  .vending-poster .vending-cta span{display:none}
  .vending-poster .poster-location{left:2%;top:20.1%;width:52.6%;height:3.6%}
  .vending-poster .poster-talk{left:63.3%;top:91.8%;width:34.7%;height:3.9%}
}
@media(max-width:550px){
  body{background:#07130c}
  #home{min-height:100svh}
  #home .artboard{display:none}
  .featured-label{display:none}
  .mobile-home{display:block;min-height:100svh;padding:22px 18px 34px;color:#fff4d5;background:
    linear-gradient(180deg,rgba(4,17,9,.18) 0,rgba(4,17,9,.9) 43%,#07130c 100%),
    url("assets/portada.png?v=madera-limpia-2") right -180px/auto 540px no-repeat}
  .mobile-hero{min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;padding:12px 6px 28px}
  .mobile-eyebrow{margin:0 0 7px;color:#f5cf70;font:700 .72rem/1.2 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
  .mobile-hero h1{margin:0;color:#fff0bd;font-size:clamp(3.2rem,16vw,4.5rem);line-height:.78;text-shadow:0 4px 0 #4d260e,0 8px 24px #000}
  .mobile-hero h1 span{color:#f3c95c}
  .mobile-intro{max-width:330px;margin:22px 0 0;color:#f0e5c8;font:1rem/1.5 Arial,sans-serif}
  .mobile-categories{display:grid;grid-template-columns:1fr 1fr;gap:11px}
  .mobile-categories button{min-height:104px;padding:16px 13px;border:1px solid rgba(236,194,91,.55);border-radius:16px;background:linear-gradient(145deg,rgba(73,45,20,.96),rgba(20,48,28,.96));color:#fff1c9;text-align:left;box-shadow:0 10px 22px rgba(0,0,0,.25);cursor:pointer}
  .mobile-categories button:active{transform:scale(.98)}
  .mobile-categories span{display:block;font-size:1.06rem;font-weight:bold}
  .mobile-categories small{display:block;margin-top:7px;color:#d9bd7a;font: .75rem/1.3 Arial,sans-serif}
  .mobile-links{display:grid;gap:9px;margin-top:20px}
  .mobile-links button{min-height:48px;border:1px solid rgba(236,194,91,.38);border-radius:999px;background:rgba(9,29,17,.9);color:#f3d98f;font:700 .86rem Arial,sans-serif;cursor:pointer}
  .inner{padding:20px 14px 36px;background-attachment:scroll}
  .inner-header,.catalog-layout,.simple{width:100%}
  .inner-header{padding:10px 0 24px}
  .inner h1{font-size:clamp(2.35rem,13vw,3.5rem);line-height:1}
  .inner span{line-height:1.55}
  .catalog-layout aside,.products{border-radius:14px}
  .catalog-layout aside{padding:16px}
  #filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 7px;scrollbar-width:thin}
  #filters button{flex:0 0 auto;width:auto;min-height:42px;padding:10px 14px;border:1px solid #d1b473;border-radius:999px;white-space:nowrap}
  .products{padding:14px}
  .grid{grid-template-columns:1fr}
  .toolbar{align-items:stretch;flex-direction:column;gap:12px}
  .toolbar input{min-width:0;width:100%;min-height:46px}
  .card-art{height:150px}
  .simple{margin:0;min-height:100svh;padding:24px 18px}
  .contact-form .form-row{grid-template-columns:1fr}
  .vending-page{padding:18px 14px 28px}
  .vending-hero{min-height:0}
  .vending-copy{padding:30px 4px 8px}
  .vending-copy h1{font-size:clamp(2.65rem,14vw,4rem);line-height:.93}
  .vending-lead{font-size:1.02rem!important}
  .vending-machine img{width:100%;max-height:520px;border-radius:150px 150px 22px 22px}
  .vending-machine .vending-machine-photo{border-radius:18px}
  .vending-machine figcaption{width:92%;font-size:.78rem}
  .vending-details{margin:28px 0}
  .vending-details article{padding:24px}
  .vending-proposal{align-items:flex-start;flex-direction:column;padding:25px 22px}
}

/* Contacto: una sola columna, limpia y centrada. */
.contact-page .contact-layout{display:block;width:min(650px,100%);margin:0 auto}
