/*
Theme Name: Arqe Storefront Child
Theme URI: https://arqe.digital
Description: Tema hijo de Storefront para la tienda Arqe — mobiliario, arte y decoración en metal a medida. Reproduce el diseño original de Arqe sobre WooCommerce.
Author: Arqe
Template: storefront
Version: 1.0.0
Text Domain: arqe
*/

/* =========================================================
   TOKENS (extraídos del diseño original de Arqe)
   ========================================================= */
:root{
  --background: 48 24% 95%;   /* crema */
  --foreground: 233 38% 11%;  /* tinta */
  --card: 0 0% 100%;
  --primary: 233 39% 15%;
  --secondary: 45 16% 90%;
  --muted: 45 14% 88%;
  --muted-foreground: 233 8% 40%;
  --border: 45 16% 82%;
  --navy: 233 40% 16%;
  --olive: 58 32% 30%;
  --orange: 14 66% 51%;
  --cream: 48 24% 95%;
  --radius: 0.375rem;

  --c-bg: hsl(var(--background));
  --c-fg: hsl(var(--foreground));
  --c-navy: hsl(var(--navy));
  --c-olive: hsl(var(--olive));
  --c-orange: hsl(var(--orange));
  --c-cream: hsl(var(--cream));
  --c-card: hsl(var(--card));
  --c-secondary: hsl(var(--secondary));
  --c-muted: hsl(var(--muted));
  --c-mutedfg: hsl(var(--muted-foreground));
  --c-border: hsl(var(--border));
  --maxw: 90rem;
}

/* =========================================================
   BASE
   ========================================================= */
