/*
Theme Name: Shopymark WooCommerce
Theme URI: https://shopymark.site/
Author: Shopymark
Description: Tema clásico WordPress + WooCommerce basado en la plantilla Shopymark original.
Version: 2.0.3
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: shopymark
*/

:root{
  --ink:#15181c;
  --ink-soft:#4a5158;
  --stone:#ece7dd;
  --stone-dark:#ddd6c7;
  --paper:#fbf9f4;
  --brass:#b8863b;
  --brass-dark:#94682a;
  --teal:#1f5d59;
  --coral:#e2502a;
  --line:rgba(21,24,28,.14);
  --line-soft:rgba(21,24,28,.08);
  --font-display:'Space Grotesk',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --radius-sm:4px;
  --radius-md:10px;
  --radius-lg:20px;
  --shadow-card:0 1px 0 rgba(21,24,28,.05);
  --shadow-lift:0 14px 30px -18px rgba(21,24,28,.35);
  --maxw:1200px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--stone);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
body.admin-bar .site-header{top:32px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin:0;line-height:1.12;letter-spacing:-.01em}
p{margin:0}
:focus-visible{outline:2px solid var(--brass-dark);outline-offset:3px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 24px;border-radius:var(--radius-sm);
  font-weight:600;font-size:.95rem;border:1.5px solid transparent;
  transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--coral);transform:translateY(-1px)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-block{width:100%}
.icon-btn{
  background:none;border:0;color:var(--ink);width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative
}
.icon-btn:hover{background:var(--stone-dark)}
.icon-btn svg{width:20px;height:20px}

.site-header{position:sticky;top:0;z-index:40;background:var(--stone);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:20px;min-height:76px}
.logo{font-family:var(--font-display);font-weight:700;font-size:1.35rem;color:var(--ink);display:inline-flex;align-items:center}
.logo img{max-height:45px;width:auto}
.logo .custom-logo-link{display:flex;align-items:center}
.main-nav{display:flex;gap:28px;margin-left:12px;flex:1;align-items:center}
.main-nav ul{display:flex;gap:28px;align-items:center;list-style:none;margin:0;padding:0}
.main-nav li{margin:0;padding:0}
.main-nav a{
  font-weight:500;font-size:.95rem;color:var(--ink-soft);position:relative;padding:4px 0
}
.main-nav a:hover{color:var(--ink)}
.main-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .18s ease
}
.main-nav a:hover::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:4px}
.cart-btn{position:relative}
.cart-count{
  position:absolute;top:2px;right:2px;background:var(--coral);color:#fff;
  font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0 3px
}
.menu-btn{
  display:none;background:none;border:0;width:36px;height:32px;
  flex-direction:column;justify-content:space-between;padding:4px 0
}
.menu-btn span{display:block;height:2px;background:var(--ink);border-radius:2px}
.search-bar{display:none;border-bottom:1px solid var(--line);background:var(--paper)}
.search-bar.open{display:block}
.search-bar .wrap{display:flex;align-items:center;gap:12px;padding:12px 24px}
.search-bar input{flex:1;border:0;background:none;font:inherit;font-size:1rem;color:var(--ink)}
.search-bar input:focus{outline:none}
.search-bar button{background:none;border:0;font-size:1rem;color:var(--ink-soft)}

.hero{padding:64px 0 40px}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero-kicker{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--brass-dark);margin-bottom:14px}
.hero-copy h1{font-size:clamp(2.1rem,4vw,3.1rem);max-width:12ch;margin-bottom:20px}
.hero-sub{color:var(--ink-soft);font-size:1.05rem;max-width:46ch;margin-bottom:30px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px}
.hero-stats{display:flex;gap:36px;margin:0}
.hero-stats dt{font-family:var(--font-display);font-weight:700;font-size:1.5rem}
.hero-stats dd{margin:0;font-size:.85rem;color:var(--ink-soft)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hero-tile{
  border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--paper);
  padding:28px 18px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;
  text-align:left;min-height:148px;transition:transform .18s ease,border-color .18s ease
}
.hero-tile:hover{transform:translateY(-4px);border-color:var(--brass)}
.tile-icon{font-size:1.8rem}.tile-label{font-family:var(--font-display);font-weight:600}

