/* CREACIONES DERECK V5 — Temas completos oscuro y claro.
   Contrastes y componentes independientes, sin librerías externas.
   El atributo data-cd-theme se define antes de cargar las hojas de estilo. */
html[data-cd-theme="dark"] {
  color-scheme: dark;
  --cd-bg: #0d1117;
  --cd-surface: #171d25;
  --cd-surface-2: #202733;
  --cd-surface-soft: #121820;
  --cd-text: #f5f3ed;
  --cd-muted: #c4cbd2;
  --cd-line: #3c4652;
  --cd-accent: #e5c371;
  --cd-accent-subtle: #a5823c;
  --cd-gold-bg: #d6af4b;
  --cd-gold-text: #15140e;
  --cd-header: #0a0e13;
  --cd-hero: radial-gradient(ellipse at 84% 32%, #514024 0, transparent 52%), linear-gradient(120deg,#090c11,#181b20);
  --cd-shadow: 0 16px 42px #0005;
}
html[data-cd-theme="light"] {
  color-scheme: light;
  --cd-bg: #fbfaf7;
  --cd-surface: #ffffff;
  --cd-surface-2: #f5f1e8;
  --cd-surface-soft: #f0ece2;
  --cd-text: #202329;
  --cd-muted: #4d545d;
  --cd-line: #d7d2c6;
  --cd-accent: #79570e;
  --cd-accent-subtle: #9b7629;
  --cd-gold-bg: #d8b251;
  --cd-gold-text: #201806;
  --cd-header: #fffefa;
  --cd-hero: radial-gradient(ellipse at 90% 15%, #f3e2b9 0, transparent 48%),linear-gradient(120deg,#fffefb,#f4efe3);
  --cd-shadow: 0 14px 40px #51483117;
}
html[data-cd-theme] {scroll-padding-top:94px;}
html[data-cd-theme] body { background:var(--cd-bg); color:var(--cd-text); transition:background-color .22s,color .22s; }
html[data-cd-theme] .topline { background:var(--cd-gold-bg); color:var(--cd-gold-text); }
html[data-cd-theme] .header { background:var(--cd-header);color:var(--cd-text);border-bottom:1px solid var(--cd-line);box-shadow:0 3px 14px #0000000d; }
html[data-cd-theme] .brandname { color:var(--cd-text); }
html[data-cd-theme] .brandname span,html[data-cd-theme] .brandmark {color:var(--cd-accent);}
html[data-cd-theme] .brandmark {border-color:var(--cd-accent-subtle);}
html[data-cd-theme] .brandname small {color:var(--cd-muted);}
/* Los logos subidos pueden ser negros; colocar base marfil en modo oscuro evita que desaparezcan. */
html[data-cd-theme="dark"] .brand img {background:#faf8f1;border-radius:8px;padding:4px;}
html[data-cd-theme] .nav a {color:var(--cd-text);}
html[data-cd-theme] .nav a:hover, html[data-cd-theme] .nav a:focus-visible {color:var(--cd-accent);}
html[data-cd-theme] .nav a:first-child {color:var(--cd-accent);}
html[data-cd-theme] .mobile-menu {color:var(--cd-text);border-color:var(--cd-line);}
html[data-cd-theme] .header-cta,html[data-cd-theme] .btn-gold {background:var(--cd-gold-bg); color:var(--cd-gold-text);border-color:transparent;}
html[data-cd-theme] .header-cta:hover,html[data-cd-theme] .btn-gold:hover {background:#efd086;color:#201806;}
html[data-cd-theme] .btn-line {background:transparent;color:var(--cd-text);border-color:var(--cd-accent-subtle);}
html[data-cd-theme] .btn-line:hover {background:var(--cd-surface-2);border-color:var(--cd-accent);color:var(--cd-text);}
html[data-cd-theme] .hero {background:var(--cd-hero);color:var(--cd-text);}
html[data-cd-theme] .hero:after {border-color:#ac85383e;box-shadow:0 0 0 70px #cba85c0d,0 0 0 150px #cba85c08;}
html[data-cd-theme] .hero h1 {color:var(--cd-text);}
html[data-cd-theme] .hero h1 em,html[data-cd-theme] .eyebrow {color:var(--cd-accent);}
html[data-cd-theme] .hero p.desc,html[data-cd-theme] .hero-points {color:var(--cd-muted);}
html[data-cd-theme] .hero-points span:before {color:var(--cd-accent);}
/* Mantener el texto sobre la fotografía en blanco, independientemente del modo. */
html[data-cd-theme] .hero-showcase {color:#fffaf0;border-color:#a98d50;background-color:#241d13;}
html[data-cd-theme] .hero-showcase strong {color:#fffaf0;}
html[data-cd-theme] .hero-showcase .showcase-kicker {color:#f9d98d;}
html[data-cd-theme] .hero-showcase .showcase-desc {color:#f0ece4;}
html[data-cd-theme] .benefits {background:var(--cd-surface);border-color:var(--cd-line);}
html[data-cd-theme] .benefit {color:var(--cd-text);}
html[data-cd-theme] .benefit b {color:var(--cd-accent);}
html[data-cd-theme] .section {background:var(--cd-bg);color:var(--cd-text);}
html[data-cd-theme] .heading h2,html[data-cd-theme] .side-text h2 {color:var(--cd-text);}
html[data-cd-theme] .overline {color:var(--cd-accent);}
html[data-cd-theme] .heading p {color:var(--cd-muted);}
html[data-cd-theme] .cat-card {background:var(--cd-surface);color:var(--cd-text);border-color:var(--cd-line);box-shadow:var(--cd-shadow);}
html[data-cd-theme] .cat-card:before {background:radial-gradient(circle at 95% 0,#d4af3720,transparent 58%);}
html[data-cd-theme] .cat-card .cat-icon,html[data-cd-theme] .cat-card .linktext {color:var(--cd-accent);}
html[data-cd-theme] .cat-card:hover {border-color:var(--cd-accent-subtle);}
html[data-cd-theme] .products-bg {background:var(--cd-surface-soft);}
html[data-cd-theme] .prod {background:var(--cd-surface);color:var(--cd-text);border-color:var(--cd-line);box-shadow:var(--cd-shadow);}
html[data-cd-theme] .prod .img {background:linear-gradient(135deg,var(--cd-surface-2),var(--cd-surface-soft));color:var(--cd-accent);}
html[data-cd-theme] .prod h3,html[data-cd-theme] .prod h3 a {color:var(--cd-text);}
html[data-cd-theme] .prod .price {color:var(--cd-accent);}
html[data-cd-theme] .prod .small-action {color:var(--cd-accent);}
html[data-cd-theme] .empty-products {background:var(--cd-surface);border-color:var(--cd-accent-subtle);color:var(--cd-text);}
html[data-cd-theme] .empty-products p {color:var(--cd-muted);}
html[data-cd-theme] .feature {background:var(--cd-surface);color:var(--cd-text);border:1px solid var(--cd-line);box-shadow:var(--cd-shadow);}
html[data-cd-theme] .feature .side-text h2 {color:var(--cd-text);}
html[data-cd-theme] .feature .side-text p {color:var(--cd-muted);}
html[data-cd-theme] .feature .side-text li {color:var(--cd-text);}
html[data-cd-theme] .feature .side-text li:before {color:var(--cd-accent);}
html[data-cd-theme] .contact {background:var(--cd-surface-soft);color:var(--cd-text);}
html[data-cd-theme] .contact .heading h2 {color:var(--cd-text);}
html[data-cd-theme] .contact .heading p {color:var(--cd-muted);}
html[data-cd-theme] .contact-card {background:var(--cd-surface);border-color:var(--cd-line);box-shadow:var(--cd-shadow);}
html[data-cd-theme] .contact-card h3 {color:var(--cd-accent);}
html[data-cd-theme] .contact-card p {color:var(--cd-text);}
html[data-cd-theme] .cd-contact-social {background:var(--cd-surface);border:1px solid var(--cd-accent-subtle);box-shadow:var(--cd-shadow);}
html[data-cd-theme] .cd-contact-social h3 {color:var(--cd-accent);}
html[data-cd-theme] .cd-contact-social p {color:var(--cd-muted);}
html[data-cd-theme] .footer {background:var(--cd-header);color:var(--cd-muted);border-top:1px solid var(--cd-line);}
html[data-cd-theme] .footer a:not(.cd-social-icon) {color:var(--cd-accent);}
html[data-cd-theme] .cd-footer-social strong {color:var(--cd-accent);}
html[data-cd-theme] .page-body {background:var(--cd-bg);color:var(--cd-text);}
html[data-cd-theme] .page-body .entry,html[data-cd-theme] .page-body h1,html[data-cd-theme] .page-body h2,html[data-cd-theme] .page-body h3 {color:var(--cd-text);}
html[data-cd-theme] .page-body .entry a:not(.button),html[data-cd-theme] .page-body article a:not(.button) {color:var(--cd-accent);}
/* WooCommerce: tienda, tarjetas, formularios, importes, avisos y navegación. */
html[data-cd-theme] .woocommerce ul.products li.product,
html[data-cd-theme] .woocommerce div.product,
html[data-cd-theme] .woocommerce .cart_totals,
html[data-cd-theme] .woocommerce-checkout #payment,
html[data-cd-theme] .woocommerce form.checkout_coupon,
html[data-cd-theme] .woocommerce form.login,
html[data-cd-theme] .woocommerce form.register {background:var(--cd-surface);color:var(--cd-text);border-color:var(--cd-line);}
html[data-cd-theme] .woocommerce ul.products li.product .woocommerce-loop-product__title,
html[data-cd-theme] .woocommerce div.product .product_title,
html[data-cd-theme] .woocommerce table.shop_table,
html[data-cd-theme] .woocommerce table.shop_table th,
html[data-cd-theme] .woocommerce table.shop_table td {color:var(--cd-text);border-color:var(--cd-line);}
html[data-cd-theme] .woocommerce .price,html[data-cd-theme] .woocommerce ul.products li.product .price,
html[data-cd-theme] .woocommerce div.product p.price,
html[data-cd-theme] .woocommerce div.product span.price {color:var(--cd-accent);}
html[data-cd-theme] .woocommerce a.button,html[data-cd-theme] .woocommerce button.button,
html[data-cd-theme] .woocommerce button.button.alt,html[data-cd-theme] .woocommerce a.button.alt,
html[data-cd-theme] .woocommerce input.button {background:var(--cd-gold-bg);color:var(--cd-gold-text);}
html[data-cd-theme] .woocommerce a.button:hover,html[data-cd-theme] .woocommerce button.button:hover {background:#efd086;color:#201806;}
html[data-cd-theme] .woocommerce .woocommerce-breadcrumb,
html[data-cd-theme] .woocommerce .woocommerce-breadcrumb a,
html[data-cd-theme] .woocommerce-result-count,
html[data-cd-theme] .woocommerce-review__author {color:var(--cd-muted);}
html[data-cd-theme] .woocommerce .woocommerce-info,
html[data-cd-theme] .woocommerce .woocommerce-message,
html[data-cd-theme] .woocommerce .woocommerce-error {background:var(--cd-surface-2);color:var(--cd-text);border-top-color:var(--cd-accent);}
html[data-cd-theme] .woocommerce .woocommerce-info a,
html[data-cd-theme] .woocommerce .woocommerce-message a {color:var(--cd-accent);}
html[data-cd-theme] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
html[data-cd-theme] select,html[data-cd-theme] textarea,
html[data-cd-theme] .select2-container--default .select2-selection--single {background:var(--cd-surface);color:var(--cd-text);border:1px solid var(--cd-line);border-radius:7px;}
html[data-cd-theme] input::placeholder,html[data-cd-theme] textarea::placeholder {color:var(--cd-muted);opacity:1;}
html[data-cd-theme] .select2-container--default .select2-selection--single .select2-selection__rendered {color:var(--cd-text);}
html[data-cd-theme] .select2-dropdown, html[data-cd-theme] .select2-results__option {background:var(--cd-surface);color:var(--cd-text);}
html[data-cd-theme] .woocommerce table.shop_table {background:var(--cd-surface);border:1px solid var(--cd-line);}
html[data-cd-theme] .woocommerce .quantity .qty {min-height:39px;}
html[data-cd-theme] :focus-visible {outline-color:var(--cd-accent-subtle);outline-offset:3px;}
/* Selector de tema visible y accesible en pantallas grandes y pequeñas. */
html[data-cd-theme] .cd-theme-toggle {display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:42px;padding:8px 12px;border:1px solid var(--cd-line);border-radius:999px;background:var(--cd-surface);color:var(--cd-text);font-size:12px;font-weight:800;cursor:pointer;flex:0 0 auto;transition:background-color .18s,transform .18s,border-color .18s;}
html[data-cd-theme] .cd-theme-toggle:hover {background:var(--cd-surface-2);border-color:var(--cd-accent-subtle);transform:translateY(-1px);}
html[data-cd-theme] .cd-theme-toggle:focus-visible {outline:3px solid var(--cd-accent);outline-offset:3px;}
html[data-cd-theme] .cd-theme-icon {width:20px;height:20px;flex:0 0 20px;}
html[data-cd-theme="dark"] .cd-theme-icon-moon,html[data-cd-theme="light"] .cd-theme-icon-sun {display:none;}
html[data-cd-theme="dark"] .cd-theme-icon-sun,html[data-cd-theme="light"] .cd-theme-icon-moon {display:block;color:var(--cd-accent);}
html[data-cd-theme] .header-inner {gap:16px;}
html[data-cd-theme] .nav {gap:15px;font-size:12px;}
html[data-cd-theme] .nav a {white-space:nowrap;}
html[data-cd-theme] .cd-social-icon {border-color:#bf9a56a8;}
/* Adaptación móvil: el selector no tapa el nombre ni el menú. */
@media(max-width:1250px) {
  html[data-cd-theme] .header-cta {display:none;}
  html[data-cd-theme] .header-inner {gap:12px;}
  html[data-cd-theme] .nav {gap:11px;}
}
@media(max-width:1050px) {
  html[data-cd-theme] .cd-theme-toggle-text {display:none;}
  html[data-cd-theme] .cd-theme-toggle {width:43px;height:43px;padding:7px;}
}
@media(max-width:900px) {
  html[data-cd-theme] .header-inner {justify-content:space-between;}
  html[data-cd-theme] .brand {margin-right:auto;min-width:0;}
  html[data-cd-theme] .nav {background:var(--cd-header);border-color:var(--cd-line);box-shadow:var(--cd-shadow);gap:0;}
  html[data-cd-theme] .nav a {color:var(--cd-text);border-color:var(--cd-line);}
  html[data-cd-theme] .mobile-menu {order:3;white-space:nowrap;min-height:43px;}
  html[data-cd-theme] .cd-theme-toggle {order:2;}
  html[data-cd-theme] .nav {order:4;}
  html[data-cd-theme] .cd-socials-header {display:none;}
}
@media(max-width:550px) {
  html[data-cd-theme] .header-inner {gap:8px;}
  html[data-cd-theme] .brand {gap:6px;}
  html[data-cd-theme] .brandname {font-size:14px;}
  html[data-cd-theme] .brandname small {font-size:7px;letter-spacing:.06em;}
  html[data-cd-theme] .mobile-menu {font-size:13px;padding:7px 9px;}
  html[data-cd-theme] .cd-theme-toggle {width:40px;height:40px;min-height:40px;}
  html[data-cd-theme] .hero h1 {font-size:clamp(34px,10vw,41px);overflow-wrap:anywhere;}
  html[data-cd-theme] .contact-card {padding:19px;}
  html[data-cd-theme] .cd-contact-social {padding:20px 12px;}
}
@media(prefers-reduced-motion:reduce) {
  html[data-cd-theme],html[data-cd-theme] body,html[data-cd-theme] .cd-theme-toggle {transition:none!important;}
}


/* V6: nuestro tema dibuja su propio footer y no necesita otros pies
   que hayan quedado activos desde Astra, Elementor o Header Footer Builder.
   No se borran plantillas ni contenido; solo se ocultan los contenedores
   que declaran ser un pie de página externo al tema. */
body .elementor-location-footer,
body [data-elementor-type="footer"],
body .hfe-footer,
body .ast-footer-wrap,
body footer.site-footer:not(.footer),
body footer#colophon,
body #colophon:not(.footer) {
  display: none !important;
}
/* Ajuste del nombre de marca para no desbordar el encabezado en portátil. */
@media (min-width: 901px) and (max-width: 1180px) {
  html[data-cd-theme] .brandname {font-size:16px;}
  html[data-cd-theme] .brandname small {font-size:7px;}
  html[data-cd-theme] .brandmark {height:42px;width:42px;font-size:20px;}
  html[data-cd-theme] .nav {gap:9px;font-size:11px;}
}
@media (max-width: 550px) {
  html[data-cd-theme] .brandname {font-size:13px;}
  html[data-cd-theme] .brandmark {width:37px;height:37px;font-size:18px;}
}