body.arqe,
body{
  font-family:"DM Sans", system-ui, sans-serif;
  background-color:var(--c-bg);
  color:var(--c-fg);
  overflow-x:clip;
  margin:0;
}
.arqe-display,
h1,h2,h3,h4{ font-family:"Archivo", system-ui, sans-serif; }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
*{ box-sizing:border-box; }
::selection{ background:var(--c-orange); color:#fff; }

.arqe-wrap{ margin:0 auto; max-width:var(--maxw); padding-left:1.25rem; padding-right:1.25rem; }
@media(min-width:640px){ .arqe-wrap{ padding-left:2rem; padding-right:2rem; } }

.text-orange{ color:var(--c-orange); }
.bg-navy{ background:var(--c-navy); }
.bg-olive{ background:var(--c-olive); }

/* Botones */
.arqe-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  border-radius:999px; padding:.9rem 1.75rem;
  font-family:"Archivo",sans-serif; font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.14em;
  transition:transform .2s ease, background .2s ease, color .2s ease;
  cursor:pointer; border:0;
}
.arqe-btn:hover{ transform:translateY(-2px); }
.arqe-btn--navy{ background:var(--c-navy); color:#fff; }
.arqe-btn--orange{ background:var(--c-orange); color:#fff; }
.arqe-btn--ghost{ border:1px solid var(--c-border); background:transparent; color:var(--c-fg); }
.arqe-btn--ghost:hover{ border-color:var(--c-orange); color:var(--c-orange); transform:none; }
.arqe-btn--outline-white{ border:1px solid rgba(255,255,255,.4); color:#fff; background:transparent; }
.arqe-btn--outline-white:hover{ background:#fff; color:var(--c-olive); transform:none; }

.arqe-eyebrow{ font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--c-orange); }
.arqe-section-title{ font-family:"Archivo",sans-serif; font-weight:800; letter-spacing:-.02em; font-size:clamp(1.7rem,4vw,2.25rem); margin:0; }

/* =========================================================
   HEADER
   ========================================================= */
.arqe-header{
  position:sticky; top:0; z-index:40;
  border-bottom:1px solid hsl(var(--border)/.7);
  background:hsl(var(--background)/.9);
  backdrop-filter:blur(10px);
}
.arqe-header__inner{
  margin:0 auto; max-width:var(--maxw);
  height:4rem; display:flex; align-items:center; justify-content:space-between;
  padding:0 1.25rem;
}
@media(min-width:640px){ .arqe-header__inner{ padding:0 2rem; } }
.arqe-logo{ font-family:"Archivo",sans-serif; font-size:1.5rem; font-weight:800; letter-spacing:-.02em; }
.arqe-logo span{ color:var(--c-orange); }
.arqe-nav{ display:none; align-items:center; gap:1.5rem; }
@media(min-width:1024px){ .arqe-nav{ display:flex; } }
.arqe-nav a{
  font-family:"Archivo",sans-serif; font-size:.69rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.14em; color:hsl(var(--foreground)/.7);
  transition:color .2s;
}
.arqe-nav a:hover{ color:var(--c-orange); }
.arqe-nav .arqe-menu{ display:flex; align-items:center; gap:1.5rem; list-style:none; margin:0; padding:0; }
.arqe-nav .arqe-menu li{ list-style:none; }
.arqe-menu-mobile{ list-style:none; margin:0; padding:0; }
.arqe-menu-mobile li a{ display:block; padding:.85rem 1.25rem; border-bottom:1px solid hsl(var(--border)/.6);
  font-family:"Archivo",sans-serif; font-size:.85rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:hsl(var(--foreground)/.8); }
.arqe-header__actions{ display:flex; align-items:center; gap:.5rem; }
.arqe-iconbtn{
  display:flex; height:2.5rem; width:2.5rem; align-items:center; justify-content:center;
  border-radius:999px; border:0; background:transparent; cursor:pointer; position:relative; color:inherit;
  transition:background .2s;
}
.arqe-iconbtn:hover{ background:var(--c-muted); }
.arqe-cart-count{
  position:absolute; top:-2px; right:-2px; min-width:1rem; height:1rem; padding:0 .25rem;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px; background:var(--c-orange); color:#fff; font-size:.6rem; font-weight:700;
}
.arqe-burger{ display:flex; }
@media(min-width:1024px){ .arqe-burger{ display:none; } }
.arqe-mobile-nav{ display:none; border-top:1px solid var(--c-border); background:var(--c-bg); }
.arqe-mobile-nav.open{ display:block; }
.arqe-mobile-nav a{
  display:block; padding:.85rem 1.25rem; border-bottom:1px solid hsl(var(--border)/.6);
  font-family:"Archivo",sans-serif; font-size:.85rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em;
  color:hsl(var(--foreground)/.8);
}

/* =========================================================
   HERO
   ========================================================= */
.arqe-hero{ position:relative; overflow:hidden; }
.arqe-hero__grid{
  margin:0 auto; max-width:var(--maxw);
  display:grid; gap:2.5rem; align-items:center;
  padding:3rem 1.25rem 4rem;
}
@media(min-width:640px){ .arqe-hero__grid{ padding-left:2rem; padding-right:2rem; } }
@media(min-width:1024px){
  .arqe-hero__grid{ grid-template-columns:1fr 1.05fr; padding-top:4rem; padding-bottom:6rem; }
}
.arqe-hero__meta{ display:flex; align-items:center; gap:.75rem; margin-bottom:1.5rem;
  font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.2em; color:var(--c-mutedfg); }
.arqe-hero__meta .now{ color:var(--c-fg); }
.arqe-hero__meta .rule{ height:1px; width:2.5rem; background:var(--c-border); }
.arqe-hero__title{
  font-family:"Archivo",sans-serif; font-weight:800; letter-spacing:-.02em; line-height:.95;
  font-size:clamp(3rem,8vw,4.5rem); margin:0; min-height:8.5rem;
}
.arqe-hero__desc{ margin-top:1.5rem; max-width:28rem; font-size:.95rem; line-height:1.65; color:var(--c-mutedfg); min-height:4.5rem; }
.arqe-hero__cta{ margin-top:2rem; display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.arqe-hero__textlink{ font-family:"Archivo",sans-serif; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:hsl(var(--foreground)/.7); }
.arqe-hero__textlink:hover{ color:var(--c-orange); text-decoration:underline; text-underline-offset:4px; }
.arqe-hero__list{ margin-top:3rem; border-top:1px solid var(--c-border); padding-top:1.25rem; }
.arqe-hero__list button{ display:block; text-align:left; width:100%; background:none; border:0; cursor:pointer;
  font-family:"Archivo",sans-serif; padding:.15rem 0; color:var(--c-mutedfg); transition:color .2s; }
.arqe-hero__list button.active{ font-weight:700; color:var(--c-fg); }

.arqe-hero__media{ position:relative; }
.arqe-hero__blob{ position:absolute; right:-2rem; top:-2rem; height:16rem; width:16rem; border-radius:999px; background:hsl(var(--navy)/.9); z-index:0; display:none; }
.arqe-hero__tri{ position:absolute; right:6rem; bottom:0; height:10rem; width:10rem; background:hsl(var(--orange)/.9); z-index:0; clip-path:polygon(0 0,100% 0,100% 100%); display:none; }
@media(min-width:1024px){ .arqe-hero__blob,.arqe-hero__tri{ display:block; } }
.arqe-hero__imgs{ position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.arqe-hero__imgs .main{ grid-column:span 3; margin-top:2.5rem; aspect-ratio:3/4; overflow:hidden; border-radius:var(--radius); }
.arqe-hero__imgs .side{ grid-column:span 2; display:flex; flex-direction:column; gap:1rem; }
.arqe-hero__imgs .side .top{ aspect-ratio:3/4; overflow:hidden; border-radius:var(--radius); }
.arqe-hero__imgs .side .bot{ aspect-ratio:1/1; overflow:hidden; border-radius:var(--radius); }
.arqe-hero__imgs img{ height:100%; width:100%; object-fit:cover; }
.arqe-hero__controls{ margin-top:1.5rem; display:flex; align-items:center; justify-content:space-between; }
.arqe-dots{ display:flex; align-items:center; gap:.5rem; }
.arqe-dots button{ height:.375rem; width:1rem; border:0; border-radius:999px; background:var(--c-border); cursor:pointer; transition:all .3s; }
.arqe-dots button.active{ width:2rem; background:var(--c-orange); }
.arqe-arrows{ display:flex; gap:.5rem; }
.arqe-arrows button{ height:2.25rem; width:2.25rem; display:flex; align-items:center; justify-content:center;
  border-radius:999px; border:1px solid var(--c-border); background:transparent; cursor:pointer; color:hsl(var(--foreground)/.7); transition:.2s; }
.arqe-arrows button:hover{ border-color:var(--c-orange); color:var(--c-orange); }

/* =========================================================
   CATEGORY BANDS / A MEDIDA (navy)
   ========================================================= */
.arqe-dark{ background:var(--c-navy); color:var(--c-cream); }
.arqe-band{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  border-bottom:1px solid rgba(255,255,255,.1); padding:2rem 0; }
.arqe-band:last-child{ border-bottom:0; }
.arqe-band__left{ display:flex; align-items:baseline; gap:1.25rem; }
.arqe-band__n{ font-size:.72rem; font-weight:600; color:var(--c-orange); }
.arqe-band__title{ font-family:"Archivo",sans-serif; font-weight:700; letter-spacing:-.02em;
  font-size:clamp(1.75rem,5vw,3rem); transition:transform .3s; }
.arqe-band:hover .arqe-band__title{ transform:translateX(.5rem); }
.arqe-band__sub{ font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.5); }
@media(max-width:640px){ .arqe-band__sub{ display:none; } }
.arqe-section{ padding:5rem 0; }

/* Services rows */
.arqe-srow{ display:flex; align-items:center; justify-content:space-between; gap:1rem;
  border-bottom:1px solid rgba(255,255,255,.1); padding:1.5rem 0; }
.arqe-srow:last-child{ border-bottom:0; }
.arqe-srow__title{ font-family:"Archivo",sans-serif; font-weight:700; font-size:clamp(1.35rem,3vw,1.875rem); }
@media(min-width:1024px){ .arqe-medida-grid{ grid-template-columns:1.1fr 0.9fr; } }

/* =========================================================
   PRODUCT GRID (destacados + shop)
   ========================================================= */
.arqe-prodgrid{ display:grid; grid-template-columns:1fr; gap:2.5rem 2rem; }
@media(min-width:640px){ .arqe-prodgrid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:768px){ .arqe-prodgrid{ grid-template-columns:repeat(3,1fr); } }
.arqe-card__img{ position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius); background:var(--c-secondary); }
.arqe-card__img img{ height:100%; width:100%; object-fit:cover; transition:transform .7s; }
.arqe-card:hover .arqe-card__img img{ transform:scale(1.05); }
.arqe-card__badge{ position:absolute; left:.75rem; top:.75rem; z-index:2; border-radius:999px;
  background:var(--c-orange); color:#fff; padding:.25rem .75rem; font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.arqe-card__eyebrow{ margin-top:1rem; font-size:.68rem; text-transform:uppercase; letter-spacing:.15em; color:var(--c-mutedfg); }
.arqe-card__title{ margin:.25rem 0 0; font-family:"Archivo",sans-serif; font-size:1.125rem; font-weight:700; }
.arqe-card__price{ margin-top:.25rem; font-family:"Archivo",sans-serif; font-weight:700; color:var(--c-orange); }

.arqe-sec-head{ margin-bottom:2.5rem; display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }

/* =========================================================
   ESPACIOS
   ========================================================= */
.arqe-spaces{ display:grid; gap:1.25rem; grid-template-columns:1fr; }
@media(min-width:768px){ .arqe-spaces{ grid-template-columns:repeat(3,1fr); } }
.arqe-space{ position:relative; display:block; aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius); }
.arqe-space img{ height:100%; width:100%; object-fit:cover; transition:transform .7s; }
.arqe-space:hover img{ transform:scale(1.05); }
.arqe-space__grad{ position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.1) 40%, transparent); }
.arqe-space__cap{ position:absolute; inset-inline:0; bottom:0; display:flex; align-items:flex-end; justify-content:space-between; padding:1.25rem; color:#fff; }
.arqe-space__name{ font-family:"Archivo",sans-serif; font-size:1.5rem; font-weight:700; }
.arqe-space__count{ font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.7); }

/* =========================================================
   TRUST STRIP
   ========================================================= */
.arqe-trust{ border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); }
.arqe-trust__grid{ margin:0 auto; max-width:var(--maxw); display:grid; grid-template-columns:repeat(2,1fr);
  padding:0 1.25rem; }
