/**
Theme Name: Calma Hammam
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
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: calma-hammam
Template: astra
*/
/*Fonts*/
body {
  font-family: 'Inter', sans-serif;
  font-style: normal;
}

a {
    text-decoration: unset !important;
}
div#content {
    background: #feeee9;
}
/* Títulos con Noto Serif */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Noto Serif', serif;
}
/*Colores*/
.yellow, .yellow h2, .yellow h3, .yellow p, .yellow a {
	color:#E6C99D;
}
.black, .black h2, .black h3, .black p, .black a {
	color:#2C0905;
}
.white, .white h2, .white h3, .white p ,.white a{
	color:#ffffff;
}
/*Button*/
.button {
    border-radius: 0px;
    text-transform: uppercase;
    text-decoration: unset !important;
}
a.button.red {
    background: #2C0905;
    color: #ddb7a8;
}
a.button.red:hover {
		 color: #2C0905;
    background: #ddb7a8;
}
a.button.yellow {
	 color: #541A11;
    background: #E6C99D;
}
a.button.yellow:hover {
	   background: #541A11;
    color: #E6C99D;
}


/*Top Bar*/
div#top-bar a {
    color: #E6C99D;
    font-size: 13px;
    margin: 0px 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
	padding:5px 0px;
	font-weight:500;
}

div#top-bar svg {
    width: 10px;
    margin-right: 5px;
}
div#top-bar {
    display: flex;
    flex-direction: row;
    align-items: center;
}


/*Header*/
header {
    min-height:120px;
}
.home header {
    min-height: unset;
}
#logo-block{
    max-width: 220px;
	    width: 220px;
}
#menu-desktop ul {
    padding: 0px;
    list-style: none;
    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
	margin:0px;
	gap:20px;
}

#menu-desktop ul li a {
    color: #E6C99D;
	    font-size: 16px;
    text-transform: uppercase;
    font-weight: 400;
}
.heroblock {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.heroblock.herohome h1 {
    color: #E6C99D;
    font-weight: 400;
    font-style: italic;
    font-size: 60px;
}
.heroblock h1 {
    color: #E6C99D;
    font-weight: 400;
    font-style: italic;
    font-size: 40px;
}
.heroblock p {
    color: #E6C99D;
    font-weight: 400;
    font-style: italic;
    font-size: 24px;
    font-family: 'Noto Serif', serif;
    max-width: 800px;
    text-align: center;
}
.home #headerhammam {
    background-color: unset;
}
/*Textblock*/
.textblock {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
	padding: 50px 0px;
}

.textblock p {
    max-width: 1000px;
}
p.subtitle {
    font-weight: 400;
    font-style: italic;
    font-size: 20px!important;
	  font-family: 'Noto Serif', serif;
	    line-height: 25px !important;
}

.textblock h2 {
    font-size: 30px;
    font-style: italic;
	    margin-bottom: 5px;
}
.textblock p {
    font-size: 18px;
    font-weight: 500;
    line-height: 22px;
}
.home #content {
    background: #feeee9;
}
.bigp {
    font-weight: 400 !important;
    font-style: italic;
    font-size: 20px !important;
    font-family: 'Noto Serif', serif;
    text-align: center;
	    padding: 10px;
    margin-bottom: 0px !important;
}

/*Products Grid*/
.products-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, 1fr);
}
.product-block {
    display: flex;
    flex-direction: column;
}
.product-button {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}
.product-img img {
    width: 100%;
}
.titleproduct {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
	    padding: 10px 5px;
	    align-items: center;
	border-bottom: #B24000 1px solid;
}
.titleproduct h3 {
    font-style: italic;
 font-size: 24px;
    margin-bottom: 0px;
}
.titleproduct p {
 font-style: italic;
    font-size: 24px;
    margin-bottom: 0px;
    font-weight: 500;
}
.titleproduct p span{
	font-size: 18px;
}

