:root{
  --ss-bg:#FFFFFF;
  --ss-bg-soft:#F7F5F3;
  --ss-panel:#F1ECE7;
  --ss-rose:#E88C86;
  --ss-rose-dark:#D9695F;
  --ss-ink:#171412;
  --ss-ink-soft:#6B6560;
  --ss-line:#EAE5E0;
  --ss-white:#FFFFFF;
  --ss-gold:#C79A56;
}

*{ box-sizing:border-box; }
body.page main{ margin-top:0 !important; padding-top:0 !important; }
body.page .wp-site-blocks{ gap:0 !important; padding-top:0 !important; }
body.page .entry-content, body.page .wp-block-post-content{ padding-top:0 !important; }
body.page .ss-hero, body.page .ss-shop-header{ margin-top:0 !important; }
body.page header + main > *:first-child,
body.page .ss-hero:first-child,
body.page .ss-shop-header:first-child{ margin-top:0 !important; }
.entry-content{ max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important; }
.is-layout-constrained.entry-content > *{ max-width:none !important; width:100% !important; margin-left:0 !important; margin-right:0 !important; }
body{ background:var(--ss-bg); color:var(--ss-ink); font-family:'Inter',sans-serif; }
body.page .wp-block-post-title{ display:none; }
.woocommerce-breadcrumb{ display:none !important; }
h1,h2,h3,.ss-display{ font-family:'Poppins',sans-serif; font-weight:700; color:var(--ss-ink); letter-spacing:-0.02em; }

/* ---- Nav ---- */
.wp-block-navigation{ font-family:'Inter',sans-serif; font-weight:600; font-size:14px; }
.wp-block-navigation a{ color:var(--ss-ink) !important; }
header{ background:var(--ss-white) !important; border-bottom:1px solid var(--ss-line); }
.wp-block-site-title a{ font-family:'Poppins',sans-serif; font-weight:800 !important; }

/* ---- Buttons ---- */
.ss-btn{ display:inline-flex; align-items:center; gap:8px; padding:16px 36px; border-radius:100px; font-family:'Inter',sans-serif; font-weight:600; font-size:15px; text-decoration:none; transition:all .2s ease; border:2px solid var(--ss-ink); }
.ss-btn-primary{ background:var(--ss-ink); color:var(--ss-white) !important; }
.ss-btn-primary:hover{ background:var(--ss-rose-dark); border-color:var(--ss-rose-dark); color:var(--ss-white) !important; transform:translateY(-1px); }
.ss-btn-outline{ background:transparent; color:var(--ss-ink) !important; }
.ss-btn-outline:hover{ background:var(--ss-ink); color:var(--ss-white) !important; }

