/*
Theme Name: 	ShaveGo
Theme URI: 	http://html5blank.com
Description: 	Tema ShaveGo - grooming tech, negro y azul electrico
Version: 	1.2.6
Author: 	Todd Motto (@toddmotto)
Author URI: 	http://www.toddmotto.com
Tags: 		Blank, HTML5, CSS3

License:	MIT
License URI:	http://opensource.org/licenses/mit-license.php
*/

/* =============================================================================
   HTML5 Reset
   ========================================================================== */

	article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {display:block;}
	audio, canvas, video {display:inline-block;*display:inline;*zoom:1;}
	audio:not([controls]) {display:none;}
	[hidden] {display:none;}
	
	html {font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
	html, button, input, select, textarea {font-family:sans-serif;color:#222;}
	body {margin:0;font-size:1em;line-height:1;}
	p {padding:7px 0 0 0;}
	
	h1,h2,h3,h4,h5,h6 {text-decoration:none;padding:0;color:#444;margin:0;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:700;}
	
	a {color:#266E9E;text-decoration:none;}
	a:focus {outline:0;}
	a:hover, a:active {outline:0;}
	
	abbr[title] {border-bottom:1px dotted;}
	b, strong {font-weight:bold;}
	.clear {clear:both;}
	dfn {font-style:italic;}
	hr {display:block;height:1px;border:0;border-top:1px solid #CCC;margin:1em 0;padding:0;}
	ins {background:#FF9;color:#000;text-decoration:none;}
	mark {background:#FF0;color:#000;font-style:italic;font-weight:bold;}
	pre, code, kbd, samp {font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em;}
	pre {white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
	q {quotes:none;}
	q:before, q:after {content:"";content:none;}
	small {font-size:90%;}
	blockquote {background-color:#EEE;border:1px solid #DDD;margin:10px 0;padding:10px 30px;border-radius:3px;}
	
	sub, sup {font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
	sup {top:-0.5em;}
	sub {bottom:-0.25em;}
	
	ul {margin:0;padding:0;list-style:none;}
	ol {margin:15px;}
	
	dd {margin:0 0 0 40px;}
	nav ul, nav ol {list-style:none;list-style-image:none;margin:0;padding:0;}
	
	img {border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;}
	
	svg:not(:root) {overflow:hidden;}
	
	figure {margin:0;}
	
	form {margin:0;}
	fieldset {border:0;margin:0;padding:0;}
	label {cursor:pointer;}
	legend {border:0;*margin-left:-7px;padding:0;white-space:normal;}
	button, input, select, textarea {font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;}
	button, input {line-height:normal;}
	button, input[type="button"], input[type="reset"], input[type="submit"] {cursor:pointer;-webkit-appearance:none;*overflow:visible;}
	button[disabled], input[disabled] { cursor: default; }
	input[type="checkbox"], input[type="radio"] {box-sizing:border-box;padding:0;*width:13px;*height:13px;}
	input[type="search"] {-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}
	input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {-webkit-appearance:none;}
	button::-moz-focus-inner, input::-moz-focus-inner {border:0;padding:0;}
	textarea {overflow:auto;vertical-align:top;resize:vertical;}
	input:valid, textarea:valid {}
	input:invalid, textarea:invalid {background-color:#F0DDDD;}
	
	table {border-collapse:collapse;border-spacing:0;}
	td {vertical-align:top;}

/* =============================================================================
   General Styles
   ========================================================================== */
   
   	/* Font Face Setup, add fonts to /fonts/ folder and link up below with filenames */
	@font-face {
		font-family:'Font-Name';
		src:url('fonts/font-name.eot');
		src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
	    	font-weight:normal;
	    	font-style:normal;
  	 }
	
   	body {
		font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; /* Serve Helvetica Neue, with Helvetica fallbacks to Arial */
		font-size:11px;
		font-weight:300; /* Better supported than 'lighter' attribute */
		line-height:18px;
		-webkit-font-smoothing:antialiased; /* Antialiased font for great smoothing */
		-moz-font-smoothing:antialiased;
		-o-font-smoothing:antialiased;
		font-smoothing:antialiased;
		text-rendering:optimizeLegibility; /* Optimise legibility for some CSS3 kerning */
		color:#444; /* Lighter on the eyes than #000 Black */
	}
	
/* =============================================================================
   Structure
   ========================================================================== */
   
   /* Add your site structure here */

/* =============================================================================
   Mobile First Media Queries
   ========================================================================== */

   /* 320px and greater */
   @media only screen and (min-width: 320px) {
	/* Styles here */
   }
   
   /* 480px and greater */
   @media only screen and (min-width: 480px) {
	/* Styles here */
   }
   
   /* 768px and greater */
   @media only screen and (min-width: 768px) {
	/* Styles here */
   }
   
   /* 1024px and greater */
   @media only screen and (min-width: 1024px) {
	/* Styles here */
   }
   
   /* Retina screens */
   @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {
	/* Style adjustments for high resolution devices */
}

/* =============================================================================
   Non-Semantic Classes
   ========================================================================== */
   
   /* Custom Selection Styles */
   ::selection {background:#D31245;color:#FFF;text-shadow:none;}
   ::-webkit-selection {background:#D31245;color:#FFF;text-shadow:none;}
   ::-moz-selection {background:#D31245;color:#FFF;text-shadow:none;}
   
   /* Input focus styles */
   input:focus {outline:0;border:1px solid #0091BD;} /* Gets rid of blue glow on field focus, adds border color instead */
   
/* =============================================================================
   WordPress Core CSS Styles
   ========================================================================== */
   
   .alignnone {margin:5px 20px 20px 0;}
   .aligncenter,div.aligncenter {display:block;margin:5px auto 5px auto;}
   .alignright {float:right;margin:5px 0 20px 20px;}
   .alignleft {float:left;margin:5px 20px 20px 0;}
   .aligncenter {display:block;margin:5px auto 5px auto;}
   a img.alignright {float:right;margin:5px 0 20px 20px;}
   a img.alignnone {margin:5px 20px 20px 0;}
   a img.alignleft {float:left;margin:5px 20px 20px 0;}
   a img.aligncenter {display:block;margin-left:auto;margin-right:auto;}
   .wp-caption {background:#FFF;border:1px solid #F0F0F0;max-width:96%;padding:5px 3px 10px;text-align:center;}
   .wp-caption.alignnone {margin:5px 20px 20px 0;}
   .wp-caption.alignleft {margin:5px 20px 20px 0;}
   .wp-caption.alignright {margin:5px 0 20px 20px;}
   .wp-caption img {border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width:auto;}
   .wp-caption p.wp-caption-text,.gallery-caption {font-size:11px;line-height:17px;margin:0;padding:0 4px 5px;}
   .sticky {}
   .bypostauthor {}

/* ==========================================================================
   Print styles
   ========================================================================== */

   @media print {
	* {background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important;}
	a,a:visited {text-decoration:underline;}
	a[href]:after {content:" (" attr(href) ")";}
	abbr[title]:after {content:" (" attr(title) ")";}
	.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after {content:"";}
	pre,blockquote {border:1px solid #999;page-break-inside:avoid;}
	thead {display:table-header-group;}
	tr,img {page-break-inside:avoid;}
	img {max-width:100% !important;}
	@page {margin:0.5cm;}
	p,h2,h3 {orphans:3;widows:3;}
	h2,h3 {page-break-after:avoid;}
   }
/* ==========================================================================
   Store identity tokens (each store overrides these in child stylesheet)
   ========================================================================== */

   :root {
	--brand-primary:   #266E9E;
	--brand-secondary: #444444;
	--brand-accent:    #FF9900;
	--brand-bg:        #FFFFFF;
	--brand-text:      #222222;
	--brand-font:      "Helvetica Neue", Helvetica, Arial, sans-serif;
	--brand-heading-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
   }

   body { font-family: var(--brand-font); background: var(--brand-bg); color: var(--brand-text); }
   h1,h2,h3,h4,h5,h6 { font-family: var(--brand-heading-font); color: var(--brand-text); }
   a { color: var(--brand-primary); }

/* ==========================================================================
   Site header / hero
   ========================================================================== */

   .site-header { display:flex; align-items:center; justify-content:space-between; padding:20px 5%; background:var(--brand-bg); border-bottom:1px solid rgba(0,0,0,.08); }
   .site-header .logo { font-size:1.5rem; font-weight:800; color:var(--brand-secondary); letter-spacing:.5px; }
   .site-header nav ul { list-style:none; display:flex; gap:24px; margin:0; padding:0; }
   .site-header nav a { color:var(--brand-text); font-weight:600; }
   .hero { padding:64px 5%; text-align:center; background:linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%); color:#fff; }
   .hero h1 { color:#fff; font-size:2.4rem; margin-bottom:12px; }
   .hero p { color:#fff; opacity:.92; font-size:1.1rem; }

/* ==========================================================================
   WooCommerce overrides
   ========================================================================== */

   .woocommerce-wrap { max-width:1180px; margin:0 auto; padding:40px 5%; }

   .woocommerce ul.products { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:28px; list-style:none; margin:0; padding:0; }
   .woocommerce ul.products li.product { text-align:center; }
   .woocommerce ul.products li.product img { border-radius:12px; margin-bottom:10px; }
   .woocommerce ul.products li.product .price { color:var(--brand-primary); font-weight:700; font-size:1.15rem; }

   .woocommerce div.product .product_title { font-family:var(--brand-heading-font); font-size:2rem; color:var(--brand-text); }
   .woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--brand-text); }
   .woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--brand-primary); font-size:1.6rem; font-weight:800; }

   .woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit,
   .woocommerce input.button, .woocommerce #payment #place_order,
   .woocommerce a.add_to_cart_button, .woocommerce a.single_add_to_cart_button {
	background:var(--brand-accent) !important;
	color:#111 !important;
	border:none !important;
	border-radius:30px !important;
	padding:14px 34px !important;
	font-weight:800 !important;
	text-transform:uppercase;
	letter-spacing:.5px;
	transition:transform .15s ease, opacity .15s ease;
   }
   .woocommerce a.button:hover, .woocommerce button.button:hover,
   .woocommerce a.single_add_to_cart_button:hover {
	transform:translateY(-2px);
	opacity:.92;
   }

   .woocommerce span.onsale { background:var(--brand-secondary); border-radius:50%; }

   /* Labels de campos en carrito/checkout que van SOBRE fondo blanco (input,
      resumen de orden en la sidebar): forzar negro para que se vean */
   .woocommerce-checkout .form-row label,
   .woocommerce-cart .form-row label,
   .wc-block-components-text-input label,
   .wc-block-components-address-form label,
   .wc-block-components-combobox-control label,
   .wc-block-components-totals-item__label {
	color:#111111 !important;
   }

   /* Labels de envío/pago/checkboxes que van SOBRE el fondo oscuro del tema
      (sin tarjeta blanca detrás): forzar blanco — antes eran negro sobre
      negro y quedaban invisibles */
   .wc-block-components-radio-control__label,
   .wc-block-components-radio-control__option,
   .wc-block-components-radio-control__secondary-label,
   .wc-block-components-checkbox__label,
   .wc-block-components-radio-control__option-layout .wc-block-components-formatted-money-amount {
	color:#fff !important;
   }

   .site-footer { padding:32px 5%; text-align:center; background:var(--brand-secondary); color:#fff; font-size:.9rem; }
   .site-footer a { color:#fff; text-decoration:underline; }

/* ShaveGo brand identity */
:root {
	--brand-primary:   #0057FF;
	--brand-secondary: #0B0B0F;
	--brand-accent:    #00E5FF;
	--brand-bg:        #101014;
	--brand-text:      #EDEDED;
	--brand-font:      'Segoe UI', Arial, sans-serif;
	--brand-heading-font: 'Arial Black', Arial, sans-serif;
}
.site-header { background:#0B0B0F; border-bottom-color:rgba(255,255,255,.08); }
.site-header .logo a, .site-header nav a { color:#EDEDED; }

/* ==========================================================================
   Landing page (front-page.php) — nav, hero, beneficios, producto, faq
   ========================================================================== */

   html { scroll-behavior: smooth; }
   section[id] { scroll-margin-top: 90px; }

   .btn-pill {
	display:inline-flex; align-items:center; justify-content:center;
	padding:12px 28px; border-radius:999px; font-weight:700; text-decoration:none;
	border:2px solid transparent; transition:transform .15s ease, opacity .15s ease;
   }
   .btn-pill:hover { transform:translateY(-2px); opacity:.92; }
   .btn-pill--primary { background:var(--brand-primary); color:#fff; }
   .btn-pill--ghost { background:transparent; color:var(--brand-text); border-color:currentColor; }
   .btn-pill--lg { padding:16px 36px; font-size:1.05rem; }

   /* Nav */
   .landing-nav {
	position:sticky; top:0; z-index:100;
	display:flex; align-items:center; justify-content:space-between;
	padding:16px 5%; background:color-mix(in srgb, var(--brand-bg) 85%, transparent);
	backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
	border-bottom:1px solid color-mix(in srgb, var(--brand-text) 12%, transparent);
   }
   .landing-nav__brand { display:flex; align-items:center; gap:10px; font-weight:800; font-size:1.15rem; color:var(--brand-text); }
   .landing-nav__badge {
	width:32px; height:32px; border-radius:9px; display:flex; align-items:center; justify-content:center;
	background:var(--brand-primary); color:#fff; font-weight:800; overflow:hidden; flex-shrink:0;
   }
   .landing-nav__badge img { width:100%; height:100%; object-fit:cover; display:block; }
   .landing-nav__links { display:flex; gap:28px; }
   .landing-nav__links a { color:var(--brand-text); opacity:.8; font-weight:600; font-size:.95rem; }
   .landing-nav__links a:hover { opacity:1; }
   .landing-nav__actions { display:flex; align-items:center; gap:18px; }
   .landing-nav__cart { position:relative; color:var(--brand-text); font-size:1.3rem; text-decoration:none; }
   .landing-nav__cart-count {
	position:absolute; top:-8px; right:-10px; background:var(--brand-accent); color:#111;
	font-size:.65rem; font-weight:800; border-radius:999px; padding:1px 6px;
   }
   @media (max-width:820px) { .landing-nav__links { display:none; } }

   /* Hero */
   .hero-landing {
	display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center;
	padding:64px 5% 80px; max-width:1280px; margin:0 auto;
   }
   .hero-landing__eyebrow { color:var(--brand-primary); font-weight:800; letter-spacing:1px; font-size:.85rem; text-transform:uppercase; }
   .hero-landing__headline { font-size:2.9rem; line-height:1.15; margin:14px 0 18px; color:var(--brand-text); }
   .hero-landing__headline span { color:var(--brand-primary); }
   .hero-landing__sub { font-size:1.08rem; opacity:.82; max-width:46ch; margin-bottom:26px; }
   .hero-landing__price { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
   .hero-landing__price .price-now { font-size:2.6rem; font-weight:800; color:var(--brand-text); }
   .hero-landing__price .price-now small { font-size:1rem; font-weight:600; opacity:.7; }
   .hero-landing__price .price-was { text-decoration:line-through; opacity:.55; font-size:1.1rem; }
   .hero-landing__price .price-badge { background:#16a34a; color:#fff; font-weight:800; font-size:.8rem; padding:4px 10px; border-radius:999px; }
   .hero-landing__shipping { opacity:.85; margin-bottom:26px; }
   .hero-landing__cta { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
   .hero-landing__trust { display:flex; align-items:center; gap:10px; opacity:.85; font-size:.95rem; }
   .hero-landing__media { position:relative; }
   .hero-landing__media::before {
	content:""; position:absolute; inset:-10%;
	background:radial-gradient(circle at 50% 50%, var(--brand-accent) 0%, transparent 65%);
	opacity:.35; filter:blur(30px); z-index:0;
   }
   .hero-landing__media img {
	position:relative; z-index:1; width:100%; border-radius:24px;
	background:color-mix(in srgb, var(--brand-text) 6%, transparent);
	box-shadow:0 20px 60px rgba(0,0,0,.25);
   }
   @media (max-width:900px) { .hero-landing { grid-template-columns:1fr; padding-top:40px; } .hero-landing__headline { font-size:2.1rem; } }

   /* Beneficios */
   .beneficios { padding:70px 5%; max-width:1180px; margin:0 auto; }
   .beneficios h2, .producto-section h2, .opiniones h2, .faq h2 { font-size:2rem; margin-bottom:36px; text-align:center; }
   .beneficios__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:24px; }
   .beneficio-card {
	padding:28px; border-radius:16px; background:color-mix(in srgb, var(--brand-text) 5%, transparent);
	border:1px solid color-mix(in srgb, var(--brand-text) 10%, transparent);
   }
   .beneficio-card__icon { font-size:1.8rem; margin-bottom:12px; }
   .beneficio-card h3 { font-size:1.05rem; margin-bottom:8px; }
   .beneficio-card p { opacity:.8; font-size:.95rem; margin:0; }

   /* Producto */
   .producto-section { padding:70px 5%; max-width:1000px; margin:0 auto; }

   /* Opiniones */
   .opiniones { padding:70px 5%; max-width:800px; margin:0 auto; text-align:center; }
   .opiniones__empty { opacity:.75; }

   /* FAQ */
   .faq { padding:70px 5% 100px; max-width:800px; margin:0 auto; }
   .faq details {
	border-bottom:1px solid color-mix(in srgb, var(--brand-text) 15%, transparent);
	padding:18px 0;
   }
   .faq summary { cursor:pointer; font-weight:700; font-size:1.05rem; list-style:none; }
   .faq summary::-webkit-details-marker { display:none; }
   .faq summary::after { content:"+"; float:right; font-size:1.3rem; }
   .faq details[open] summary::after { content:"−"; }
   .faq p { opacity:.8; margin-top:12px; }

   .producto-section__grid { display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; }
   .producto-section__gallery img { width:100%; border-radius:16px; margin-bottom:16px; }
   .producto-section__gallery { display:flex; flex-direction:column; gap:16px; }
   .producto-section__main-img { margin-bottom:0; }
   .producto-section__thumb {
	border-radius:16px; overflow:hidden;
	background:color-mix(in srgb, var(--brand-text) 5%, transparent);
	border:1px solid color-mix(in srgb, var(--brand-text) 10%, transparent);
   }
   .producto-section__thumb img { width:100%; display:block; border-radius:16px; margin:0; }
   .producto-section__desc ul { list-style:disc; margin:16px 0 16px 20px; padding:0; }
   .producto-section__desc li { margin-bottom:6px; opacity:.85; }
   @media (max-width:820px) { .producto-section__grid { grid-template-columns:1fr; } }
   .announcement-bar {
	background:var(--brand-primary); color:#fff;
	text-align:center; font-size:.82rem; font-weight:600;
	padding:9px 5%; letter-spacing:.2px;
   }

   .wrapper { max-width:1180px; margin:0 auto; padding:40px 5%; }
   .wrapper h1 { margin-bottom:20px; }

   .site-footer__links { display:flex; justify-content:center; gap:26px; flex-wrap:wrap; margin-bottom:16px; }
   .site-footer__links a { color:#fff; opacity:.85; font-weight:600; font-size:.9rem; }
   .site-footer__links a:hover { opacity:1; }
   .site-footer__links a { color:#fff; opacity:.85; font-weight:600; font-size:.9rem; }
   .site-footer__links a:hover { opacity:1; }

   /* Nav responsive extra — evita desborde en pantallas muy chicas */
   @media (max-width:480px) {
	.landing-nav { flex-wrap:wrap; gap:12px; padding:12px 4%; }
	.landing-nav__brand { font-size:1rem; }
	.landing-nav__actions { gap:10px; }
	.landing-nav .btn-pill { padding:9px 18px; font-size:.85rem; }
	.announcement-bar { font-size:.72rem; padding:8px 4%; }
   }

   /* Tablas de WooCommerce (carrito/checkout) con scroll propio en vez de desbordar la pagina */
   .woocommerce table.shop_table { display:block; overflow-x:auto; white-space:nowrap; }
   .woocommerce table.shop_table tbody, .woocommerce table.shop_table thead { display:table; width:100%; }

/* ==========================================================================
   Iconos SVG inline (reemplazan emojis en todo el theme)
   ========================================================================== */

   .bf-icon { width:1em; height:1em; display:inline-block; vertical-align:-0.15em; flex-shrink:0; }
   .beneficio-card__icon .bf-icon { width:1.8rem; height:1.8rem; color:var(--brand-primary); }
   .hero-landing__shipping .bf-icon,
   .hero-landing__trust .bf-icon { width:1.1em; height:1.1em; color:var(--brand-accent); }
   .landing-nav__cart .bf-icon { width:1.3rem; height:1.3rem; }
   .announcement-bar .bf-icon { width:1em; height:1em; color:var(--brand-accent); }

/* ==========================================================================
   Announcement bar — layout en varios items
   ========================================================================== */

   .announcement-bar { display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; }
   .announcement-bar span { display:inline-flex; align-items:center; gap:7px; }
   @media (max-width:480px) { .announcement-bar { gap:10px 16px; } }

/* ==========================================================================
   Pastillas — "Diseñada para tu día a día"
   ========================================================================== */

   .pastillas { padding:70px 5%; max-width:1180px; margin:0 auto; }
   .pastillas h2 { font-size:2rem; margin-bottom:36px; text-align:center; }
   .pastillas__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:24px; }
   .pastilla {
	border-radius:20px; overflow:hidden; background:color-mix(in srgb, var(--brand-text) 5%, transparent);
	border:1px solid color-mix(in srgb, var(--brand-text) 10%, transparent);
   }
   .pastilla__img { aspect-ratio:1/1; overflow:hidden; }
   .pastilla__img img { width:100%; height:100%; object-fit:cover; display:block; }
   .pastilla h3 { font-size:1.05rem; margin:18px 20px 6px; }
   .pastilla p { opacity:.8; font-size:.92rem; margin:0 20px 20px; }

/* ==========================================================================
   Míralo en acción
   ========================================================================== */

   .en-accion { padding:70px 5% 90px; max-width:900px; margin:0 auto; text-align:center; }
   .en-accion__media {
	position:relative; border-radius:24px; overflow:hidden;
	box-shadow:0 20px 60px rgba(0,0,0,.25);
	background:color-mix(in srgb, var(--brand-text) 6%, transparent);
   }
   .en-accion__video { width:100%; display:block; aspect-ratio:16/9; object-fit:cover; background:#000; }
   .en-accion__copy h2 { font-size:2rem; margin:32px 0 8px; }
   .en-accion__copy p { opacity:.8; font-size:1.05rem; margin:0; }

/* ==========================================================================
   Opiniones / testimonios
   ========================================================================== */

   .opiniones__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:22px; text-align:left; margin-top:8px; }
   .opiniones__grid--wc { margin-top:22px; padding-top:22px; border-top:1px solid color-mix(in srgb, var(--brand-text) 12%, transparent); }
   .opinion {
	padding:26px; border-radius:16px; background:color-mix(in srgb, var(--brand-text) 5%, transparent);
	border:1px solid color-mix(in srgb, var(--brand-text) 10%, transparent);
   }
   .opinion__stars { display:flex; gap:3px; color:var(--brand-accent); margin-bottom:12px; }
   .opinion__stars .bf-icon { width:1rem; height:1rem; }
   .opinion p { opacity:.88; margin:0 0 14px; font-size:.98rem; line-height:1.5; }
   .opinion strong { font-size:.92rem; }

/* ==========================================================================
   CTA final — antes del footer
   ========================================================================== */

   .cta-final {
	padding:90px 5%; text-align:center;
	background:linear-gradient(135deg, var(--brand-primary) 0%, color-mix(in srgb, var(--brand-primary) 40%, var(--brand-secondary)) 100%);
   }
   .cta-final h2 { color:#fff; font-size:2.3rem; line-height:1.25; margin-bottom:26px; }
   .cta-final__price { display:flex; align-items:baseline; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:28px; }
   .cta-final__price .price-now { font-size:2.4rem; font-weight:800; color:#fff; }
   .cta-final__price .price-now small { font-size:1rem; font-weight:600; opacity:.8; }
   .cta-final__price .price-was { text-decoration:line-through; opacity:.7; color:#fff; font-size:1.1rem; }
   .cta-final .btn-pill--primary { background:#fff; color:var(--brand-secondary); }

/* ==========================================================================
   Formulario de compra (cantidad + añadir al carrito) — reemplaza el input
   numérico y botón por defecto de WooCommerce
   ========================================================================== */

   .producto-section__desc .woocommerce-product-details__short-description { opacity:.85; font-size:1.02rem; line-height:1.6; margin-bottom:22px; }
   .woocommerce div.product form.cart {
	display:flex; align-items:stretch; gap:14px; flex-wrap:wrap;
	margin-top:24px; padding-top:24px;
	border-top:1px solid color-mix(in srgb, var(--brand-text) 12%, transparent);
   }
   .woocommerce div.product form.cart .quantity { margin:0; display:flex; }
   .woocommerce div.product form.cart .quantity input.qty {
	width:78px; height:56px; text-align:center; font-size:1.15rem; font-weight:800;
	border:2px solid color-mix(in srgb, var(--brand-text) 16%, transparent);
	border-radius:14px; background:transparent; color:var(--brand-text);
	-moz-appearance:textfield; appearance:textfield;
   }
   .woocommerce div.product form.cart .quantity input.qty:focus { border-color:var(--brand-primary); outline:none; }
   .woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button,
   .woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button { opacity:1; margin-left:6px; }
   .woocommerce div.product form.cart .single_add_to_cart_button {
	height:56px; margin:0; font-size:1rem !important; letter-spacing:.3px;
	box-shadow:0 10px 24px -8px color-mix(in srgb, var(--brand-primary) 60%, transparent);
   }
   @media (max-width:480px) { .woocommerce div.product form.cart { flex-direction:column; } .woocommerce div.product form.cart .single_add_to_cart_button { width:100%; } }


/* ==========================================================================
   Fix: imagen principal de "El producto" se veía estirada — ratio fijo +
   object-fit para que cualquier foto se vea recortada en vez de deformada
   ========================================================================== */

   .producto-section__main-img {
	width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block;
	border-radius:16px; margin-bottom:0;
   }

/* ==========================================================================
   Fix: el formulario de compra (cantidad + botón) no tenía ancestro
   "div.product" — WooCommerce solo agrega esa clase en la plantilla de
   producto normal, no en esta landing. Se quita esa dependencia.
   ========================================================================== */

   .producto-section__desc.woocommerce form.cart {
	display:flex; align-items:stretch; gap:14px; flex-wrap:wrap;
	margin-top:24px; padding-top:24px;
	border-top:1px solid color-mix(in srgb, var(--brand-text) 12%, transparent);
   }
   .producto-section__desc.woocommerce form.cart .quantity { margin:0; display:flex; }
   .producto-section__desc.woocommerce form.cart .quantity input.qty {
	width:78px !important; height:56px !important; text-align:center; font-size:1.15rem; font-weight:800;
	border:2px solid color-mix(in srgb, var(--brand-text) 16%, transparent) !important;
	border-radius:14px !important; background:transparent; color:var(--brand-text);
   }
   .producto-section__desc.woocommerce form.cart .quantity input.qty:focus { border-color:var(--brand-primary) !important; outline:none; }
   .producto-section__desc.woocommerce form.cart .single_add_to_cart_button {
	height:56px; margin:0; font-size:1rem !important; letter-spacing:.3px;
	box-shadow:0 10px 24px -8px color-mix(in srgb, var(--brand-primary) 60%, transparent);
   }
   @media (max-width:480px) {
	.producto-section__desc.woocommerce form.cart { flex-direction:column; }
	.producto-section__desc.woocommerce form.cart .single_add_to_cart_button { width:100%; }
   }