.values{padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.value-num{font-family:var(--font-display);font-weight:700;color:var(--brass);font-size:.9rem;display:block;margin-bottom:10px}
.value-item h3{font-size:1.1rem;margin-bottom:6px}.value-item p{color:var(--ink-soft);font-size:.92rem}

.category-strip{padding:50px 0 0}
.category-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.category-card{
  padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);
  transition:transform .18s ease,border-color .18s ease
}
.category-card:hover{transform:translateY(-3px);border-color:var(--brass)}
.category-card strong{font-family:var(--font-display);font-size:1.05rem}
.category-card small{display:block;color:var(--ink-soft);margin-top:5px}
.home-products{padding:50px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}
.section-head h2{font-size:1.9rem}.section-head p{color:var(--ink-soft)}

.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.product-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);
  overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;
  transition:box-shadow .18s ease,transform .18s ease
}
.product-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}
.product-media{
  aspect-ratio:1/1;display:block;position:relative;background:#f1eee7;overflow:hidden
}
.product-media img{width:100%;height:100%;object-fit:cover}
.product-tag{
  position:absolute;top:10px;left:10px;z-index:2;font-size:.68rem;font-weight:600;
  background:rgba(251,249,244,.92);color:var(--ink-soft);padding:4px 9px;
  border-radius:999px;border:1px solid var(--line)
}
.product-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.product-name{font-weight:600;font-size:1rem}
.product-desc{font-size:.85rem;color:var(--ink-soft);flex:1}
.product-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.product-price{font-family:var(--font-display);font-weight:700;font-size:1.1rem}
.product-price .amount{font-size:inherit}
.add-btn{
  background:var(--ink);color:var(--paper);border:0;width:38px;height:38px;
  border-radius:50%;font-size:1.2rem;line-height:1;display:inline-flex;
  align-items:center;justify-content:center
}
.add-btn:hover{background:var(--coral);transform:scale(1.06)}
.empty-shop{padding:45px 0;text-align:center;color:var(--ink-soft)}