/* ---- Hero (split, image right) ---- */
.ss-hero{ background:var(--ss-bg-soft); padding:0; overflow:hidden; }
.ss-hero-grid{ max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; min-height:560px; }
.ss-hero-copy{ padding:40px 24px 40px 48px; }
.ss-hero .ss-eyebrow{ font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ss-rose-dark); margin-bottom:18px; display:inline-block; background:#FCE7E5; padding:6px 14px; border-radius:100px; }
.ss-hero h1{ font-size:52px; line-height:1.08; margin:0 0 20px; }
.ss-hero p{ font-size:18px; color:var(--ss-ink-soft); max-width:480px; margin:0 0 32px; line-height:1.6; }
.ss-hero-visual{ position:relative; height:100%; min-height:480px; display:flex; align-items:center; justify-content:center; padding:40px; }
.ss-hero-visual::before{ content:''; position:absolute; inset:40px; background:radial-gradient(circle at 60% 40%, #FBD8D4 0%, var(--ss-bg-soft) 70%); border-radius:32px; z-index:0; }
.ss-hero-visual img{ position:relative; z-index:1; max-width:80%; max-height:520px; width:auto; object-fit:contain; filter:drop-shadow(0 30px 40px rgba(23,20,18,.18)); }
.ss-hero-badge{ position:relative; z-index:1; text-align:center; }
.ss-hero-badge .ss-hero-badge-word{ font-family:'Poppins',sans-serif; font-weight:800; font-size:64px; color:var(--ss-white); text-shadow:0 20px 40px rgba(217,105,95,.35); letter-spacing:-0.03em; }
.ss-hero-badge .ss-hero-badge-sub{ font-size:15px; font-weight:600; color:var(--ss-rose-dark); letter-spacing:.15em; text-transform:uppercase; margin-top:8px; }
.ss-hero-orb{ position:absolute; z-index:1; border-radius:63% 37% 54% 46% / 48% 42% 58% 52%; background:var(--ss-white); box-shadow:0 20px 50px rgba(23,20,18,.1); display:flex; align-items:center; justify-content:center; font-size:34px; animation:ss-float 6s ease-in-out infinite; }
.ss-hero-orb-1{ width:120px; height:120px; top:18%; left:8%; }
.ss-hero-orb-2{ width:84px; height:84px; bottom:14%; right:10%; animation-delay:-3s; }
@keyframes ss-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
@media(max-width:900px){ .ss-hero-badge .ss-hero-badge-word{ font-size:44px; } .ss-hero-orb-1{ width:80px; height:80px; } .ss-hero-orb-2{ width:60px; height:60px; } }
@media(max-width:900px){ .ss-hero-grid{ grid-template-columns:1fr; min-height:0; } .ss-hero-copy{ padding:56px 24px 24px; text-align:center; } .ss-hero p{ margin-left:auto; margin-right:auto; } .ss-hero h1{ font-size:36px; } .ss-hero-visual{ padding:0 24px 40px; } }

/* ---- Category strip ---- */
.ss-cat-strip{ padding:56px 24px; max-width:1180px; margin:0 auto; }
.ss-cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:800px){ .ss-cat-grid{ grid-template-columns:1fr; } }
.ss-cat-tile{ display:flex; align-items:center; gap:16px; background:var(--ss-panel); padding:22px 26px; border-radius:18px; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; box-shadow:0 1px 2px rgba(23,20,18,.04); }
.ss-cat-tile:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(23,20,18,.09); }
.ss-cat-tile .ss-cat-icon{ font-size:24px; width:52px; height:52px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:var(--ss-white); border-radius:14px; }
.ss-cat-tile .ss-cat-name{ font-family:'Poppins',sans-serif; font-weight:700; color:var(--ss-ink); font-size:16px; }
.ss-cat-tile .ss-cat-sub{ font-size:13px; color:var(--ss-ink-soft); }

/* ---- Sections ---- */
.ss-section{ padding:72px 24px; max-width:1180px; margin:0 auto; }
.ss-center{ text-align:center; }
.ss-eyebrow{ font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ss-rose-dark); }
.ss-section h2{ font-size:34px; margin:8px 0 16px; }
.ss-section .ss-lead{ color:var(--ss-ink-soft); font-size:16px; max-width:580px; margin:0 auto 44px; line-height:1.6; }
.ss-heading-block{ text-align:center; margin-bottom:44px; }

/* ---- Value grid ---- */
.ss-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:800px){ .ss-grid-3{ grid-template-columns:1fr; } }
.ss-card{ background:var(--ss-white); border:1px solid var(--ss-line); padding:36px 26px; border-radius:18px; text-align:center; box-shadow:0 1px 3px rgba(23,20,18,.04); transition:transform .2s ease, box-shadow .2s ease; }
.ss-card:hover{ transform:translateY(-3px); box-shadow:0 14px 26px rgba(23,20,18,.08); }
.ss-card .ss-icon{ font-size:30px; margin-bottom:14px; }
.ss-card h3{ font-size:18px; margin:0 0 8px; }
.ss-card p{ color:var(--ss-ink-soft); font-size:14px; line-height:1.6; margin:0; }

/* ---- Trust bar ---- */
.ss-trust{ background:var(--ss-ink); color:var(--ss-white); padding:18px 24px; }
.ss-trust-row{ max-width:1180px; margin:0 auto; display:flex; justify-content:center; gap:48px; flex-wrap:wrap; font-size:13px; font-weight:600; text-align:center; }
.ss-trust-row span{ opacity:.92; display:flex; align-items:center; gap:8px; }