.time {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px 5px;
    align-items: center;
}
.time p {
    font-style: italic;
 font-size: 20px;
    margin-bottom: 0px;
	    font-weight: 500;
}
.description {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px 5px;
       align-items: flex-start;
    min-height: 100px;
}
.dlong {
	    min-height: 200px!important;
}
.description p {

 font-size: 15px;
    margin-bottom: 0px;
	    font-weight: 500;
}
.product-button p {
    margin-bottom: 0px;
    font-style: italic;
    font-weight: 400;
    font-size: 15px;
}
.message {
    font-style: italic;
    font-weight: 500;
}
/*info Section*/
.info-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, 1fr);
}
.icon svg {
    max-width: 60px;
	    margin-bottom: 10px;
}
.info-block {
    display: flex;
    flex-direction: column;
}
.icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.info-title {
display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	
}

.info-title p {
margin-bottom: 0px;
    font-size: 18px !important;
    font-family: 'Noto Serif', serif;
    font-weight: 500;
     padding: 5px 0px;
}
.info-description p {
    margin-bottom: 0px;
}
.info-description p {
    font-size: 15px;
    margin-bottom: 0px;
    font-weight: 500;
    text-align: center;
	 padding: 10px 0px;
}


.info-title::after {
  content: "";
  display: block;
  width: 40px;             /* largo de la línea */
  height: 2px;             /* grosor */
  background-color: #B24000;
  margin: 6px auto 0;      /* separación respecto al texto, centrada */
  border-radius: 2px;      /* opcional, esquinas redondeadas */
}

/*Footer*/
ul.footer-list {
    margin: 0px;
    display: flex;
    flex-direction: column;
	    list-style: none;
}
.footericon {
    display: flex;
    flex-direction: row;
    align-items: center;
	padding: 5px 0px;
	width: 30px;

}
span.footericon svg {
max-height: 20px;
    max-width: 20px;
    width: 100%;
    margin-right: 10px;
}
span.label {
color: #ffffff;
    font-size: 13px;
    font-weight: 500;
    
}

ul.footer-list li a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
	    padding: 5px 0px;
}
.logofooter svg {
    max-width: 140px;
}
.footerright p {
    color: #ffffff;
    font-style: italic;
    font-family: 'Noto Serif', serif;
    font-weight: 500;
}
.footerright {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
}
.copyblock p {
    margin-bottom: 0px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
}
.footerlegal {
    display: flex;
    flex-direction: row;
    gap: 20px;
}
.footerlegal a {
    margin-bottom: 0px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
}