.newsletter{background:var(--ink);color:var(--paper);padding:56px 0}
.newsletter-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.newsletter h2{font-size:1.5rem;margin-bottom:6px}.newsletter p{color:rgba(251,249,244,.7)}
.newsletter-form{display:flex;gap:10px;flex-wrap:wrap}
.newsletter-form input{
  padding:12px 16px;border-radius:var(--radius-sm);border:1.5px solid rgba(251,249,244,.25);
  background:transparent;color:var(--paper);min-width:240px
}
.newsletter-form input:focus{outline:none;border-color:var(--brass)}
.newsletter .btn-primary{background:var(--brass);color:var(--ink)}
.newsletter .btn-primary:hover{background:var(--coral);color:#fff}

.site-footer{background:var(--paper);border-top:1px solid var(--line);padding:56px 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px}
.footer-brand p{color:var(--ink-soft);font-size:.9rem;margin-top:10px;max-width:32ch}
.footer-col h4{font-size:.85rem;margin-bottom:14px;color:var(--ink-soft);font-weight:600}
.footer-col a,.footer-col p{display:block;font-size:.9rem;margin-bottom:10px}
.footer-col a:hover{color:var(--brass-dark)}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-bottom{border-top:1px solid var(--line);padding:18px 0}
.footer-bottom p{font-size:.8rem;color:var(--ink-soft)}
.socials{display:flex;gap:10px;margin-top:6px}
.socials a{
  width:32px;height:32px;border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700
}
.socials a:hover{background:var(--ink);color:var(--paper)}

.shop-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px;padding:30px 0 70px}
.shop-title{padding-top:45px}.shop-title h1{font-size:2.3rem;margin-bottom:6px}.shop-title p{color:var(--ink-soft)}
.shop-sidebar{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:20px;height:max-content;position:sticky;top:98px
}
.filter-group{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line-soft)}
.filter-group:last-child{border-bottom:0;margin-bottom:0}
.filter-group h3{font-size:.95rem;margin-bottom:12px}
.filter-link{display:block;padding:6px 0;color:var(--ink-soft);font-size:.9rem}
.filter-link:hover,.filter-link.active{color:var(--ink);font-weight:600}
.price-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.price-fields input{width:100%;border:1px solid var(--line);background:#fff;padding:9px;border-radius:var(--radius-sm)}
.filter-submit{margin-top:10px;width:100%;border:0;background:var(--ink);color:var(--paper);padding:10px;border-radius:var(--radius-sm);font-weight:600}
.shop-toolbar{
  display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;
  padding-bottom:16px;border-bottom:1px solid var(--line)
}
".shop-count{color:var(--ink-soft);font-size:.9rem}
.shop-sort-form{margin:0}
.shop-sort-control{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 7px 6px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(251,249,244,.9);
  box-shadow:0 6px 18px rgba(21,24,28,.06);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.shop-sort-control:hover{
  border-color:rgba(184,134,59,.55);
  box-shadow:0 10px 24px rgba(21,24,28,.08);
}
.shop-sort-label{
  display:inline-flex;
  align-items:center;
  color:var(--ink-soft);
  font-size:.82rem;
  font-weight:600;
  white-space:nowrap;
}
.shop-sort-select-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.sort-select{
  appearance:none;
  -webkit-appearance:none;
  min-width:206px;
  border:0;
  border-radius:10px;
  background:var(--stone);
  color:var(--ink);
  padding:10px 38px 10px 13px;
  font-size:.9rem;
  font-weight:600;
  cursor:pointer;
  outline:none;
}
.shop-sort-select-wrap::after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:7px;
  height:7px;
  border-right:1.8px solid var(--ink-soft);
  border-bottom:1.8px solid var(--ink-soft);
  transform:translateY(-65%) rotate(45deg);
  pointer-events:none;
}
.sort-select:focus{
  box-shadow:0 0 0 2px rgba(184,134,59,.22);
}
.sort-select{border:1px solid var(--line);background:var(--paper);padding:9px 12px;border-radius:var(--radius-sm);color:var(--ink)}
.woocommerce .woocommerce-breadcrumb{max-width:var(--maxw);margin:25px auto;color:var(--ink-soft);font-size:.85rem;padding:0 24px}
.woocommerce span.onsale{background:var(--coral);min-height:auto;min-width:auto;line-height:1;padding:7px 10px;border-radius:999px;font-weight:700}
.woocommerce ul.products{
  display:grid!important;grid-template-columns:repeat(4,1fr);gap:22px;margin:0!important;padding:0!important
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{
  width:auto!important;margin:0!important;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius-md);overflow:hidden;padding:0 0 18px!important;
  display:flex;flex-direction:column;box-shadow:var(--shadow-card)
}
.woocommerce ul.products li.product a img{margin:0!important;width:100%;aspect-ratio:1/1;object-fit:cover}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display);font-size:1rem;padding:16px 16px 4px;margin:0}
.woocommerce ul.products li.product .price{padding:0 16px;color:var(--ink)!important;font-family:var(--font-display);font-weight:700;font-size:1.05rem}
.woocommerce ul.products li.product .star-rating{margin:7px 16px 0!important}
.woocommerce ul.products li.product .button{margin:12px 16px 0!important;background:var(--ink);color:var(--paper);border-radius:var(--radius-sm);text-align:center;padding:11px 12px}
.woocommerce ul.products li.product .button:hover{background:var(--coral)}
.woocommerce .quantity .qty{padding:10px;border:1px solid var(--line);background:var(--paper)}
.woocommerce div.product{max-width:var(--maxw);margin:0 auto;padding:45px 24px 70px}
.woocommerce div.product div.images{width:52%}
.woocommerce div.product div.summary{width:44%}
.woocommerce div.product .product_title{font-size:clamp(2rem,4vw,2.7rem)}
.woocommerce div.product p.price{color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:1.5rem}
.woocommerce div.product form.cart .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--ink);color:var(--paper);border-radius:var(--radius-sm);padding:12px 20px;font-weight:600
}
.woocommerce div.product form.cart .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{
  background:var(--coral);color:#fff
}
.woocommerce .woocommerce-tabs{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}
.woocommerce .woocommerce-tabs ul.tabs{padding:0;margin:0 0 20px}
.woocommerce .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--line)}
.woocommerce .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0}
.woocommerce .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--brass);background:transparent}
.woocommerce-cart,.woocommerce-checkout{background:var(--stone)}
.woocommerce-cart .site-main,.woocommerce-checkout .site-main{max-width:var(--maxw);margin:0 auto;padding:50px 24px 70px}
.woocommerce-cart table.shop_table{
  border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden
}
.woocommerce-cart table.shop_table th,.woocommerce-cart table.shop_table td{border-color:var(--line-soft);padding:15px}
.woocommerce-cart .cart_totals{background:var(--paper);padding:22px;border:1px solid var(--line);border-radius:var(--radius-md)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-sm);padding:11px 12px
}
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px
}
.woocommerce-checkout #order_review{margin-top:24px}
.woocommerce-checkout h3{margin-bottom:18px;font-size:1.3rem}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--brass);background:var(--paper);border-radius:var(--radius-sm)}
.woocommerce .product_meta{color:var(--ink-soft)}
.woocommerce-pagination{margin-top:32px}
.woocommerce-pagination ul.page-numbers{border:0;display:flex;gap:7px}
.woocommerce-pagination ul.page-numbers li{border:0!important}
.woocommerce-pagination .page-numbers{
  border:1px solid var(--line)!important;background:var(--paper);border-radius:var(--radius-sm);padding:8px 12px
}
.woocommerce-pagination .page-numbers.current{background:var(--ink);color:var(--paper)}

