/* Diago Home — réplica estática */
:root{
  --bg:#ffffff; --beige:#F4EEE9; --text:#171717; --muted:#6b665e;
  --accent:#988C63; --terracotta:#AD533F; --border:#DBD8CF;
  --serif:'Trirong',Georgia,serif; --sans:'Instrument Sans',Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--bg);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.center{text-align:center}

h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.25}
h1{font-size:clamp(1.9rem,4vw,2.8rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.logo img{height:34px;width:auto}
.main-nav{display:flex;gap:28px}
.main-nav a{font-size:.95rem;letter-spacing:.02em;padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.main-nav a:hover,.main-nav a.active{border-bottom-color:var(--text)}
.header-actions{display:flex;align-items:center;gap:14px}
.wa-head{color:var(--text);opacity:.8}.wa-head:hover{opacity:1}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:8px}
.menu-btn span{display:block;width:22px;height:2px;background:var(--text);margin:5px 0}

/* hero */
.hero{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-text{position:relative;text-align:center;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45);padding:40px 20px}
.hero-text h1{font-size:clamp(2.4rem,6vw,4rem);margin-bottom:8px;font-style:italic}
.hero-text p{font-size:clamp(1.05rem,2.4vw,1.4rem);letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px}

/* fade-in del título de la home */
@keyframes heroFade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-text h1{animation:heroFade 1.3s cubic-bezier(.22,.61,.36,1) both}
.hero-text p{animation:heroFade 1.3s cubic-bezier(.22,.61,.36,1) .35s both}
.hero-text .btn{animation:heroFade 1.3s cubic-bezier(.22,.61,.36,1) .7s both}
@media (prefers-reduced-motion:reduce){
  .hero-text h1,.hero-text p,.hero-text .btn{animation:none}
}

/* botones */
.btn{display:inline-block;padding:13px 30px;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid var(--text);transition:all .2s;font-family:var(--sans);text-align:center}
.btn-solid{background:var(--text);color:#fff}
.btn-solid:hover{background:#3a3a3a}
.btn-outline{background:transparent;color:var(--text)}
.btn-outline:hover{background:var(--text);color:#fff}
.btn-light{border-color:#fff;color:var(--text);background:rgba(255,255,255,.72);backdrop-filter:blur(2px);text-shadow:none}
.btn-light:hover{background:#fff;color:var(--text)}
.btn.wa{background:var(--accent);border-color:var(--accent)}
.btn.wa:hover{background:#7f7451;border-color:#7f7451}

/* secciones */
.section{padding:56px 24px}
.section-title{text-align:center;margin-bottom:36px}
.section-title a:hover{color:var(--accent)}
.page-head{padding-bottom:8px}
.page-head h1{margin-top:4px}
.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:6px}
.breadcrumb a:hover{text-decoration:underline}
.beige{background:var(--beige)}

/* tarjetas de producto */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px}
.card-media{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--beige)}
.card-img{width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform .35s}
.card-img.hover{position:absolute;inset:0;opacity:0}
.card:hover .card-img.hover{opacity:1}
.card:hover .card-img:not(.hover){transform:scale(1.03)}
.card-info{padding:12px 2px}
.card-info h3{font-size:1.02rem;font-family:var(--sans);font-weight:500}
.price{color:var(--muted);font-size:.95rem}
.price.big{font-size:1.25rem;color:var(--text);margin:10px 0 18px}

/* tarjetas de colección */
.col-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.col-card{position:relative;aspect-ratio:3/4;overflow:hidden}
.col-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.col-card:hover img{transform:scale(1.05)}
.col-card span{position:absolute;left:0;right:0;bottom:0;padding:18px;color:#fff;font-family:var(--serif);font-size:1.35rem;background:linear-gradient(transparent,rgba(0,0,0,.55))}

/* propósito (video + texto) */
.purpose{display:grid;grid-template-columns:1fr 1fr;background:var(--beige);align-items:center}
.purpose-media{display:flex;justify-content:center;padding:40px 24px}
.purpose-media video{width:auto;max-width:100%;height:auto;max-height:620px;aspect-ratio:auto;box-shadow:0 18px 44px rgba(0,0,0,.12)}
.purpose-text{padding:56px;max-width:560px;justify-self:center}
.purpose-text h2{margin-bottom:18px}
.purpose-text p{margin-bottom:26px}

/* prensa */
.press{padding-top:20px}
.press-title{text-align:center;color:var(--muted);margin-bottom:28px}
.press-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:56px}
.press-logos img{height:54px;width:auto;opacity:.85;filter:grayscale(1) brightness(.35) contrast(1.15)}
@media (max-width:760px){
  .press-logos{gap:32px}
  .press-logos img{height:40px}
}

/* USP */
.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:48px;padding-bottom:48px;text-align:center}
.usp p{max-width:260px;margin:14px auto 0}
.usp-icon{height:56px;margin:0 auto;width:auto}
.usp-firma{height:72px;margin:0 auto;width:auto}
.usp-img{height:120px;width:180px;object-fit:cover;margin:0 auto}

/* instagram */
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}
.insta-grid img{aspect-ratio:1;object-fit:cover;width:100%}
.insta-link{color:var(--accent)}

/* producto */
.product-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;margin-top:20px}
.gallery-main{aspect-ratio:1;background:var(--beige);overflow:hidden}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.gallery-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.thumb{width:72px;height:72px;object-fit:cover;cursor:pointer;border:1px solid transparent;opacity:.75}
.thumb.sel,.thumb:hover{border-color:var(--text);opacity:1}
.product-info h1{font-size:1.9rem}
.rte{margin-bottom:18px}
.rte p{margin-bottom:12px}
.options{border-top:1px solid var(--border);padding-top:16px;margin-bottom:18px}
.opt{margin-bottom:6px;font-size:.95rem}
.opt-note{font-size:.85rem;color:var(--muted)}
.order-box{background:var(--beige);padding:22px;margin:8px 0 22px;display:flex;flex-direction:column;gap:12px}
.order-title{font-family:var(--serif);font-size:1.1rem}
.order-note{font-size:.85rem;color:var(--muted)}
.accordion{border-top:1px solid var(--border);padding:14px 0}
.accordion summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between}
.accordion summary::after{content:'+'}
.accordion[open] summary::after{content:'–'}
.accordion p{margin-top:10px;color:var(--muted)}

/* prose / páginas de texto */
.prose{max-width:820px;margin:0 auto}
.prose h2{margin:26px 0 14px}
.prose h3{margin:22px 0 10px}
.prose p{margin-bottom:14px}
.prose ul,.prose ol{margin:0 0 14px 22px}
.prose a{text-decoration:underline}
.policy h1,.policy h2{font-size:1.4rem}
.firma{height:80px;width:auto;margin-top:10px}
.two-imgs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.two-imgs img{width:100%;object-fit:cover}

/* proyecto social — oficios */
.craft{display:flex;flex-direction:column;gap:64px}
.craft-item{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.craft-item:nth-child(even) video{order:2}
.craft-item video{width:100%;aspect-ratio:4/3;object-fit:cover}
.craft-item h3{font-size:1.6rem}
.craft-item h4{font-family:var(--serif);color:var(--accent);font-weight:400;margin:4px 0 14px}
.craft-item p{margin-bottom:12px}

/* contacto */
.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
.contact-img{margin-bottom:24px}
.contact-line{font-size:1.1rem;margin:10px 0}
.contact-line a{text-decoration:underline}
.contact-form{background:var(--beige);padding:32px}
.contact-form h2{font-size:1.3rem;margin-bottom:18px}
form label{display:block;font-size:.9rem;margin-bottom:14px}
form input,form textarea{width:100%;padding:11px 12px;border:1px solid var(--border);background:#fff;font-family:var(--sans);font-size:.95rem;margin-top:5px}
form input:focus,form textarea:focus{outline:none;border-color:var(--text)}
form .btn{width:100%;margin-top:6px}

/* footer */
.site-footer{background:var(--text);color:#e7e3da;margin-top:72px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;padding-top:56px;padding-bottom:32px}
.footer-logo{height:44px;width:auto;margin-bottom:16px}
.footer-brand p{font-size:.92rem;opacity:.85;margin-bottom:12px}
.site-footer h4{font-family:var(--serif);font-weight:400;font-size:1.05rem;margin-bottom:14px;color:#fff}
.site-footer a{display:block;font-size:.9rem;opacity:.8;margin-bottom:9px}
.site-footer a:hover{opacity:1;text-decoration:underline}
.footer-brand .insta-link{display:inline;color:#cbb98a}
.footer-note{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;padding-bottom:28px;font-size:.85rem;opacity:.8}
.footer-note a{display:inline;text-decoration:underline}
.footer-note .copy{margin-top:8px;font-size:.78rem;opacity:.7}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-bg.open{display:flex}
.modal{background:#fff;max-width:460px;width:100%;padding:32px;position:relative;max-height:90vh;overflow:auto}
.modal h3{font-size:1.4rem;margin-bottom:6px}
.modal-sub{font-size:.9rem;color:var(--muted);margin-bottom:18px}
.modal-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:1.7rem;cursor:pointer;color:var(--muted)}

/* responsive */
@media (max-width:900px){
  .purpose,.product-layout,.contact-layout,.craft-item{grid-template-columns:1fr}
  .craft-item:nth-child(even) video{order:0}
  .purpose-text{padding:36px 24px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .usp-grid{grid-template-columns:1fr;gap:40px}
  .insta-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;gap:0;border-bottom:1px solid var(--border)}
  .main-nav.open{display:flex}
  .main-nav a{padding:15px 24px;border-bottom:1px solid var(--border)}
  .menu-btn{display:block}
  .grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .section{padding:40px 16px}
  .hero{min-height:60vh}
}

/* buscador del header */
.search-btn{background:none;border:0;cursor:pointer;color:var(--text);opacity:.8;padding:4px;display:flex;align-items:center}
.search-btn:hover{opacity:1}
.search-panel{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 12px 30px rgba(0,0,0,.08);display:none}
.search-panel.open{display:block}
.search-inner{position:relative;padding:18px 24px 22px}
.search-input{width:100%;border:0;border-bottom:1px solid var(--border);padding:10px 40px 10px 2px;font-family:var(--serif);font-size:1.25rem;background:transparent}
.search-input:focus{outline:none;border-bottom-color:var(--text)}
.search-input::-webkit-search-cancel-button{display:none}
.search-close{position:absolute;top:20px;right:24px;background:none;border:0;font-size:1.6rem;color:var(--muted);cursor:pointer;line-height:1}
.search-close:hover{color:var(--text)}
.search-results{max-height:60vh;overflow:auto;margin-top:6px}
.search-hit{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:9px 2px;border-bottom:1px solid var(--border)}
.search-hit:last-child{border-bottom:0}
.search-hit:hover .sh-name{color:var(--accent)}
.search-hit img{width:52px;height:52px;object-fit:cover;background:var(--beige)}
.sh-name{font-size:.98rem}
.sh-price{color:var(--muted);font-size:.9rem;white-space:nowrap}
.search-empty{padding:14px 2px;color:var(--muted);font-size:.95rem}

/* página de prensa */
.press-intro{color:var(--muted);max-width:640px;margin-top:8px}
.press-block{padding-top:32px}
.press-block h2{margin-bottom:22px}
.press-list{border-top:1px solid var(--border)}
.press-item{border-bottom:1px solid var(--border);padding:22px 2px}
.pi-meta{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.press-item h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;margin-bottom:8px}
.pi-links a{font-size:.92rem;text-decoration:underline;color:var(--muted)}
.pi-links a:hover{color:var(--text)}
.press-more{margin-top:18px;font-size:.92rem;color:var(--muted)}
.press-more a{text-decoration:underline}

/* becas y relacionados en ficha de producto */
.becas-box{background:var(--beige);border-left:3px solid var(--accent);padding:18px 20px;margin-top:18px}
.becas-box h3{font-family:var(--serif);font-weight:400;font-size:1.1rem;margin-bottom:6px}
.becas-box p{font-size:.92rem;color:var(--muted)}
.becas-box a{text-decoration:underline}
.related{padding-top:24px}

/* prensa visual */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:28px}
.pcard{display:flex;flex-direction:column}
.pcard-media{aspect-ratio:3/4;overflow:hidden;background:var(--beige);margin-bottom:12px}
.pcard-media img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s}
.pcard:hover .pcard-media img{transform:scale(1.04)}
.pcard h3{font-family:var(--serif);font-weight:400;font-size:1.15rem;margin:6px 0 8px;line-height:1.3}
.pcard-link{font-size:.88rem;text-decoration:underline;color:var(--muted);margin-top:auto}
.pcard:hover .pcard-link{color:var(--text)}
.pcard-quote{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--accent);padding:24px;text-align:center}
.pcard-quote span{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.pq-mark{font-family:var(--serif);font-size:4.5rem;line-height:1;color:var(--accent)}
.pq-quote{font-family:var(--serif);font-size:1.3rem!important;text-transform:none!important;letter-spacing:0!important;color:var(--text)}
.pfeature{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;background:var(--beige);padding:36px;margin-bottom:40px}
.pfeature-media img{width:100%;max-height:560px;object-fit:contain;box-shadow:0 18px 44px rgba(0,0,0,.14)}
.pfeature-text h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;margin:8px 0 12px}
.pfeature-sub{color:var(--muted);margin-bottom:16px}
@media (max-width:760px){.pfeature{grid-template-columns:1fr;padding:24px}}
