/**
Theme Name: GranMaison
Author: 13Node
Author URI: https://13node.com
Description: Astra child theme personalizado para GranMaison con accesibilidad.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: granmaison
Template: astra
*/

.widget-title {
	color: #ffffff;
}
.textwidget {
	color: #ffffff;
}
.textwidget a {
	color: #ffffff;
}
.semidarkbg {
    position: relative;
	background-attachment: fixed;
}
.semidarkbg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 1;
}
.semidarkbg > * {
    position: relative;
    z-index: 2;
}
.semidarkbg :is(h1,h2,h3,p,li,a) {
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.cartabox {
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.3);
}

.h2 {
	margin-bottom: 0px!important;
}
.m0 {
margin: 0px!important;	
}
.mb1 {
	margin-bottom: 10px!important;
}
.daredline {
  border-bottom: 2px solid #990033;
  padding-bottom: 5px;
}
/* Fondo general con ligera profundidad */
body{
  background:
    radial-gradient(1200px 700px at 20% 0%, rgba(123,27,60,0.06) 0%, rgba(123,27,60,0) 55%),
    radial-gradient(900px 600px at 90% 10%, rgba(0,0,0,0.03) 0%, rgba(0,0,0,0) 60%),
    linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
}

/* Fondo “con vida” (sin puntos) en el contenedor exacto que Astra pinta */
.site-primary-footer-wrap[data-section="section-primary-footer-builder"]{
  position: relative;
  overflow: hidden;

  /* pisa lo que Astra setea */
  background-color: transparent !important;
  background-image: none !important;

  /* degradado + acentos vino */
  background:
    radial-gradient(1100px 520px at 12% 0%, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0) 55%),
    radial-gradient(900px 520px at 88% 28%, rgba(123, 27, 60, 0.22) 0%, rgba(123, 27, 60, 0) 60%),
    linear-gradient(180deg, #3a3a3a 0%, #323232 55%, #2a2a2a 100%) !important;
}

/* “Grano” suave (sin puntos) */
.site-primary-footer-wrap[data-section="section-primary-footer-builder"]::before{
  content:"";
  position:absolute;
  inset:-40px;
  pointer-events:none;
  opacity: .07;
  background-image: repeating-linear-gradient(
    45deg,
    rgba(255,255,255,.18) 0px,
    rgba(255,255,255,.18) 1px,
    transparent 1px,
    transparent 9px
  );
  transform: rotate(-2deg);
}

/* contenido por encima */
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] > *{
  position: relative;
  z-index: 1;
}

/* Trece Design Framework */
.d-flex {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: flex !important;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-unstyled li {
    padding-bottom: 10px;
    border-bottom: 1px solid gray;
    margin-bottom: 10px;
}

.ml-auto, .mx-auto, .o_portal_security_body {
  margin-left: auto !important;
}
.pl-2, .px-2 {
  padding-left: 0.5rem !important;
}
/* ACCESIBILIDAD */
.sr-only{
  position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; border:0;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;
  color: #000!important;
  background: #fff!important;
}
/* Foco visible Woocommerce */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .button {
  outline: none;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout .button:focus {
  box-shadow: 0 0 0 3px rgba(0,0,0,.35);
}

/* Mensajes arriba en región viva: asegurar legibilidad */
#wc-a11y-notices .woocommerce-error,
#wc-a11y-notices .woocommerce-message,
#wc-a11y-notices ul {
  margin: 0 0 1rem;
}
/* 1) Foco visible para teclado (moderno y no molesta con ratón) */
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid #990033;
  outline-offset: 3px;
}

/* 2) Fallback para navegadores sin :focus-visible */
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus {
  outline: 3px solid #990033;
  outline-offset: 3px;
}

/* 3) Si tu tema está quitando el outline, esto lo “rescata” */
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus,
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
  outline-style: solid !important;
}

/* 4) En inputs, también ayuda un borde/sombra para que sea obvio */
:where(input, select, textarea):focus,
:where(input, select, textarea):focus-visible {
  box-shadow: 0 0 0 3px rgba(0,0,0,0.25);
}
/* --- Glass "light" accesible para fondos cálidos (#ffcf6b, etc.) --- */
.glass-light-aaa {
  /* Fondo principal (casi blanco para asegurar contraste con #324255) */
  --glass-bg: rgba(255, 255, 255, 0.92); /* >=0.90 mantiene AA/AAA con #324255 */
  background: linear-gradient( to bottom right,
              rgba(255,255,255,0.92), var(--glass-bg) );
  color: #324255;

  /* Glass look */
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow:
    0 8px 24px rgba(0,0,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.35);
  border-radius: 14px;

  /* Espaciado base */
  padding: 1rem 1.25rem;
}

/* Fallback: si el navegador NO soporta backdrop-filter, usa fondo sólido */
@supports not ((backdrop-filter: blur(2px))) {
  .glass-light-aaa {
    background: #ffffff; /* sólido para que el contraste no dependa del fondo */
  }
}

/* Asegura enlaces distinguibles y con buen contraste dentro del glass */
.glass-light-aaa a {
  color: #223047;                 /* más oscuro que #324255 → AAA */
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.12em;
}
.glass-light-aaa a:hover { text-decoration-thickness: 3px; }

/* Foco visible en elementos interactivos dentro del glass */
.glass-light-aaa :where(a, button, [role="button"], input, select, textarea):focus-visible {
  outline: 2px solid #990033;
  outline-offset: 2px;
  border-radius: 6px;
}

/* Variante pill para badges / botones “chic” */
.glass-pill-aaa {
  composes: glass-light-aaa;  /* si usas CSS Modules; si no, duplica props clave */
  display: inline-block;
  padding: .35rem .75rem;
  border-radius: 999px;
}