@media(max-width:1024px){
  .product-grid,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}
  .hero-inner{grid-template-columns:1fr}
  .hero-grid{max-width:480px}
  .shop-layout{grid-template-columns:210px minmax(0,1fr)}
}
@media(max-width:800px){
  body.admin-bar .site-header{top:46px}
  .main-nav{display:none}
  .menu-btn{display:flex}
  .site-header.nav-open .main-nav{
    display:flex;flex-direction:column;gap:0;position:absolute;top:76px;left:0;right:0;
    background:var(--paper);border-bottom:1px solid var(--line);padding:8px 24px 18px
  }
  .site-header.nav-open .main-nav ul{display:flex;flex-direction:column;gap:0;align-items:stretch}
  .site-header.nav-open .main-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line-soft)}
  .values-grid{grid-template-columns:1fr;gap:24px}
  .product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;gap:16px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .newsletter-inner{flex-direction:column;align-items:flex-start}
  .shop-layout{grid-template-columns:1fr}
  .shop-sidebar{position:static}
  .woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%;float:none}
  .category-strip-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .wrap{padding:0 16px}
  .hero{padding:40px 0 28px}
  .hero-grid{grid-template-columns:1fr 1fr}
  .hero-stats{gap:22px}
  .product-grid,.woocommerce ul.products{grid-template-columns:1fr 1fr!important;gap:12px}
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .shop-toolbar{align-items:flex-start;flex-direction:column}
  .shop-sort-control{width:100%;justify-content:space-between}
  .shop-sort-select-wrap{flex:1}
  .sort-select{width:100%;min-width:0}
  .category-strip-grid{grid-template-columns:1fr}
  .woocommerce-cart .site-main,.woocommerce-checkout .site-main{padding-left:16px;padding-right:16px}
}