@media(min-width:640px){ .arqe-trust__grid{ padding:0 2rem; } }
@media(min-width:768px){ .arqe-trust__grid{ grid-template-columns:repeat(4,1fr); } }
.arqe-trust__item{ display:flex; align-items:center; gap:.75rem; padding:1.5rem 0; }
.arqe-trust__item svg{ color:var(--c-orange); flex:none; }
.arqe-trust__label{ font-size:.85rem; font-weight:700; margin:0; }
.arqe-trust__sub{ font-size:.72rem; color:var(--c-mutedfg); margin:0; }

/* =========================================================
   TRADE (olive)
   ========================================================= */
.arqe-trade{ background:var(--c-olive); color:var(--c-cream); }
.arqe-trade__grid{ margin:0 auto; max-width:var(--maxw); display:grid; gap:2.5rem; align-items:center;
  padding:5rem 1.25rem; }
@media(min-width:640px){ .arqe-trade__grid{ padding-left:2rem; padding-right:2rem; } }
@media(min-width:1024px){ .arqe-trade__grid{ grid-template-columns:1fr 1fr; } }
.arqe-trade h2{ margin-top:1.5rem; font-family:"Archivo",sans-serif; font-weight:800; line-height:1.02; letter-spacing:-.02em; font-size:clamp(2.25rem,5vw,3rem); }
.arqe-trade__list{ list-style:none; padding:0; margin:0; }
.arqe-trade__list li{ display:flex; align-items:center; gap:1rem; border-bottom:1px solid rgba(255,255,255,.15); padding-bottom:1rem; margin-bottom:1rem; }
.arqe-trade__list .n{ font-size:.72rem; font-weight:600; color:rgba(255,255,255,.6); }
.arqe-trade__list .t{ font-size:1.125rem; }