/* ---- CTA band ---- */
.ss-cta-band{ background:linear-gradient(135deg,var(--ss-rose) 0%,var(--ss-rose-dark) 100%); padding:64px 24px; text-align:center; border-radius:24px; max-width:1180px; margin:0 auto 72px; }
.ss-cta-band h2{ color:var(--ss-white); font-size:32px; margin:0 0 12px; }
.ss-cta-band p{ color:var(--ss-white); opacity:.95; margin:0 0 28px; font-size:16px; }
.ss-cta-band .ss-btn{ border-color:var(--ss-white); }
.ss-cta-band .ss-btn-primary{ background:var(--ss-white); color:var(--ss-ink) !important; border-color:var(--ss-white); }
.ss-cta-band .ss-btn-primary:hover{ background:var(--ss-ink); color:var(--ss-white) !important; }

/* ---- Products page ---- */
.ss-shop-header{ background:var(--ss-bg-soft); padding:56px 24px 40px; text-align:center; }
.ss-shop-header h1{ font-size:38px; margin:8px 0 12px; }
.ss-shop-header p{ color:var(--ss-ink-soft); max-width:560px; margin:0 auto; }

/* WooCommerce results count + ordering */
.woocommerce-result-count{ font-size:13px; font-weight:600; color:var(--ss-ink-soft); margin:0 0 28px; letter-spacing:.02em; }
.woocommerce-ordering{ margin:0 0 28px; }
.woocommerce-ordering select{ appearance:none; -webkit-appearance:none; background:var(--ss-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236B6560' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 16px center; border:1px solid var(--ss-line); border-radius:100px; padding:10px 40px 10px 18px; font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:var(--ss-ink); cursor:pointer; }
.woocommerce-ordering select:focus{ outline:none; border-color:var(--ss-rose); }

/* WooCommerce product card — bordered, badge-ready, hover lift */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:24px !important; }
@media(max-width:900px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
.woocommerce ul.products li.product{ width:100% !important; margin:0 !important; background:var(--ss-white); border:1px solid var(--ss-line); border-radius:18px; padding:16px 16px 20px; transition:transform .2s ease, box-shadow .2s ease; position:relative; float:none !important; box-shadow:0 1px 3px rgba(23,20,18,.04); overflow:hidden; display:flex !important; flex-direction:column; height:100%; }
.woocommerce ul.products li.product:hover{ transform:translateY(-4px); box-shadow:0 16px 28px rgba(23,20,18,.1); }
.woocommerce ul.products li.product > a:first-of-type{ display:flex; flex-direction:column; flex:1; text-decoration:none; }
.woocommerce ul.products li.product a img{ border-radius:12px !important; background:var(--ss-bg-soft); aspect-ratio:1/1; object-fit:cover; }
.woocommerce ul.products li.product::before{ content:'Nuevo'; position:absolute; top:14px; left:14px; z-index:2; background:var(--ss-rose); color:var(--ss-white); font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:5px 12px; border-radius:100px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; line-height:1.35; color:var(--ss-ink); margin:14px 0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; }
.woocommerce ul.products li.product .price{ color:var(--ss-ink); font-weight:700; font-size:16px; margin-top:auto; padding-top:2px; }
.woocommerce ul.products li.product .price ins{ color:var(--ss-rose-dark); text-decoration:none; }
.woocommerce ul.products li.product .price del{ color:var(--ss-ink-soft); opacity:.7; margin-right:6px; }
.woocommerce ul.products li.product .star-rating{ font-size:13px; margin-bottom:6px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit{ background:var(--ss-ink) !important; color:var(--ss-white) !important; border-radius:100px !important; font-weight:600; font-size:13px !important; padding:10px 20px !important; margin-top:14px; width:100%; text-align:center; }
.woocommerce a.button:hover, .woocommerce button.button:hover{ background:var(--ss-rose-dark) !important; }
.ss-empty-shop{ text-align:center; padding:60px 24px; color:var(--ss-ink-soft); font-size:16px; max-width:520px; margin:0 auto; line-height:1.7; }

/* ---- Featured products (shortcode wrapper) ---- */
.ss-featured{ background:var(--ss-white); padding:72px 24px; }
.ss-featured-inner{ max-width:1180px; margin:0 auto; }

/* ---- Testimonials ---- */
.ss-testimonials{ background:var(--ss-bg-soft); padding:72px 24px; }
.ss-t-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1180px; margin:0 auto; }
@media(max-width:800px){ .ss-t-grid{ grid-template-columns:1fr; } }
.ss-t-card{ background:var(--ss-white); padding:30px 26px; border-radius:18px; border:1px solid var(--ss-line); box-shadow:0 1px 3px rgba(23,20,18,.04); }
.ss-t-stars{ color:var(--ss-gold); font-size:15px; letter-spacing:2px; margin-bottom:14px; }
.ss-t-quote{ font-size:15px; line-height:1.7; color:var(--ss-ink-soft); margin:0 0 18px; }
.ss-t-name{ font-family:'Poppins',sans-serif; font-size:15px; font-weight:700; color:var(--ss-ink); }
.ss-t-role{ font-size:12px; color:var(--ss-ink-soft); }

/* ---- FAQ ---- */
.ss-faq{ padding:72px 24px; max-width:820px; margin:0 auto; }
.ss-faq-item{ border-bottom:1px solid var(--ss-line); padding:20px 0; }
.ss-faq-item summary{ cursor:pointer; font-family:'Poppins',sans-serif; font-size:17px; font-weight:600; color:var(--ss-ink); list-style:none; display:flex; justify-content:space-between; align-items:center; }
.ss-faq-item summary::-webkit-details-marker{ display:none; }
.ss-faq-item summary::after{ content:'+'; font-size:22px; color:var(--ss-rose-dark); margin-left:16px; }
.ss-faq-item[open] summary::after{ content:'–'; }
.ss-faq-item p{ margin:12px 0 0; color:var(--ss-ink-soft); font-size:14px; line-height:1.7; }

/* ---- Badges row ---- */
.ss-badges{ display:flex; justify-content:center; gap:40px; flex-wrap:wrap; padding:36px 24px; max-width:1000px; margin:0 auto; }
.ss-badge{ text-align:center; font-size:13px; font-weight:600; color:var(--ss-ink-soft); }
.ss-badge .ss-badge-icon{ font-size:24px; display:block; margin-bottom:8px; }

/* ---- Contact page ---- */
.ss-contact-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:48px; max-width:1040px; margin:0 auto; padding:64px 24px 80px; }
@media(max-width:800px){ .ss-contact-wrap{ grid-template-columns:1fr; } }
.ss-contact-info h2{ font-size:28px; margin:8px 0 16px; }
.ss-contact-info p{ color:var(--ss-ink-soft); line-height:1.7; margin-bottom:24px; font-size:15px; }
.ss-contact-detail{ margin-bottom:16px; font-size:15px; }
.ss-contact-detail strong{ display:block; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ss-rose-dark); margin-bottom:4px; }
.ss-contact-form{ background:var(--ss-white); border:1px solid var(--ss-line); padding:32px 28px; border-radius:20px; }
.ss-contact-form h3{ margin:0 0 20px; font-size:20px; }
.ss-faq-mini{ margin-top:32px; }
.ss-faq-mini .ss-faq-item summary{ font-size:15px; }
.wpcf7-form p{ margin-bottom:16px; }
.wpcf7-form input[type=text], .wpcf7-form input[type=email], .wpcf7-form input[type=tel], .wpcf7-form textarea{ width:100%; padding:13px 16px; border:1px solid var(--ss-line); background:var(--ss-bg-soft); font-family:'Inter',sans-serif; font-size:14px; border-radius:10px; box-sizing:border-box; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus{ outline:none; border-color:var(--ss-rose); background:var(--ss-white); }
.wpcf7-form input[type=submit]{ background:var(--ss-ink); color:var(--ss-white); border:none; padding:14px 36px; font-weight:600; font-size:14px; border-radius:100px; cursor:pointer; }
.wpcf7-form input[type=submit]:hover{ background:var(--ss-rose-dark); }