/*hammam*/
.threecolumns div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.threecolumns {
    display: flex;
    flex-direction: row;
	    gap: 40px;
}
.threecolumnstitle {
    text-align: center;
    padding: 15px 0px;
	    font-style: italic;

}
.threecolumns h3 {
    font-style: italic;
    font-weight: 200;
	    font-size: 24px;
}
.doublebotton {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.listhammam p {
    font-weight: 500;
    font-style: italic;
    font-size: 16px;
    font-family: 'Noto Serif', serif;
    padding: 5px 0px;
}
.listhammam ul {
    padding: 25px 0px;
}
.listhammam ul li {
    position: relative;
    padding-left: 1.8em;
    margin-bottom: 0.6em;
}
.listhammam.check ul li::before {
    content: "✔";
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 5px;
}
.listhammam.number ul {
    list-style: number;
	    padding: 0px;
}
.listhammam.check ul {
    list-style: none;
}
.listhammam.number ul li {
    position: relative;
    padding-left: 5px;
    margin-bottom: 0.6em;
}
.listhammam h2 {
    font-style: italic;
    font-size: 25px;
    margin-bottom: 0px;
}
.listhammam .subtitle {
    margin-bottom: 0px;
}
.tratamientos {
  padding: 28px 16px 18px;
}

.tratamientos .wrap {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.tratamientos__title {
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 18px;
  font-size: 22px;
  font-style: italic;
}

.tratamientos__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.tratamientos__list li {
  display: flex;
  align-items: center;
  margin: 4px 0;
  white-space: nowrap;
}

.tratamientos__list li:not(:first-child)::before {
  content: "|";
  margin: 0 12px;
  opacity: 0.6;
  color: #e6c99d;
}

.tratamientos__list a {
  color: #e6c99d;
  text-decoration: none;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.tratamientos__list a:hover {
  text-decoration: underline;
}

/*menu mobile*/
/* ===== Hamburguesa (2 líneas) ===== */
.hamburger {
  position: relative;
  z-index: 1100;
  width: 36px;
  height: 28px;
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
}
.hamburger__line {
  display: block;
  width: 100%;
  height: 2px;
  background: #e6c99d;
  transition: transform 180ms ease, opacity 180ms ease;
  transform-origin: center;
}
.hamburger.is-open .hamburger__line:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.hamburger.is-open .hamburger__line:nth-child(2) { transform: translateY(-5px) rotate(-45deg); }

.logos-subvencion {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
  width: 100%;
}

.logos-subvencion a {
  display: flex;
  align-items: center;
}

.logos-subvencion img {
  max-height: 37px !important;
  height: 37px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
}

/* ===== Overlay Full ===== */
.menu-overlay {
  position: fixed;
  inset: 0;
  background: #4e1f18;
  color: #e6c99d;
  display: none;
  z-index: 1000;
  padding: 24px;
}
.menu-overlay.is-open { display: block; }

.menu-overlay__list {
  list-style: none;
  padding: 0;
  margin: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;           /* horizontal en móvil */
  flex-wrap: nowrap;
  overflow-x: auto;
	    flex-direction: column;
}
.menu-overlay__list a {
  color: #e6c99d;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-size: 18px;
  white-space: nowrap;
  padding: 10px 14px;
  border-radius: 8px;
  transition: opacity 140ms ease;
}
.menu-overlay__list a:hover { opacity: 0.8; }
.menu-overlay__list .cta { background: #e6c99d; color: #4e1f18; }
.hamburger { display: flex; }
.menu-overlay { display: none; z-index: 2500; }
.menu-overlay.is-open-menu { display: block; }
.hamburger { z-index: 2600; }          /* botón sobre el overlay */

/* Overlay */
.ch-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.7);   /* capa oscura detrás */
  z-index: 3000;
}
.ch-modal.is-open { display: flex; }

/* Caja */
.ch-modal .modal-content {
  background: #541A11;          /* color de fondo */
  color: #fff;                  /* texto en blanco para contraste */
  max-width: 80%;
  max-height: 80vh;             /* que nunca ocupe todo el alto */
  width: 90%;
  padding: 24px;
  border-radius: 12px;
  position: relative;
  overflow-y: auto;             /* scroll vertical si se pasa */
  outline: none;
  box-sizing: border-box;
}

/* Botón cerrar */
.ch-modal .modal-close {
  position: absolute;
  top: 10px;
  right: 14px;
  font-size: 22px;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 1;
  color: #fff;                  /* X en blanco */
}

/* Opcional: títulos y textos */
.ch-modal h3, 
.ch-modal h4, 
.ch-modal p {
  color: #fff;
}

/* Lista con checks en blanco */
.ch-modal .list-check li::before {
  color: #E6C99D;
}

.modal-content p {
    color: #E6C99D;
    font-family: 'Noto Serif', serif;
    font-size: 15px;
	padding: 5px 0px;
}
.modal-content h3 {
    color: #E6C99D;
    margin-bottom: 0px;
    font-family: 'Noto Serif', serif;
    font-size: 30px;
	font-style: italic;
	font-weight: 600;
	padding:10px 0px;
}
.modal-content h4 {
    color: #E6C99D;
    margin-bottom: 0px;
    font-family: 'Noto Serif', serif;
    font-size: 26px;
    font-style: italic;
    font-weight: 600;
    padding: 20px 0px;
}
ul.list-check p {
    padding: 0px;
}


/* ====== LEGAL PAGES (Aviso legal / Privacidad / Cookies) ====== */
.legal-text {
  --legal-max: 900px;
  --legal-accent: #B24000;   /* ya lo usas en otros bordes */
  --legal-fg: #2C0905;       /* tu "black" */
  --legal-muted: #7d5e59;    /* tono suave complementario */
  --legal-bg: #F5EEE5;       /* fondo crema del site */
  --legal-chip-bg: #541A11;  /* marrón rojizo */
  --legal-chip-fg: #E6C99D;  /* dorado */
  color: var(--legal-fg);
  background: transparent;
  max-width: var(--legal-max);
  margin: 0 auto;
  padding: 32px 16px 48px;
  line-height: 1.6;
  font-size: 16px;
}

.legal-text * { box-sizing: border-box; }

.legal-text h1,
.legal-text h2,
.legal-text h3,
.legal-text h4 {
  font-family: 'Noto Serif', serif; /* ya es global, reforzamos aquí */
  font-weight: 600;
  font-style: normal;               /* evitamos itálicas aquí */
  color: var(--legal-fg);
  margin: 0 0 12px;
  line-height: 1.25;
}

.legal-text h1 { font-size: 34px; margin-bottom: 18px; }
.legal-text h2 { font-size: 24px; margin-top: 28px; }
.legal-text h3 { font-size: 20px; margin-top: 20px; }
.legal-text h4 { font-size: 18px; margin-top: 16px; }

.legal-text p { margin: 0 0 14px; color: var(--legal-fg); }
.legal-text small,
.legal-text .legal-meta { color: var(--legal-muted); font-size: 13px; }

.legal-text a {
  color: #B24000;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.legal-text a:hover { opacity: .85; }

/* Listas limpias y legibles */
.legal-text ul,
.legal-text ol { padding-left: 1.2em; margin: 8px 0 14px; }
.legal-text li { margin: 6px 0; }
.legal-text ul.list-check { list-style: none; padding-left: 0; }
.legal-text ul.list-check li { position: relative; padding-left: 1.4em; }
.legal-text ul.list-check li::before {
  content: "✔";
  position: absolute; left: 0; top: 0.15em;
  color: #E6C99D; /* dorado de marca */
  font-weight: 700;
}

/* Listas de datos tipo “ficha” */
.legal-text .data-list { list-style: none; padding: 0; margin: 0 0 14px; }
.legal-text .data-list li { display: grid; grid-template-columns: 180px 1fr; gap: 8px 16px; padding: 6px 0; border-bottom: 1px dashed #d9c7be; }
.legal-text .data-list li strong { color: var(--legal-fg); }

/* Separadores y avisos */
.legal-text hr {
  border: 0; height: 1px; background: #e1cfc5;
  margin: 22px 0;
}
.legal-text .notice {
  border: 1px solid var(--legal-accent);
  background: #fff;
  padding: 12px 14px;
  border-radius: 8px;
  color: var(--legal-fg);
}

/* Chips para base jurídica / estado consentimiento, etc. */
.legal-text .chip {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--legal-chip-bg);
  color: var(--legal-chip-fg);
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .2px;
}

/* Tablas (p. ej., tabla de cookies) */
.legal-text .table-wrap { overflow-x: auto; margin: 16px 0 22px; }
.legal-text table {
  width: 100%; border-collapse: collapse; min-width: 680px;
  background: #fff;
  border: 1px solid #e9d7cd;
}
.legal-text th, .legal-text td {
  text-align: left; vertical-align: top;
  padding: 10px 12px; border-bottom: 1px solid #f0e3db;
  font-size: 14px;
}
.legal-text thead th {
  background: #541A11; color: #E6C99D;
  position: sticky; top: 0; z-index: 1;
}
.legal-text tbody tr:nth-child(odd) { background: #fcf7f2; }
.legal-text code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; background: #fff; padding: 2px 6px; border-radius: 6px; border: 1px solid #edd9cf; }

/* Bloques de navegación/actualización al pie */
.legal-text .legal-meta {
  display: flex; flex-wrap: wrap; gap: 12px 16px;
  border-top: 1px solid #e9d7cd; padding-top: 12px; margin-top: 24px;
}
.legal-text .legal-nav {
  display: flex; flex-wrap: wrap; gap: 10px 14px; margin: 12px 0 0;
}
.legal-text .legal-nav a {
  text-decoration: none;
  background: #541A11; color: #E6C99D;
  padding: 8px 12px; border-radius: 999px;
  font-size: 12px; letter-spacing: .2px;
}
.legal-text .legal-nav a:hover { opacity: .9; }

/* Acordeones opcionales (si decides colapsar apartados largos) */
.legal-text details {
  border: 1px solid #e9d7cd; border-radius: 10px;
  background: #fff; padding: 10px 12px; margin: 12px 0;
}
.legal-text summary {
  cursor: pointer; list-style: none; user-select: none;
  font-weight: 600; color: var(--legal-fg);
}
.legal-text summary::-webkit-details-marker { display: none; }

/* Bloques “definición” RGPD */
.legal-text .def {
  background: #fff;
  border-left: 4px solid var(--legal-accent);
  padding: 10px 12px; margin: 12px 0;
}

/* Microcopy */
.legal-text .muted { color: var(--legal-muted); }
.legal-text .center { text-align: center; }

/* Responsivo */
@media (max-width: 768px) {
  .legal-text { padding: 24px 12px 36px; font-size: 15px; }
  .legal-text h1 { font-size: 28px; }
  .legal-text h2 { font-size: 22px; }
  .legal-text h3 { font-size: 18px; }
  .legal-text .data-list li { grid-template-columns: 1fr; }
  .legal-text table { min-width: 560px; }
}

/* Modo “sección legal sobre fondo oscuro” (si alguna va en bloque .black) */
.black .legal-text,
.black .legal-text * { color: #ffffff; }
.black .legal-text a { color: #E6C99D; }
.black .legal-text thead th { background: #E6C99D; color: #541A11; }
.black .legal-text tbody tr:nth-child(odd) { background: rgba(255,255,255,0.06); }
.black .legal-text table { border-color: rgba(255,255,255,0.18); }
.black .legal-text hr { background: rgba(255,255,255,0.2); }

/* PRINT: ideal para descargar/guardar */
@media print {
  body { background: #fff !important; }
  .legal-text { color: #000; background: #fff; padding: 0; max-width: none; }
  .legal-text a { color: #000; text-decoration: underline; }
  .legal-text .legal-nav { display: none; }
  .legal-text table { border-color: #000; }
  .legal-text thead th { background: #000; color: #fff; }
}




@media (max-width: 1200px) {

}


@media (max-width: 992px) {

	.products-grid {    grid-template-columns: repeat(2, 1fr);}
	.info-grid {    grid-template-columns: repeat(2, 1fr);}
	.products-grid {gap: 60px;}
	.info-grid {gap: 60px;}
	header {min-height: 70px;}
	#logo-block {width: 140px;}
}


@media (max-width: 768px) {
	.threecolumns {flex-direction: column;}
	.threecolumns h3 {font-size: 18px;}
	.copyblock {text-align: center;}
}
@media (max-width: 600px) {
		.products-grid {  grid-template-columns: repeat(1, 1fr);gap: 50px;}
	.info-grid {grid-template-columns: repeat(1, 1fr);}
		.heroblock.herohome h1 {text-align: center;font-size: 35px;line-height: 40px;}
}

@media (max-width: 480px) {
	.products-grid {  grid-template-columns: repeat(1, 1fr);gap: 50px;}
	.heroblock h1 {text-align: center;font-size: 35px;line-height: 40px;}
	.heroblock.herohome h1 {text-align: center;font-size: 35px;line-height: 40px;}
	.heroblock p {    font-size: 16px;}
	.textblock {    padding: 25px 10px;}
	.textblock p {    font-size: 16px;}
	.bigp {font-size: 16px!important;}
	p.subtitle { font-size: 18px !important;}
	.titleproduct p {    font-size: 18px;}
	.titleproduct h3  {    font-size: 18px;}
	.time p { font-size: 18px;}
	.time {    padding: 5px 5px;}
	.titleproduct {    padding: 5px 5px;}
	.product-block {    padding: 0px 25px;}
	.info-grid {grid-template-columns: repeat(1, 1fr);}
	.logofooter {display: flex;flex-direction: column;justify-content: center;align-items: center;}
	ul.footer-list {    max-width: 300px;margin: 0 auto;}
	.footerright p {text-align: center;}
	.footerright {align-items: center;}
	.copyblock p {text-align: center;}
	.footerlegal {    flex-direction: column;justify-content: center;}
	.footerlegal a {text-align: center;}
	.doublebotton {flex-direction: column;}
	.tratamientos__list {gap: 0 4px;}
  .tratamientos__list a {font-size: 12px;}
	.modal-content p {    font-size: 13px;}
	.modal-content h3 {    font-size: 20px;}
		.modal-content h4 {    font-size: 18px;}
	ul.list-check {margin: 0px 10px;}

}