/* =========================================================
   NEWSLETTER
   ========================================================= */
.arqe-news{ background:var(--c-secondary); }
.arqe-news__inner{ margin:0 auto; max-width:42rem; padding:5rem 1.25rem; text-align:center; }
.arqe-news h2{ margin-top:1.25rem; font-family:"Archivo",sans-serif; font-weight:800; line-height:1.15; letter-spacing:-.02em; font-size:clamp(1.75rem,4vw,2.25rem); }
.arqe-news form{ margin:2rem auto 0; max-width:28rem; display:flex; align-items:center; gap:.5rem;
  border:1px solid var(--c-border); background:var(--c-card); border-radius:999px; padding:.35rem .35rem .35rem 1.25rem; }
.arqe-news input{ width:100%; background:transparent; border:0; outline:0; font-size:.9rem; }
.arqe-news button{ height:2.5rem; width:2.5rem; flex:none; display:flex; align-items:center; justify-content:center;
  border-radius:999px; background:var(--c-navy); color:#fff; border:0; cursor:pointer; }

/* =========================================================
   FOOTER
   ========================================================= */
.arqe-footer{ background:var(--c-navy); color:var(--c-cream); }
.arqe-footer__inner{ margin:0 auto; max-width:var(--maxw); padding:4rem 1.25rem; }
@media(min-width:640px){ .arqe-footer__inner{ padding-left:2rem; padding-right:2rem; } }
.arqe-footer__cols{ display:grid; grid-template-columns:repeat(2,1fr); gap:2.5rem; }
@media(min-width:768px){ .arqe-footer__cols{ grid-template-columns:repeat(4,1fr); } }
@media(min-width:1024px){ .arqe-footer__cols{ grid-template-columns:repeat(6,1fr); } }
.arqe-footer h4{ margin:0 0 1rem; font-size:.69rem; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:var(--c-orange); }
.arqe-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.65rem; }
.arqe-footer ul a{ font-size:.85rem; color:rgba(255,255,255,.6); transition:color .2s; }
.arqe-footer ul a:hover{ color:#fff; }
.arqe-footer__brand{ grid-column:span 2; }
.arqe-footer__brand .b{ font-family:"Archivo",sans-serif; font-size:1.875rem; font-weight:800; letter-spacing:-.02em; }
.arqe-footer__brand .b span{ color:var(--c-orange); }
.arqe-footer__brand p{ margin-top:.75rem; max-width:20rem; font-size:.85rem; color:rgba(255,255,255,.55); }
.arqe-footer__bottom{ margin-top:3.5rem; border-top:1px solid rgba(255,255,255,.1); padding-top:1.5rem;
  display:flex; flex-direction:column; gap:1rem; font-size:.75rem; color:rgba(255,255,255,.45); }
@media(min-width:640px){ .arqe-footer__bottom{ flex-direction:row; align-items:center; justify-content:space-between; } }
.arqe-footer__bottom .links{ display:flex; gap:1.25rem; }

/* =========================================================
   COTIZACIÓN (formulario)
   ========================================================= */
.arqe-quote-hero{ background:var(--c-navy); color:var(--c-cream); }
.arqe-quote-hero__inner{ margin:0 auto; max-width:56rem; padding:4rem 1.25rem; }
.arqe-quote-hero h1{ margin-top:1.25rem; font-family:"Archivo",sans-serif; font-weight:800; line-height:1.03; letter-spacing:-.02em; font-size:clamp(2.25rem,5vw,3rem); }
.arqe-quote-hero p{ margin-top:1.25rem; max-width:32rem; font-size:.9rem; line-height:1.65; color:rgba(255,255,255,.7); }
.arqe-quote-form-wrap{ margin:0 auto; max-width:56rem; padding:3.5rem 1.25rem; }
.arqe-form{ display:grid; gap:1.25rem; }
.arqe-form__row{ display:grid; gap:1.25rem; }
@media(min-width:640px){ .arqe-form__row{ grid-template-columns:repeat(2,1fr); } }
.arqe-form label.lbl{ display:block; margin-bottom:.5rem; font-size:.69rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--c-mutedfg); }
.arqe-input, .arqe-textarea{
  width:100%; border:1px solid var(--c-border); background:var(--c-card); border-radius:var(--radius);
  padding:.75rem 1rem; font-size:.9rem; outline:0; transition:border-color .2s; font-family:inherit;
}
.arqe-input:focus, .arqe-textarea:focus{ border-color:var(--c-orange); }
.arqe-textarea{ resize:vertical; }

/* =========================================================
   WOOCOMMERCE — que herede el look de Arqe
   ========================================================= */
.woocommerce-page .site-content, .woocommerce .site-content{ padding-top:2.5rem; }
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price{ color:var(--c-orange); font-family:"Archivo",sans-serif; font-weight:700; }
.woocommerce span.onsale{ background:var(--c-orange); color:#fff; }
.woocommerce #respond input#submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt{
  background:var(--c-navy); color:#fff; border-radius:999px; font-family:"Archivo",sans-serif;
  text-transform:uppercase; letter-spacing:.1em; font-weight:700; font-size:.72rem;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover{ background:var(--c-orange); }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info{ border-top-color:var(--c-orange); }
.woocommerce-store-notice, p.demo_store{ background:var(--c-navy); }
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:"Archivo",sans-serif; font-weight:700; }
