/*
Theme Name:  Luna Psicología
Description: Tema hijo de Luna Psicología.
Author: Rafa.dev
Template: st-psychology
Version: 2.0.0
Text Domain: st-psychology-child
*/
/* Based on Normalize.css v8.0.0, HTML5 Boilerplate v6.1.0, & Bootstrap Reboot v4.1.0 | Under MIT License */


/* =========================================================
   LUNA PSICOLOGÍA — BARRA SUPERIOR
   ========================================================= */


.top-info-bar {
    width: 100%;
    background-color: #D8C4E9;
    border-bottom: 1px solid rgba(70, 65, 60, 0.08);
    color: #4b4743;
    font-family: inherit;
    font-size: 12px;
    letter-spacing: 0.2px;
}

.top-info-bar .container {
    max-width: 1200px;
}

.top-info-content {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
}

/* Enlaces */

.top-info-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #4b4743;
    text-decoration: none;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.top-info-item:hover {
    color: #9a8878;
    text-decoration: none;
}

/* Iconos */

.top-info-item i {
    color: #9a8878;
    font-size: 12px;
    line-height: 1;
    transition: color 0.25s ease;
}

.top-info-item:hover i {
    color: #806d5c;
}

/* Instagram ligeramente más grande */

.top-info-item:last-child i {
    font-size: 14px;
}


/* =========================================================
   SEPARADORES SUTILES
   ========================================================= */

.top-info-item + .top-info-item {
    position: relative;
}

.top-info-item + .top-info-item::before {
    content: "";
    position: absolute;
    left: -16px;
    width: 1px;
    height: 13px;
    background: rgba(75, 71, 67, 0.15);
}


/* =========================================================
   HEADER PRINCIPAL
   ========================================================= */

/* Un pequeño ajuste para que la transición entre
   barra superior y header sea elegante */

.site-header .st-header-container {
    position: relative;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .top-info-bar {
        font-size: 10px;
    }

    .top-info-content {
        min-height: 35px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        padding: 0 8px;
    }

    .top-info-item {
        gap: 6px;
    }

    /* Ocultar separadores en móvil */

    .top-info-item + .top-info-item::before {
        display: none;
    }

    /* Ocultar email en móvil */

    

    .top-info-item:last-child i {
        font-size: 13px;
    }
}


/* =========================================================
   MÓVILES MUY PEQUEÑOS
   ========================================================= */

@media (max-width: 380px) {

    .top-info-content {
        gap: 12px;
    }

    .top-info-bar {
        font-size: 10px;
    }

    .top-info-item i {
        font-size: 11px;
    }
}


/* =========================================================
   ELIMINAR ESPACIO BLANCO SOBRE LA TOP BAR
   ========================================================= */

html,
body {
    margin-top: 0 !important;
}

.top-info-bar {
    margin-top: 0 !important;
    padding-top: 0;
}

.site-header {
    margin-top: 0 !important;
    padding-top: 0;
}


html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: #333333;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: .5rem;
	margin-bottom: 1rem;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
}

h1 {
	font-size: 2.5rem;
}

h2 {
	font-size: 2rem;
}

h3 {
	font-size: 1.75rem;
}

h4 {
	font-size: 1.5rem;
}

h5 {
	font-size: 1.25rem;
}

h6 {
	font-size: 1rem;
}

p {
	margin-top: 0;
	margin-bottom: .9rem;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
	white-space: pre-wrap;
}

.footer-copyright a {
	text-decoration: underline;
}

.st-psychology-single-wrap a {
	text-decoration: underline;
}
a {
	background-color: transparent;
	color: #C8922A;
	text-decoration: none;
}

a:hover,
a:active {
	color: #051128;
}

a:not([href]):not([tabindex]) {
	color: inherit;
	text-decoration: none;
}

a:not([href]):not([tabindex]):hover,
a:not([href]):not([tabindex]):focus {
	color: inherit;
	text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
	outline: 0;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline dotted;

}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;

}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

.custom-logo{
	max-width: 50%;
}

img {
	border-style: none;
	height: auto;
	max-width: 100%;
}

details {
	display: block;
}

summary {
	display: list-item;
}

figcaption {
	font-size: 16px;
	color: #333333;
	line-height: 1.4;
	font-style: italic;
	font-weight: 400;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.st-psychology-single-wrap a,.page-single a,.comment-content a,.woocommerce-product-details__short-description a, #tab-description a,.extra-home-content a {
	text-decoration: underline;
	color:#C8922A;
}

.st-psychology-single-wrap .form-submit input:hover{
	text-decoration: underline;
}

.st-psychology-single-wrap .form-submit input:focus{
	text-decoration: underline;
}

@media print {

	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		-webkit-box-shadow: none !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) ")";
	}

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre {
		white-space: pre-wrap !important;
	}

	pre,
	blockquote {
		page-break-inside: avoid;
		border: 1px solid #cccccc;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}

label {
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.5;
	margin: 0;

}

input[type="text"],
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
select,
textarea {
	width: 100%;
	border: solid 1px #666666;
	border-radius: 3px;
	padding: 0.5rem 1rem;
	transition: all .3s;
}

input[type="text"]:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
	border-color: #333333;
	outline: 1 solid;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	width: auto;
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

button,
[type="submit"],
[type="button"] {
	display: inline-block;
	font-weight: 400;
	color: #161921;
	text-align: center;
	white-space: nowrap;
	user-select: none;
	background-color: transparent;
	border: 1px solid #161921;
	padding: 0.5rem 1rem;
	font-size: 1rem;
	border-radius: 3px;
	transition: all .3s;
}

button:focus,
[type="submit"]:focus,
[type="button"]:focus {
	outline: 5px auto -webkit-focus-ring-color;
}

button:hover,
button:focus,
[type="submit"]:hover,
[type="submit"]:focus,
[type="button"]:hover,
[type="button"]:focus {
	color: #ffffff;
	background-color: #161921;
	text-decoration: none;
}

button:not(:disabled),
[type="submit"]:not(:disabled),
[type="button"]:not(:disabled) {
	cursor: pointer;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
	resize: vertical;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;

}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;

}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;

}

select {
	display: block;
}

table {
	background-color: transparent;
	width: 100%;
	margin-bottom: 15px;
	font-size: 0.9em;
	border-spacing: 0;
	border-collapse: collapse;
}

table th,
table td {
	padding: 15px;
	line-height: 1.5;
	vertical-align: top;
	border: 1px solid #cccccc;
}

table th {
	font-weight: bold;
}

table thead th,
table tfoot th {
	font-size: 1em;
}

table caption+thead tr:first-child th,
table caption+thead tr:first-child td,
table caption+thead tr:first-child th,
table caption+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
	border-top: 1px solid #cccccc;
}

table tbody>tr:nth-child(odd)>td,
table tbody>tr:nth-child(odd)>th {
	background-color: #f7f7f7;
}

table tbody tr:hover>td,
table tbody tr:hover>th {
	background-color: #e9e9e9;
}

table tbody+tbody {
	border-top: 2px solid #cccccc;
}

@media (max-width: 767px) {
	table table {
		font-size: 0.8em;
	}

	table table th,
	table table td {
		padding: 7px;
		line-height: 1.3;
	}

	table table th {
		font-weight: 400;
	}
}

dl,
dt,
dd,
ol,
ul,
li {
	margin-top: 0;
	margin-bottom: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* WordPress Default Class */
.alignright {
	float: right;
	margin-left: 1rem;
}

.alignleft {
	float: left;
	margin-right: 1rem;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignwide {
	margin-left: -80px;
	margin-right: -80px;
}

.alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.alignfull img {
	width: 100vw;
}

.wp-caption {
	margin-bottom: 1.25rem;
	max-width: 100%;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption-text {
	margin: 0;
}

.gallery-caption {
	display: block;
	font-size: 0.8125rem;
	line-height: 1.5;
	margin: 0;
	padding: 0.75rem;
}

.pagination {
	margin: 20px auto;
}

.sticky {
	position: relative;
	display: block;
}

.bypostauthor {
	font-size: inherit;
}

.hide {
	display: none !important;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: polygon(0 0, 0 0, 0 0, 0 0);
	position: absolute !important;
	white-space: nowrap;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	clip: auto !important;
	display: block;
	height: auto;
	left: 5px;
	top: 5px;
	width: auto;
	z-index: 100000;
}

#skip-link-target[tabindex="-1"]:focus {
	outline: 0;
}

/* Theme Styles Start */
#page .st-home-page {
	overflow: hidden;
}
#page-wrap .main-container {
	max-width: 1044px;
	margin: 0 auto;
	margin-top: 30px !important;
	overflow: hidden;
}

.single-post #page .main-container {
	max-width: 1044px;
	margin: 0 auto;
	margin-top: 0px;
	margin-top: 80px;
	margin-bottom: 80px;
}

.site-logo h1,
.site-description {
	margin: 0;
}

.st-psychology-post {
	margin-bottom: 50px;
}

.st-psychology-post img {
	max-width: 100%;
}

.st-psychology-post .post-title {
	margin: 0;
}

.st-psychology-post .post-categories {
	margin-bottom: 20px;
}

.st-psychology-post .post-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
	border-bottom: 1px solid #e8e8e8;
}

.st-psychology-post .read-more {
	display: inline-block;
	padding: 5px 15px;
	border: 1px solid #161921;
	text-transform: capitalize;
}

.st-psychology-post .post-tags a {
	display: inline-block;
	margin-right: 10px;
}

.commentslist {
	list-style-type: none;
	padding: 0;
}

.commentslist .children {
	list-style-type: none;
}

.commentslist li {
	padding: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
	border: 1px solid #e8e8e8;
}

.comment-author img {
	margin-right: 10px;
}

.commentslist .reply {
	display: inline-block;
	padding: 5px 15px;
	border: 1px solid #161921;
}

.comment-form-comment input,
.comment-form-comment textarea {
	border-color: #e8e8e8;
}

nav.navigation {
	text-align: center;
}

nav.navigation a,
nav.navigation span {
	padding: 5px 10px;
	border: 1px solid #e8e8e8;
}

.site-logo a,
.st-psychology-post .read-more a,
.st-psychology-post .post-title a {
	text-decoration: none;
}


/* Menu Styles Start */

.wp-block-button__link{
	color: #fff !important;
  background-color:#161921 ;
  margin-bottom: 5px;
}
.wp-block-button.is-style-outline .wp-block-button__link{
  border: 1px solid #161921;
  color: #121212 !important;
}
.wp-block-button.is-style-squared .wp-block-button__link{
  border-radius: 0px !important;
}

.post-title a, h1.post-title {
	word-wrap: break-word;
}

/* Loader Styles */
#st-psychology-loader-container {
    position: fixed;
    z-index: 999999;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: #14287B;
}

#st-psychology-loader-img {
    max-width: 180px;
    max-height: 180px;
    width: auto;
    height: auto;
    object-fit: contain;
    animation: st-loader-pulse 1.6s ease-in-out infinite;
}

@keyframes st-loader-pulse {
    0%   { transform: scale(1);    opacity: 1;    }
    50%  { transform: scale(1.15); opacity: 0.6;  }
    100% { transform: scale(1);    opacity: 1;    }
}

#st-psychology-custom-loader {
	width: 60px;
	aspect-ratio: 4;
	--_g: no-repeat radial-gradient(circle closest-side,#ffffff 90%,#0000);
	background: 
	  var(--_g) 0%   50%,
	  var(--_g) 50%  50%,
	  var(--_g) 100% 50%;
	background-size: calc(100%/3) 100%;
	animation: l7 1s infinite linear;
  }
  @keyframes l7 {
	  33%{background-size:calc(100%/3) 0%  ,calc(100%/3) 100%,calc(100%/3) 100%}
	  50%{background-size:calc(100%/3) 100%,calc(100%/3) 0%  ,calc(100%/3) 100%}
	  66%{background-size:calc(100%/3) 100%,calc(100%/3) 100%,calc(100%/3) 0%  }
  }

/* post card css start */
/* Define the animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Apply the animation to the card */

.st-psychology-post-card {
    opacity: 0; /* Initially hidden */
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.st-psychology-post-card.visible {
    opacity: 1;
    transform: translateY(0);
}

.card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-footer .btn {
    margin-left: auto;
}

.st-read-more-btn{
	background: #1E8A78;
	border: none;
	-webkit-text-fill-color: #fff !important;
	-webkit-background-clip: inherit !important;
}

.st-read-more-btn:hover{
	background: #C8922A;
	transform: scale(1.05);
}

.st-tags-btn{
	border-color: #161921;
	color: #161921;
}
.st-psychology-cat-badge{
	color: #fff;
	background: #1E8A78;
}
/* post card css end */
/* loader end */

/* hero form start*/
.hero-form input::placeholder {
    color: #757575;
}

.hero-form-f2f {
    display: flex;
    gap: 20px;
}

.hero-form .wpcf7-select{
    background: #fff;
    border: solid 1px #CCCCCC;
    border-radius: 2px;
}

.hero-form input{
    border: solid 1px #CCCCCC;
    border-radius: 2px;
}

.hero-form label{
    margin-top: 15px;
}

.hero-form label {
    font-family: Montserrat;
    font-size: 16px;
    font-weight: 700;
    line-height: 20.8px;
    text-align: left;
}

.hero-form textarea {
    height: 120px
}

.hero-form [type="submit"]{
    top: 16px;
    left: 1262px;
    padding: 9px 35.27px 9px 35.59px;
    gap: 0px;
    border-radius: 4px 0px 0px 0px;
    opacity: 0px;
    background: #1E8A78;
    color: #fff;
    
    border-radius: 10px;
    font-family: Montserrat;
    font-size: 18px;
    font-weight: 700;
    line-height: 21.94px;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;

}
/* hero form end*/

/* footer icon css */
.stfooter-details .elementor-icon-box-icon {
    align-self: center;
}

@media screen and (min-width : 320px) and (max-width : 767px) {

	.hero-form [type="submit"] {
        font-size: 15px;
        font-weight: 600;
    }
    
	.hero-form-f2f {
        flex-wrap: wrap;
        gap: 10px;
    }
    
	.hero-form-f2f span {
        width: 100%;
    }
    
	.hero-form label {
        font-size: 12px;
        font-weight: 600;
    }
    
	.hero-form input[type="text"] {
        padding: 10px;
        font-size: 12px;
    }
    
	.hero-form input[type="email"] {
        padding: 10px;
        font-size: 12px;
    }
    
	.hero-form input[type="tel"] {
        padding: 10px;
        font-size: 12px;
    }
    
	.hero-form select {
        padding: 10px;
        font-size: 12px;
    }
}

@media screen and (min-width : 768px) and (max-width : 1024px) {
	
	.hero-form label {
        font-size: 14px;
        font-weight: 600;
    }
    
	.hero-form input[type="text"] {
        padding: 7px;
        font-size: 12px;
    }
    
	.hero-form input[type="email"] {
        padding: 7px;
        font-size: 12px;
    }
    
	.hero-form input[type="tel"] {
        padding: 7px;
        font-size: 12px;
    }
    
	.hero-form select {
        padding: 7px;
        font-size: 12px;
    }
    
	.hero-form label {
        margin-top: 8px;
    }
}
 /* Navigation Start */

ul li a {
	text-decoration: none;
}
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

/* Menus Start */
#masthead {
    position: relative;
    width: 100%;
    z-index: 3000;
    background-color: #fff;
    padding: 15px 0;
    border-bottom: 2px solid rgb(34 34 34 / 10%);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.main-navigation {
    display: block;
    position: static;
}
.main-navigation ul ul {
    background-color: #fff;
    text-align: left;
    padding: 0;
}
.main-navigation ul ul li a {
    padding: 8px 15px;
    color: #111;
}
.main-navigation ul ul a:after {
    float: right;
}
.main-navigation ul {
    display: none;
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.main-navigation li {
    position: relative;
}

.main-navigation ul.nav-menu > li > a {
    padding: 15px 18px;
}
.main-navigation ul.nav-menu > li:hover > a,
.main-navigation ul.nav-menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:focus {
    color: #161921;
	text-decoration: underline;
}
.main-navigation form.search-form input {
    background-color: #111;
    border-color: #111;
    color: #111;
    font-weight: 400;
}
.main-navigation a {
    display: block;
    text-decoration: none;
    font-weight: bold;
    color: #111;
    font-size: 14px;
    font-weight: 400;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -ms-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
}
.main-navigation ul ul {
   float: left;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
}
.main-navigation ul ul ul {
    left: -999em;
    top: 0;
}
.main-navigation ul ul a {
    width: 225px;
}
.main-navigation ul.nav-menu .current-menu-item > a {
    color: #161921;
}
.main-navigation form.search-form {
    min-width: 320px;
}
.menu-toggle {
    border-radius: 0;
    font-size: 14px;
    margin: auto;
    outline: none;
    display: block;
    height: 60px;
    position: absolute;
    background-color: transparent;
    min-width: 64px;
    border: none;
    display: block;
    float: right;
    top: 20px;
    right: 0;
}
.menu-toggle:hover, 
.menu-toggle:focus {
    outline: thin dotted #fff;
    /* background-color: #ffaf29; */
	background: #161921;
    color: #fff;
}
.menu-toggle:hover i, 
.menu-toggle:focus i {
    color: #fff;
}
.menu-toggle i {
    color: #666;
}
.menu-toggle span {
    width: 35px;
    height: 2px;
    display: block;
    background-color: #ffb5ad;
    margin: 9px 0;
}
.menu-label {
    float: right;
    color: #111;
    padding: 7px 0 0 10px;
    display: none;
}
button.dropdown-toggle {
    padding: 0;
    position: absolute;
    top: 0;
    right: 0;
    background-color: transparent;
    border: none;
    width: 45px;
    height: 55px;
    line-height: 56px;
    outline: none;
    border-radius: 0;
}
button.dropdown-toggle:focus {
	outline: thin dotted #000;
}
button.dropdown-toggle .fa {
    color: #000;
    font-size: 18px;
    padding-left: 5px;
}
button.dropdown-toggle.active .fa:before {
    content: "\f106";
}

.post-wrapper .featured-image {
    margin-bottom: 0;
}
.post-wrapper .entry-footer {
    padding-bottom: 5px;
    display: inline-block;
}
.post-wrapper .entry-content {
    margin: 0;
    color: #565859;
}
.cat-links a {
    font-weight: 500;
    letter-spacing: 0.5px;
    display: inline-block;
    float: left;
    font-size: 14px;
    position: relative;
    text-transform: uppercase;
    line-height: normal;
    color: #313131;
    margin-right: 10px;
    -webkit-transition: color .3s ease,background-color .3s ease,border-color .3s ease;
    -ms-transition: color .3s ease,background-color .3s ease,border-color .3s ease;
    -o-transition: color .3s ease,background-color .3s ease,border-color .3s ease;
    transition: color .3s ease,background-color .3s ease,border-color .3s ease;
}
.cat-links a:hover,
.cat-links a:focus,
.entry-meta a:hover,
.entry-meta a:focus {
    color: #161921;
}
span.cat-links a:not(:last-child):after {
    content: "/";
    margin: 0 5px;
}
.wp-block-latest-posts.wp-block-latest-posts__list {
    list-style: disc;
    padding-left: 1.5em;
}
#secondary .widget:not(:last-child) {
    margin-bottom: 25px;
}
#secondary ul {
    padding: 30px 50px;
    margin: 0;
    background-color: #e9ecef;
}
#secondary .widget_block.widget_search {
    margin-bottom: 40px;
}
#secondary .widget_block input[type="search"] {
    background-color: #e9ecef;
    border-radius: 5px;
}
.widget input {
    height: 53px;
    padding: 0 15px;
    border: none;
}
#secondary .widget_block button[type="submit"] {
    color: #666;
    background-color: #e9ecef;
    border-color: #e9ecef;
}
#secondary .widget_block button[type="submit"]:hover,
#secondary .widget_block button[type="submit"]:focus {
    color: #fff;
    background-color: #161921;
    border-color: #161921;
}
#wp-custom-header {
    text-align: center;
}
.dropdown-toggle::after{
	display: none;
}
/* Sidebar Css Start */
.widget-recent-posts li {
	gap: 20px;
}
.widget-recent-posts, .widget-tags, .widget-categories {
	box-shadow: 0px 0px 12px -1px rgb(0 0 0 / 12%);
	border-radius: 10px;
	padding: 15px;
}
@media screen and (min-width: 1025px) {
	.main-navigation {
	    display: block;
	    position: relative;
	    float: right;
	    width: 58%;
	}
    .main-navigation .menu-item-has-children > a:after {
        content: "\f107";
        font-family: "FontAwesome";
        padding-left: 8px;
    }
    .main-navigation ul ul .menu-item-has-children > a:after {
        content: "\f105";
    }
    .main-navigation ul.nav-menu {
        display: block !important;
        height: auto !important;
        text-align: right;
    }
    .main-navigation ul.nav-menu > li > a {
	    color: #121418;
	}
    .main-navigation ul li:hover > ul,
    .main-navigation ul li.focus > ul {
        left: 0;
        right: auto;
    }
    .main-navigation ul ul li:hover > ul,
    .main-navigation ul ul li.focus > ul {
        left: 100%;
        right: auto;
    }
    .main-navigation ul ul li:hover > a,
    .main-navigation ul ul li.focus > a {
        background-color: #161921;
        color: #fff !important;
		text-decoration: underline;
    }
    .main-navigation ul.sub-menu > li:last-child > a {
        border-bottom: none;
    }
    .main-navigation ul ul li {
        border-bottom: 1px solid #eee;
    }
    .main-navigation ul ul > li:last-child {
        border-bottom: none;
    }
    .main-navigation ul ul ul {
        top: 0;
    }
    .menu-toggle {
        height: 80px;
        position: absolute;
        top: 50%;
        right: 35px;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        display: none;
    }
    .main-navigation .search-active .icon-search {
        display: none;
    }
    .main-navigation .search-active .icon-close {
        display: inline-block;
    }
    button.dropdown-toggle {
        display: none;
    }
    .menu-toggle {
        display: none;
    }
    .main-navigation ul {
        display: block;
    }
    .main-navigation li {
        display: inline-block;
    }
    .main-navigation form.search-form {
        border: 20px solid #111;
    }
    .site-branding {
	    float: left;
	}
	.main-navigation {
	    position: relative;
	}
    #primary {
	    width: 75%;
	    float: left;
	    padding-right: 30px;
	    margin-bottom: 0;
	}

	#secondary {
	    width: 25%;
	    float: left;
	    position: sticky;
	    top: 30px;
	}

	.right-sidebar #primary {
		float: left;
	    padding-right: 40px;
	}

	.right-sidebar #secondary {
		float: right;
	}

	.left-sidebar #primary {
		float: right;
	    padding-right: 0;
	    padding-left: 40px;
	}

	.left-sidebar #secondary {
		float: left;
	}
}

@media screen and (max-width: 1024px) {
	.main-navigation ul.nav-menu {
	    margin-right: 0;
	    border-top: 1px solid #666;
	    background-color: #f1f1f1;
	    margin-top: 0;
	    position: absolute;
	    top: 100%;
	    left: auto;
	    right: 0;
	    width: 100%;
	}
	.main-navigation ul.nav-menu li {
	    border-bottom: 1px solid #666;
	    display: block;
	    width: 100%;
	    padding: 0;
	}
	.main-navigation a {
	    color: #161921;
	}
	.main-navigation ul ul, 
	.main-navigation ul ul ul {
	    box-shadow: none;
	    float: none;
	    position: relative;
	    top: 0;
	    left: 0;
	    margin-bottom: 0;
	    display: none;
	    background-color: #f1f1f1;
	}
	.main-navigation ul ul {
	    border-top: 1px solid #666;
	}
	.main-navigation ul.nav-menu li {
	    border-bottom: 1px solid #666;
	    display: block;
	    width: 100%;
	}
	.main-navigation ul.sub-menu li a {
	    border-left: none;
	}
	.main-navigation ul ul li a {
	    padding-left: 35px;
	    color: #161921;
	}
	.main-navigation ul ul a {
	    width: 100%;
	}
}

/* =============================================================================
   ST Psychology – Footer Styles
   ============================================================================= */

/* ---- Footer outer wrapper ---- */
.footer-side {
	background-color: #121111;
	color: #cccccc;
	/* font-size: 0.9rem; */
	line-height: 1.7;
}

/* Bottom spacing on theme templates so footer has gap.
   Applied per-template (not on footer itself) so Elementor pages
   using full-width layouts don't get extra gap above footer. */
.main-container.page-single,
.st-psychology-single-wrap,
.st-psychology-index-wrap,
.page-404 {
	margin-bottom: 70px;
}

/* ---- Footer widget section ---- */
.footer-widget {
	padding: 60px 0 40px;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.08 );
}

/* ---- Individual footer column ---- */
.footer-area {
	margin-bottom: 30px;
}

/* ---- Widget title ---- */
.footer-area .widget-title,
.footer-area .title {
	color: #ffffff;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 20px;
	padding-bottom: 15px;
	position: relative;
}

.footer-area .widget-title::after,
.footer-area .title::after {
	content: '';
	display: block;
	width: 40px;
	height: 2px;
	background-color: #1E8A78;
	position: absolute;
	bottom: 0;
	left: 0;
}

/* ---- Widget links ---- */
.footer-area a {
	color: #cccccc;
	text-decoration: none;
	transition: color 0.25s ease;
}

.footer-area a:hover,
.footer-area a:focus {
	color: #1E8A78;
	text-decoration: underline;
}

/* ---- Widget list items ---- */
.footer-area ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-area ul li {
	padding: 4px 0;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.06 );
}

.footer-area ul li:last-child {
	border-bottom: none;
}

.footer-area ul li a::before {
	content: '\203A';
	margin-right: 6px;
	color: #1E8A78;
}

/* ---- Search widget inside footer ---- */
.footer-side .footer-widget form div {
	display: flex;
	gap: 6px;
}

.footer-area #searchform input[type="text"] {
	flex: 1;
	padding: 8px 12px;
	border: 1px solid rgba( 255, 255, 255, 0.15 );
	background-color: rgba( 255, 255, 255, 0.07 );
	color: #ffffff;
	border-radius: 4px;
	font-size: 0.875rem;
}

.footer-area #searchform .search-field::placeholder {
	color: #aaaaaa;
}

.footer-area #searchform input[type="submit"] {
	padding: 8px 16px;
	background-color: #1E8A78;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 0.875rem;
	transition: background-color 0.25s ease;
}

.footer-area #searchform input[type="submit"]:hover,
.footer-area #searchform input[type="submit"]:focus {
	background-color: #ffffff;
	color: #1E8A78;
}

/* ---- Text / paragraph widgets ---- */
.footer-area p {
	color: #bbbbbb;
	margin-bottom: 12px;
}

/* ---- Footer copyright bar ---- */
.footer-copyright {
	background-color: #1E8A78;
	padding: 14px 0;
}

.footer-copyright p {
	color: #ffffff;
	margin: 0;
}

.footer-copyright a {
	color: #ffffff;
	text-decoration: none;
	transition: color 0.25s ease;
}

.footer-copyright a:hover,
.footer-copyright a:focus {
	color: #ffffff;
	text-decoration: underline;
}

/* ---- Sticky copyright ---- */
.footer-copyright.sticky-copyright {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
}

.footer-copyright.close-sticky {
	position: relative;
}

/* ---- Footer social icons ---- */
.footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.footer-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: rgba( 255, 255, 255, 0.08 );
	color: #cccccc;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.footer-links a:hover,
.footer-links a:focus {
	background-color: #1E8A78;
	color: #ffffff;
}

/* ---- Progress bar ---- */
.theme-progress-bar {
	position: fixed;
	left: 0;
	width: 0%;
	height: 3px;
	background-color: #1E8A78;
	z-index: 9999;
	transition: width 0.1s linear;
}

.theme-progress-bar.top {
	top: 0;
}

.theme-progress-bar.bottom {
	bottom: 0;
}

/* ---- Custom cursor ---- */
.cursor-point-outline {
	width: 36px;
	height: 36px;
	border: 2px solid #1E8A78;
	border-radius: 50%;
	position: fixed;
	pointer-events: none;
	z-index: 99999;
	transform: translate( -50%, -50% );
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.cursor-point {
	width: 8px;
	height: 8px;
	background-color: #1E8A78;
	border-radius: 50%;
	position: fixed;
	pointer-events: none;
	z-index: 99999;
	transform: translate( -50%, -50% );
}

/* ---- Responsive: footer columns stack on small screens ---- */
@media ( max-width: 767px ) {
	.footer-widget {
		padding: 40px 0 20px;
	}

	.footer-area {
		margin-bottom: 24px;
	}

	.footer-copyright .col-lg-6 {
		text-align: center !important;
	}

	.footer-copyright .text-md-end {
		text-align: center !important;
		margin-top: 6px;
	}
}

/* =============================================================================
   ST Psychology – Containers Styles
   ============================================================================= */
@media (min-width: 1200px) {
	#page-wrap .st-header-container,
	.st-footer-container,
	.container.st-psychology-index-wrap,
	.container.st-psychology-single-wrap,
	.container.page-single {
		width: 1220px;
		max-width: 1220px;
	}
}

/* =============================================================================
   ST Psychology – Enhanced Dark Header
   ============================================================================= */

/* Header base */
#masthead {
    background-color: #ffffff;
    border-bottom: 3px solid #1E8A78;
    padding: 16px 0;
}

/* Site title */
.site-logo .site-title,
.site-logo h1.site-title {
    font-size: 1.45rem;
    margin: 0;
}

.site-logo .site-title a,
.site-logo h1.site-title a {
    color: #121111;
    font-weight: 700;
    letter-spacing: -0.2px;
    transition: color 0.2s ease;
}

.site-logo .site-title a:hover {
    color: #1E8A78;
    text-decoration: none;
}

/* Custom logo brightness on dark background 
.site-logo .custom-logo-link img {
    filter: brightness(0) invert(1);
}*/

/* Desktop nav links on dark background */
#masthead #site-navigation a {
    color: #121111;
}

#masthead #site-navigation ul.nav-menu > li > a {
    color: #121111;
    font-weight: 500;
    padding: 12px 16px;
}

#masthead #site-navigation ul.nav-menu > li:hover > a,
#masthead #site-navigation ul.nav-menu > li > a:hover,
#masthead #site-navigation ul.nav-menu > li > a:focus {
    color: #1E8A78;
    text-decoration: none;
}

#masthead #site-navigation ul.nav-menu .current-menu-item > a {
    color: #1E8A78;
}

/* Desktop dropdown sub-menus */
#masthead #site-navigation ul ul {
    background-color: #0a2260;
    border-top: 2px solid #1E8A78;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

#masthead #site-navigation ul ul li a {
    color: rgba(255, 255, 255, 0.85);
    padding: 10px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

#masthead #site-navigation ul ul li:hover > a,
#masthead #site-navigation ul ul li.focus > a {
    background-color: #1E8A78;
    color: #ffffff;
    text-decoration: none;
}

/* Mobile menu toggle button */
#masthead .menu-toggle {
    background: #1E8A78;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    color: #fff;
    width: auto;
    min-width: 44px;
    height: 40px;
    padding: 0 12px;
    position: static;
    transform: none;
    top: auto;
    right: auto;
    float: none;
    display: none;
    line-height: 1;
}

#masthead .menu-toggle i {
    color: #fff;
    transition: transform 0.25s ease;
    pointer-events: none;
}

#masthead .menu-toggle:hover,
#masthead .menu-toggle:focus {
    background: #1E8A78;
    border-color: #1E8A78;
    color: #fff;
    outline: 2px solid rgba(244, 103, 68, 0.4);
    outline-offset: 2px;
}

/* =============================================================================
   Mobile Menu Dropdown – Full-width, flexbox layout
   ============================================================================= */
@media screen and (max-width: 1024px) {

    /* Show the toggle button */
    #masthead .menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Nav is static so ul positions against #masthead (position: relative) */
    #masthead #site-navigation {
        position: static;
        float: none;
        width: auto;
    }

    /* Full-width dropdown flush with bottom edge of header */
    #masthead #site-navigation ul.nav-menu {
        position: absolute;
        top: calc(100% + 12px);
        left: 0;
        right: 0;
        width: 100%;
        margin: 0;
        padding: 0;
        background-color: #14287B;
        border-top: 3px solid #1E8A78;
        border-bottom: 3px solid #1E8A78;
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
        z-index: 99998;
    }

    /*
     * Menu items use flexbox so the link and the toggle button
     * sit on the same row, and the sub-menu wraps below them.
     * This removes the need for any hardcoded button height.
     */
    #masthead #site-navigation ul.nav-menu > li,
    #masthead #site-navigation ul.sub-menu > li,
    #masthead #site-navigation ul ul > li {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }

    #masthead #site-navigation ul.nav-menu > li:last-child,
    #masthead #site-navigation ul.sub-menu > li:last-child,
    #masthead #site-navigation ul ul > li:last-child {
        border-bottom: none;
    }

    /* Links fill remaining row width — no extra right-padding needed */
    #masthead #site-navigation ul.nav-menu > li > a {
        flex: 1;
        min-width: 0;
        display: block;
        padding: 14px 20px;
        color: rgba(255, 255, 255, 0.88);
        font-size: 0.95rem;
        font-weight: 500;
        border-left: 3px solid transparent;
        text-decoration: none;
        transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    }

    #masthead #site-navigation ul.nav-menu > li > a:hover,
    #masthead #site-navigation ul.nav-menu > li:hover > a,
    #masthead #site-navigation ul.nav-menu > li > a:focus {
        background: rgba(255, 255, 255, 0.06);
        border-left-color: #1E8A78;
        color: #ffffff;
        text-decoration: none;
    }

    /* Current / active item */
    #masthead #site-navigation ul.nav-menu > li.current-menu-item > a,
    #masthead #site-navigation ul.nav-menu > li.current-menu-ancestor > a {
        border-left-color: #1E8A78;
        color: #1E8A78;
    }

    /*
     * Sub-menu toggle button: a flex item in the same row as the link.
     * Height always equals the link row height via align-items: stretch
     * on the parent li — no hardcoded px value needed.
     */
    #masthead #site-navigation button.dropdown-toggle {
        position: static;
        height: auto;
        line-height: normal;
        flex-shrink: 0;
        width: 50px;
        background: rgba(255, 255, 255, 0.04);
        border: none;
        border-left: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 0;
        color: rgba(255, 255, 255, 0.6);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        cursor: pointer;
        transition: background 0.2s ease, color 0.2s ease;
    }

    #masthead #site-navigation button.dropdown-toggle:hover,
    #masthead #site-navigation button.dropdown-toggle:focus {
        background: #1E8A78;
        color: #fff;
        outline: none;
    }

    #masthead #site-navigation button.dropdown-toggle .fa {
        color: inherit;
        font-size: 14px;
        transition: transform 0.25s ease;
        pointer-events: none;
    }

    #masthead #site-navigation button.dropdown-toggle.active .fa {
        transform: rotate(180deg);
    }

    /*
     * Sub-menus: flex-basis 100% wraps them onto their own row below
     * the link + button. display: none is explicit so jQuery's slideToggle
     * always starts from a known hidden state on first page load.
     */
    #masthead #site-navigation ul.sub-menu,
    #masthead #site-navigation ul ul {
        display: none;
        flex-basis: 100%;
        position: static;
        float: none;
        box-shadow: none;
        width: 100%;
        background: rgba(0, 0, 0, 0.25);
        border-top: 1px solid rgba(255, 255, 255, 0.06);
        border-left: none;
        border-radius: 0;
    }

    /* Sub-level link style */
    #masthead #site-navigation ul.sub-menu > li > a,
    #masthead #site-navigation ul ul > li > a {
        flex: 1;
        min-width: 0;
        display: block;
        padding: 12px 20px 12px 36px;
        color: rgba(255, 255, 255, 0.72);
        font-size: 0.875rem;
        border-left: 3px solid transparent;
        transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    }

    #masthead #site-navigation ul.sub-menu > li > a:hover,
    #masthead #site-navigation ul ul > li > a:hover,
    #masthead #site-navigation ul.sub-menu > li > a:focus,
    #masthead #site-navigation ul ul > li > a:focus {
        background: rgba(255, 255, 255, 0.05);
        border-left-color: #1E8A78;
        color: #fff;
        text-decoration: none;
    }
}
@media (max-width: 767px) {
	 /* Full-width dropdown flush with bottom edge of header */
    #masthead #site-navigation ul.nav-menu {
		top: calc(100% + 0px);
		width: 100vw;
		left: 0;
}
/* Nav column flex layout */
.st-nav-col {
    position: static;
    gap: 0;
}
} /* end @media (max-width: 767px) */

/* --- Header Search --- */
.st-header-search-wrap {
    position: relative;
    margin-left: 14px;
    flex-shrink: 0;
}

#masthead .st-header-search-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #1E8A78;
    border: none;
    color: #ffffff;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 0.83rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
    white-space: nowrap;
    line-height: 1;
}

#masthead .st-header-search-toggle:hover,
#masthead .st-header-search-toggle:focus {
    background: #C8922A;
    color: #ffffff;
    transform: scale(1.03);
    outline: 2px solid rgba(244, 103, 68, 0.4);
    outline-offset: 2px;
}

.st-search-label {
    display: none;
}

@media screen and (min-width: 1025px) {
    .st-search-label {
        display: inline;
    }
}

/* Search dropdown box */
.st-header-search-box {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    background: #ffffff;
    padding: 16px;
    border-radius: 10px;
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.2);
    min-width: 290px;
    z-index: 99999;
    border-top: 3px solid #1E8A78;
}

.st-header-search-box::before {
    content: '';
    position: absolute;
    top: -9px;
    right: 18px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 6px solid #1E8A78;
}

.st-header-search-box #searchform div {
    display: flex;
    gap: 8px;
    align-items: center;
}

.st-header-search-box input[type="text"] {
    flex: 1;
    width: auto;
    border: 1px solid #dde1ea;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 0.875rem;
    color: #333;
    background: #f8f9fc;
}

.st-header-search-box input[type="text"]:focus {
    border-color: #C8922A;
    background: #fff;
    outline: none;
}

.st-header-search-box input[type="submit"] {
    background: #1E8A78;
    border: none;
    color: #ffffff;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.st-header-search-box input[type="submit"]:hover {
    background: #C8922A;
    color: #fff;
}

/* Mobile search box positioning */
@media screen and (max-width: 767px) {
    .st-header-search-box {
        right: -10px;
        min-width: 260px;
    }

    #masthead .st-header-search-toggle {
        padding: 7px 10px;
    }
}

/* =============================================================================
   ST Psychology – Enhanced Blog Index & Visual Polish
   ============================================================================= */

/* --- Page background (color set via custom-background default in functions.php) --- */
#skip-link-target {
    min-height: 60vh;
}

.container.st-psychology-index-wrap {
    padding-top: 10px;
    padding-bottom: 60px;
}

/* --- Blog section header --- */
.st-blog-section-header {
    margin-bottom: 35px;
}

.st-blog-section-header h2 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #161921;
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.st-section-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.st-section-divider::before {
    content: '';
    display: block;
    width: 44px;
    height: 3px;
    background-color: #1E8A78;
    border-radius: 2px;
    flex-shrink: 0;
}

.st-section-divider::after {
    content: '';
    display: block;
    flex: 1;
    height: 1px;
    background-color: #e2e6ed;
}

/* --- Post Cards: shadow, radius, hover lift --- */
/* Scoped to .col-md-6 parent to beat Bootstrap's .card border without !important */
.col-md-6 .st-psychology-post-card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.07);
    overflow: hidden;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out, box-shadow 0.3s ease;
    background: #fff;
}

.col-md-6 .st-psychology-post-card.visible:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.13);
}

/* Featured image – consistent height */
.st-psychology-post-card .card-img-top {
    height: 188px;
    object-fit: cover;
    width: 100%;
}

/* Image placeholder when no thumbnail */
.st-post-img-placeholder {
    height: 188px;
    background: linear-gradient(135deg, #eef2ff 0%, #dce8fd 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C8922A;
    font-size: 2.8rem;
    opacity: 0.35;
}

/* Category label above the title */
.st-card-category-label {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #1E8A78;
    margin-bottom: 5px;
}

/* Card body */
.st-psychology-post-card .card-body {
    padding: 1.1rem 1.15rem 0.65rem;
}

/* Card title */
.st-psychology-post-card .card-title {
    font-size: 0.975rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 0.45rem;
}

.st-psychology-post-card .card-title a {
    color: #161921;
    transition: color 0.2s ease;
}

.st-psychology-post-card .card-title a:hover {
    color: #1E8A78;
    text-decoration: none;
}

/* Card excerpt */
.st-psychology-post-card .card-text {
    font-size: 0.845rem;
    color: #666;
    line-height: 1.65;
    margin-bottom: 0;
}

/* Card footer — two-class chain beats Bootstrap's single .card-footer */
.st-psychology-post-card .card-footer {
    background-color: #fafbfc;
    border-top: 1px solid #f0f0f0;
    padding: 0.7rem 1.15rem;
}

.st-psychology-post-card .card-footer .text-muted {
    font-size: 0.775rem;
    color: #999;
}

/* Read More – pill shape; a + two classes beats Bootstrap's btn specificity */
a.btn.st-read-more-btn {
    border-radius: 20px;
    font-size: 0.78rem;
    padding: 4px 15px;
    letter-spacing: 0.2px;
}

/* --- Sidebar widgets ---
   .sidebar-area prefix adds class specificity to override theme defaults cleanly */
.sidebar-area .widget-categories,
.sidebar-area .widget-recent-posts,
.sidebar-area .widget-tags {
    border-radius: 12px;
    overflow: hidden;
}

.sidebar-area .widget-categories .widget-title,
.sidebar-area .widget-recent-posts .widget-title,
.sidebar-area .widget-tags .widget-title {
    font-size: 0.825rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #161921;
    padding-bottom: 10px;
    margin-bottom: 14px;
    border-bottom: 2px solid #1E8A78;
    position: relative;
}

/* Category list items
   Three-class chain beats Bootstrap .list-group-item (one class) */
.sidebar-area .widget-categories ul.list-group .list-group-item {
    border: none;
    border-radius: 8px;
    margin-bottom: 5px;
    padding: 8px 12px;
    background-color: #f8f9fc;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.sidebar-area .widget-categories ul.list-group .list-group-item:hover {
    background-color: #eef2ff;
    transform: translateX(4px);
}

.sidebar-area .widget-categories ul.list-group .list-group-item a {
    font-size: 0.875rem;
    color: #333;
    font-weight: 500;
    text-decoration: none;
}

.sidebar-area .widget-categories ul.list-group .list-group-item a:hover {
    color: #C8922A;
}

/* Recent posts */
.sidebar-area .widget-recent-posts li.media {
    padding: 9px 0;
    border-bottom: 1px solid #f0f0f0;
    align-items: flex-start;
    gap: 10px;
}

.sidebar-area .widget-recent-posts li.media:last-child {
    border-bottom: none;
}

/* img: element + two-class chain beats any single-class rule */
.sidebar-area .widget-recent-posts .media img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.sidebar-area .widget-recent-posts .media-body h5 {
    font-size: 0.825rem;
    line-height: 1.4;
    margin: 0;
}

.sidebar-area .widget-recent-posts .media-body h5 a {
    color: #333;
    transition: color 0.2s ease;
    text-decoration: none;
}

.sidebar-area .widget-recent-posts .media-body h5 a:hover {
    color: #1E8A78;
}

/* Tags — a + two classes beats Bootstrap .btn (one class) */
.sidebar-area .widget-tags a.btn.st-tags-btn {
    border-radius: 20px;
    font-size: 0.75rem;
    padding: 3px 12px;
}

/* Sidebar spacing */
.sidebar-area {
    padding-left: 20px;
}

.site-header .top-info-bar {
    background: #D8C4E9 !important;
    background-color: #D8C4E9 !important;
	
}

/* =========================================================
   BOTÓN RESERVAR CITA
   ========================================================= */

.st-header-booking-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    background-color: #D8C4E9;
    color: #ffffff !important;

    padding: 10px 18px;
    border-radius: 7px;

    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none !important;

    transition: all 0.25s ease;
}

.st-header-booking-button i {
    font-size: 13px;
    color: #ffffff;
}

.st-header-booking-button:hover {
    background-color: #11766a;
    color: #ffffff !important;
    transform: translateY(-1px);
    text-decoration: none !important;
}

.st-header-booking-button:hover i {
    color: #ffffff;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .st-header-booking-button {
        padding: 9px 13px;
        font-size: 11px;
    }

    .st-header-booking-button i {
        font-size: 12px;
    }
}

/* =========================================================
   HEADER MÓVIL — RESERVAR CITA + MENÚ
   ========================================================= */

@media (max-width: 767px) {

    /* La columna del header ocupa todo el ancho disponible */
    .st-nav-col {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 10px;
    }

    /* Botón reservar */
    .st-header-booking-button {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;

        padding: 9px 12px;
        min-height: 36px;

        font-size: 10px;
        letter-spacing: 0.3px;
        white-space: nowrap;

        border-radius: 6px;
    }

    .st-header-booking-button i {
        font-size: 11px;
    }

    /* Menú hamburguesa */
    .main-navigation .menu-toggle {
        margin-left: 0 !important;
    }

    /* Evitar que el botón se deforme */
    .main-navigation {
        flex-shrink: 0;
    }
}

/* =========================================
   CABECERA EN MÓVIL
   Logo izquierda + reservar + menú derecha
   ========================================= */

@media (max-width: 767px) {

    /* El logo ocupa todo el espacio disponible */
    .st-header-container .row.align-items-center {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
    }

    .st-header-container .site-logo {
        flex: 1 1 auto;
        width: auto !important;
        max-width: none !important;
    }

    /* Zona derecha */
    .st-header-container .st-nav-col {
        flex: 0 0 auto;
        width: auto !important;
        max-width: none !important;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
    }

    /* Reservar cita primero */
    .st-header-booking-button {
        order: 1;
        white-space: nowrap;
    }

    /* Menú hamburguesa después */
    .main-navigation {
        order: 2;
        display: flex;
        align-items: center;
    }

    /* Botón hamburguesa */
    .main-navigation .menu-toggle {
        margin: 0;
    }

}

@media (max-width: 400px) {

    .st-header-booking-button span {
        display: none;
    }

    .st-header-booking-button {
        padding: 10px 12px;
        min-width: auto;
    }

}

.site-footer-custom {
    background: #f4f1ec;
    padding: 60px 20px 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    align-items: start;
}

.footer-column h4 {
    margin-bottom: 18px;
    font-size: 16px;
    letter-spacing: 1px;
}

.footer-logo img {
    max-width: 180px;
    height: auto;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a,
.footer-instagram {
    text-decoration: none;
    color: #222;
    transition: opacity 0.3s ease;
}

.footer-links a:hover,
.footer-instagram:hover {
    opacity: 0.6;
}

.footer-instagram {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.footer-instagram i {
    font-size: 22px;
}

.footer-column p {
    line-height: 1.7;
}

.footer-bottom {
    margin-top: 50px;
    padding-top: 20px;
    border-top: 1px solid rgba(0,0,0,0.15);
    text-align: center;
    font-size: 13px;
}

/* TABLET */
@media (max-width: 900px) {

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

/* MÓVIL */
@media (max-width: 600px) {

    .site-footer-custom {
        padding: 40px 20px 20px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-column {
        text-align: center;
    }

    .footer-instagram {
        justify-content: center;
    }

    .footer-logo img {
        max-width: 160px;
    }

}

/* =========================================
   AJUSTES FOOTER
   ========================================= */

.site-footer-custom {
    padding: 55px 20px 20px !important;
}

/* Columnas */
.footer-grid {
    grid-template-columns: 1.1fr 1fr 1fr 1fr;
    gap: 60px;
}

/* POLÍTICAS: enlaces uno debajo de otro */
.footer-links {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-links li {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
}

.footer-links li a {
    display: block !important;
    width: 100%;
    white-space: normal;
}

/* Evita que el footer tenga altura excesiva */
.footer-column {
    min-height: 0 !important;
}

/* Parte inferior */
.footer-bottom {
    margin-top: 45px;
}

.footer-logo img {
    width: 220px;
    max-width: 100%;
    height: auto;
}

.footer-links a {
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    transition: color 0.25s ease;
}

.footer-links a:hover {
    background: none !important;
    color: #269889 !important;
    opacity: 1;
}

/* =========================================
   FOOTER - MÓVIL
   ========================================= */

@media screen and (max-width: 767px) {

    .site-footer-custom {
        width: 100% !important;
        max-width: 100% !important;
        padding: 40px 20px 20px !important;
        overflow: hidden;
    }

    .site-footer-custom .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Una sola columna */
    .site-footer-custom .footer-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        gap: 32px !important;
    }

    /* Cada bloque ocupa todo el ancho */
    .site-footer-custom .footer-column {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        margin: 0 !important;
    }

    /* Logo */
    .site-footer-custom .footer-logo img {
        width: 190px !important;
        max-width: 80% !important;
        height: auto;
    }

    /* Títulos */
    .site-footer-custom .footer-column h4 {
        text-align: center !important;
        margin-bottom: 15px !important;
    }

    /* Políticas */
    .site-footer-custom .footer-links {
        width: 100% !important;
        text-align: center !important;
    }

    .site-footer-custom .footer-links li {
        width: 100% !important;
        text-align: center !important;
        margin-bottom: 8px !important;
    }

    .site-footer-custom .footer-links a {
        display: inline-block !important;
        width: auto !important;
    }

    /* Horarios */
    .site-footer-custom .footer-column p {
        text-align: center !important;
    }

    /* Instagram */
    .site-footer-custom .footer-instagram {
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        white-space: nowrap;
    }

    /* Copyright */
    .site-footer-custom .footer-bottom {
        width: 100% !important;
        margin-top: 35px !important;
        padding-top: 20px !important;
        text-align: center !important;
    }
}

@media screen and (max-width: 767px) {

    .site-footer-custom .footer-grid {
        gap: 24px !important;
    }

    .site-footer-custom .footer-column {
        margin-bottom: 10px !important;
    }

    .site-footer-custom {
        padding-bottom: 35px !important;
    }

}

/* =========================================
   INICIO - SECCIÓN SOBRE MÍ
   ========================================= */

.home-about {
    padding: 70px 20px;
    background: #fff;
}

.home-about .container {
    max-width: 1180px;
    margin: 0 auto;
}

.home-about-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.4fr;
    align-items: center;
    gap: 0;
}

/* FOTO */
.home-about-image {
    position: relative;
    z-index: 2;
}

.home-about-image img {
    display: block;
    width: 100%;
    max-width: 420px;
    height: 520px;
    object-fit: cover;
    object-position: center 20%;
}

/* BLOQUE TEXTO */
.home-about-content {
    background: #f7f3f1;
    padding: 60px 70px 55px;
    margin-left: -25px;
    font-size: 18px;
    line-height: 1.7;
    color: #333;
}

.home-about-content p {
    margin: 0 0 28px;
}

.home-highlight {
    color: #9b6cae;
    font-weight: 600;
}

/* ADORNO */
.home-about-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 30px 0;
}

.home-about-divider span:not(.home-about-star) {
    width: 85px;
    height: 1px;
    background: #d8c39a;
}

.home-about-star {
    color: #d8c39a;
    font-size: 18px;
}

/* BOTÓN */
.home-about-button {
    display: table;
    margin: 0 auto;
    padding: 12px 28px;
    background: #d8b7e4;
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .4px;
    text-decoration: none !important;
    border-radius: 20px;
    transition: all .25s ease;
}

.home-about-button:hover {
    background: #9b6cae;
    color: #fff !important;
    transform: translateY(-2px);
}

@media screen and (max-width: 767px) {

    .home-about {
        padding: 40px 20px;
    }

    .home-about-grid {
        grid-template-columns: 1fr;
    }

    .home-about-image {
        text-align: center;
    }

    .home-about-image img {
        width: 100%;
        max-width: 340px;
        height: 430px;
        margin: 0 auto;
        object-position: center 20%;
    }

    .home-about-content {
        margin-left: 0;
        margin-top: 0;
        padding: 35px 25px;
        font-size: 16px;
        line-height: 1.7;
        text-align: left;
    }

    .home-about-divider {
        margin: 25px 0;
    }

    .home-about-divider span:not(.home-about-star) {
        width: 65px;
    }

    .home-about-button {
        font-size: 11px;
        padding: 11px 22px;
    }
}

.home-about {
    padding: 55px 20px 70px;
}

.home-about-grid {
    grid-template-columns: 0.95fr 1.55fr;
    align-items: center;
    gap: 0;
}

.home-about-content {
    margin-left: -10px;
    padding: 55px 65px 50px;
}

.home-about .container {
    max-width: 1100px;
    margin: 0 auto;
}

.home-about-divider {
    margin: 24px 0 22px;
}


/* =========================================
   INICIO - SOBRE MÍ
   ========================================= */

.home-about {
    background: #f7f3f1;
    padding: 60px 20px;
}

.home-about .container {
    max-width: 1150px;
    margin: 0 auto;
}

/* Composición general */
.home-about-grid {
    display: grid;
    grid-template-columns: 42% 58%;
    align-items: center;
    gap: 0;
}

/* FOTO */
.home-about-image {
    position: relative;
    z-index: 2;
}

.home-about-image img {
    display: block;
    width: 100%;
    max-width: 430px;
    height: 520px;
    object-fit: cover;
    object-position: center 20%;
}

/* TEXTO */
.home-about-content {
    position: relative;
    z-index: 1;

    /* Hace que el bloque entre ligeramente detrás de la foto */
    margin-left: -35px;

    padding: 55px 65px 50px 80px;

    /* Un tono ligeramente distinto al fondo */
    background: #fbf8f6;

    font-size: 18px;
    line-height: 1.7;
    color: #333;
}

.home-about-content p {
    margin: 0 0 26px;
}

/* PALABRAS DESTACADAS */
.home-highlight {
    color: #9b6cae;
    font-weight: 600;
}

/* SEPARADOR */
.home-about-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 24px 0 22px;
}

.home-about-divider span:not(.home-about-star) {
    width: 85px;
    height: 1px;
    background: #d8c39a;
}

.home-about-star {
    color: #d8c39a;
    font-size: 18px;
}

/* BOTÓN */
.home-about-button {
    display: table;
    margin: 0 auto;

    padding: 12px 28px;

    background: #d8b7e4;
    color: #fff !important;

    border-radius: 22px;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: .4px;

    text-decoration: none !important;

    transition: all .25s ease;
}

.home-about-button:hover {
    background: #9b6cae;
    color: #fff !important;
    transform: translateY(-2px);
}

@media screen and (max-width: 767px) {

    .home-about {
        padding: 35px 20px;
    }

    .home-about-grid {
        grid-template-columns: 1fr;
    }

    .home-about-image {
        text-align: center;
        z-index: 2;
    }

    .home-about-image img {
        width: 100%;
        max-width: 340px;
        height: 430px;
        margin: 0 auto;
        object-fit: cover;
        object-position: center 20%;
    }

    .home-about-content {
        margin: -15px 0 0 0;

        padding: 40px 25px 30px;

        font-size: 16px;
        line-height: 1.7;

        text-align: center;
    }

    .home-about-divider {
        margin: 22px 0;
    }

    .home-about-divider span:not(.home-about-star) {
        width: 60px;
    }
}

/* HERO INICIO */

.home-hero {
    width: 100%;
    height: 620px;
    background-image: url("https://lunapsicologia.com/wp-content/uploads/2026/09/1.-Hero-image-Inicio.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {

    .home-hero {
        height: auto;
        aspect-ratio: 16 / 9;

        /*background-size: contain;*/
        background-position: center;
        background-repeat: no-repeat;
    }

}

@media screen and (max-width: 767px) {

    /* Quitar huecos alrededor del hero */
    .home-hero {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* La sección siguiente empieza pegada */
    .home-about {
        margin-top: 0 !important;
        padding-top: 35px !important;
    }

    /* Evitar huecos del contenido principal */
    #content,
    .site-content,
    .content-area,
    main.site-main {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

}

.home-quote {
    min-height: 520px;
    background-image: url("URL-FOTO-PLAYA");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
}

.home-quote-overlay {
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    
}

.home-quote-content {
    max-width: 850px;
    text-align: center;
    color: #fff;
}

.home-quote-content blockquote {
    margin: 0;
    font-size: 34px;
    line-height: 1.5;
    font-weight: 400;
}

.home-quote-content p {
    margin-top: 22px;
    font-size: 18px;
    font-weight: 600;
}

@media screen and (max-width: 767px) {

    .home-quote {
        min-height: 420px;
        background-attachment: scroll;
    }

    .home-quote-overlay {
        min-height: 420px;
    }

    .home-quote-content blockquote {
        font-size: 24px;
    }
}

.home-services {
    padding: 80px 20px;
    background: #fff;
}

.home-services .container {
    max-width: 1100px;
    margin: 0 auto;
}

.home-services-heading {
    text-align: center;
    margin-bottom: 60px;
}

.home-services-heading h2 {
    font-size: 34px;
    letter-spacing: 2px;
    margin: 0;
}

.service-row {
    display: grid;
    grid-template-columns: 180px 1fr;
    align-items: center;
    gap: 55px;

    padding: 45px 0;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.service-row-reverse {
    grid-template-columns: 1fr 180px;
}

.service-row-reverse .service-icon {
    order: 2;
}

.service-row-reverse .service-content {
    order: 1;
}

.service-icon {
    width: 170px;
    height: 170px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;
}

.service-icon img {
    display: block;
    width: 100%;
    max-width: 145px;
    max-height: 145px;
    height: auto;
    object-fit: contain;
}

.service-content h3 {
    margin: 0 0 18px;
    font-size: 25px;
    color: #2b2b2b;
}

.service-content p {
    margin: 0 0 24px;
    font-size: 17px;
    line-height: 1.75;
}

.service-button {
    display: inline-block;

    padding: 11px 24px;

    background: #d8b7e4;
    color: #fff !important;

    border-radius: 22px;

    font-size: 12px;
    font-weight: 600;

    text-decoration: none !important;
    transition: .25s ease;
}

.service-button:hover {
    background: #9b6cae;
    transform: translateY(-2px);
}

@media screen and (max-width: 767px) {

    .home-services {
        padding: 55px 20px;
    }

    .home-services-heading {
        margin-bottom: 35px;
    }

    .service-row,
    .service-row-reverse {
        grid-template-columns: 1fr;
        gap: 25px;
        text-align: center;
        padding: 40px 0;
    }

    .service-row-reverse .service-icon,
    .service-row-reverse .service-content {
        order: initial;
    }

    .service-icon {
        width: 125px;
        height: 125px;
    }

    .service-icon img {
        max-width: 110px;
        max-height: 110px;
    }

    .service-content h3 {
        font-size: 22px;
    }

    .service-content p {
        font-size: 16px;
    }
}

.animate-left,
.animate-right {
    opacity: 0;
    transition:
        opacity .7s ease,
        transform .7s ease;
}

.animate-left {
    transform: translateX(-60px);
}

.animate-right {
    transform: translateX(60px);
}

.animate-left.is-visible,
.animate-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* =========================================
   FRASE TANIA
   ========================================= */

.home-quote {
    min-height: 200px !important;

      position: relative;
    height: 390px;
    overflow: hidden;

    --quote-y: 50%;

    background-size: cover;
    background-repeat: no-repeat;
    background-position: center var(--quote-y);
}

.home-quote-overlay {
    min-height: 480px;

    display: flex;
    align-items: center;

    padding: 60px 7%;

    /* Filtro lila */
    
}

.home-quote-content {
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;
    color: #fff;
}

/* FRASE */
.home-quote-content blockquote {
    max-width: 1000px;
    margin: 0;

    color: #fff;

    font-size: 31px;
    line-height: 1.45;
    font-style: italic;
    font-weight: 400;
}

/* FIRMA */
.home-quote-author {
    margin-top:22px;

    width: fit-content;

    font-size: 34px !important;
    line-height: 1.2;

    font-weight: 700 !important;
    font-style: italic;

    color: #fff;
}

@media screen and (max-width: 767px) {

    .home-quote {
        height: 420px;
    }

    .home-quote blockquote {
        font-size: 24px;
        line-height: 1.5;
    }

    .home-quote-author {
        margin-top: 18px;
        font-size: 20px;
    }

    .home-quote-overlay {
        min-height: 380px;
        padding: 45px 25px;
    }

    
}

/* =========================================
   SOBRE MÍ - MI HISTORIA
   DISEÑO MODERNO
   ========================================= */

.about-story {
    padding: 90px 20px;
    background: #f6f1ee;
}

.about-story .container {
    max-width: 1180px;
    margin: 0 auto;
}

/* Tarjeta principal */
.about-story-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 55px;
    align-items: center;

    background: #ffffff;
    padding: 55px;

    border-radius: 28px;
    box-shadow: 0 18px 50px rgba(0,0,0,0.06);
}

/* Texto */
.about-story-content {
    position: relative;
}

/* Pequeño rótulo */
.about-story-content::before {
    content: "MI HISTORIA";
    display: inline-block;

    margin-bottom: 18px;
    padding: 7px 14px;

    background: #eadcf0;
    color: #8e659f;

    border-radius: 20px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

/* Título */
.about-story-content h2 {
    margin: 0 0 30px;

    font-size: 38px;
    line-height: 1.15;
    font-weight: 600;

    color: #272727;
}

/* Texto */
.about-story-content p {
    margin: 0 0 20px;

    font-size: 17px;
    line-height: 1.8;

    color: #3e3e3e;
}

/* Frase destacada */
.about-story-highlight {
    position: relative;

    margin: 30px 0 !important;
    padding: 24px 28px 24px 32px;

    background: #f5edf7;
    border-left: 4px solid #b88bc8;

    border-radius: 0 16px 16px 0;

    color: #8e659f !important;
    font-size: 18px !important;
    font-weight: 600;
    font-style: italic;
    line-height: 1.65 !important;
}

/* FOTO */
.about-story-image {
    position: relative;
}

/* Pequeño fondo decorativo */
.about-story-image::before {
    content: "";
    position: absolute;

    width: 85%;
    height: 85%;

    right: -22px;
    bottom: -22px;

    background: #e8d8ee;
    border-radius: 24px;

    z-index: 0;
}

.about-story-image img {
    position: relative;
    z-index: 1;

    display: block;
    width: 100%;
    height: 590px;

    object-fit: cover;
    object-position: center;

    border-radius: 24px;
}

@media screen and (max-width: 767px) {

    .about-story {
        padding: 50px 16px;
    }

    .about-story-grid {
        grid-template-columns: 1fr;
        gap: 35px;

        padding: 28px 22px;

        border-radius: 22px;
    }

    .about-story-content h2 {
        font-size: 29px;
    }

    .about-story-content p {
        font-size: 16px;
        line-height: 1.75;
    }

    .about-story-highlight {
        padding: 20px 22px;
        font-size: 16px !important;
    }

    .about-story-image {
        order: -1;
    }

    .about-story-image img {
        height: 430px;
        border-radius: 20px;
    }

    .about-story-image::before {
        right: -10px;
        bottom: -10px;
    }
}

/* =========================================
   DETALLES VISUALES - SOBRE MÍ
   ========================================= */

/* Título con parte destacada */
.about-story-content h2 {
    position: relative;
    padding-bottom: 18px;
}

/* Línea decorativa */
.about-story-content h2::after {
    content: "";
    display: block;
    width: 70px;
    height: 2px;
    margin-top: 16px;
    background: #d8c39a;
}

/* Primera parte del título en lila */
.about-story-content h2 .highlight-title {
    color: #9b6cae;
}

.about-story-image img {
    transition: transform .4s ease, box-shadow .4s ease;
}

.about-story-image:hover img {
    transform: translateY(-4px);
    box-shadow: 0 18px 35px rgba(0,0,0,.10);
}

/* =========================================
   SOBRE MÍ - FRASE LUNA
   ========================================= */

.about-luna-quote {
    position: relative;
    height: 390px;
    overflow: hidden;

    --about-quote-y: 50%;

    background-image: url("https://lunapsicologia.com/wp-content/uploads/2026/09/4.-Foto-Playa-Tania-y-Luna.jpeg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center var(--about-quote-y);
}

/* Filtro lila */
.about-luna-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;

    background: rgba(122, 82, 139, .38);
}
.about-luna-content {
    width: min(1100px, 86%);
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.about-luna-content blockquote {
    margin: 0;

    color: #fff;
    font-size: 31px;
    line-height: 1.45;
    font-style: italic;
    font-weight: 400;
}

.about-luna-author {
    margin: 22px 0 0;

    color: #fff;
    font-size: 22px;
    font-weight: 600;
    font-style: italic;

    text-align: right;
}
.about-luna-mark {
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {

    .about-luna-quote {
        height: 420px;
    }

    .about-luna-quote blockquote {
        font-size: 24px;
        line-height: 1.5;
    }

    .about-luna-author {
        margin-top: 18px;
        font-size: 20px;
    }
}

/* =========================================
   SOBRE MÍ - FORMACIÓN Y ENFOQUE
   ========================================= */

.about-training {
    padding: 90px 20px;
    background: #f7f3f1;
}

.about-training .container {
    max-width: 1180px;
    margin: 0 auto;
}

/* CABECERA */
.about-training-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.about-training-kicker {
    display: inline-block;
    margin-bottom: 14px;
    padding: 7px 15px;

    background: #eadcf0;
    color: #8e659f;

    border-radius: 20px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.about-training-heading h2 {
    margin: 0 0 18px;

    font-size: 38px;
    line-height: 1.2;

    color: #2d2d2d;
}

.about-training-heading p {
    margin: 0;

    font-size: 17px;
    line-height: 1.7;

    color: #555;
}

/* TARJETAS */
.about-training-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 28px;

    margin-bottom: 55px;
}

.about-training-card {
    background: #fff;

    padding: 34px 28px;

    border-radius: 22px;

    box-shadow: 0 14px 40px rgba(0,0,0,.05);

    text-align: center;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.about-training-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 45px rgba(0,0,0,.08);
}

.about-training-icon {
    width: 58px;
    height: 58px;

    margin: 0 auto 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f1e7f4;

    color: #9b6cae;

    font-size: 26px;
}

.about-training-card h3 {
    margin: 0 0 15px;

    font-size: 21px;

    color: #2d2d2d;
}

.about-training-card p {
    margin: 0;

    font-size: 15px;
    line-height: 1.7;

    color: #555;
}

/* BLOQUE TEXTO */
.about-training-text {
    max-width: 900px;

    margin: 0 auto;

    background: #fff;

    padding: 40px 45px;

    border-radius: 22px;

    border-left: 4px solid #c49ad3;
}

.about-training-text p {
    margin: 0 0 20px;

    font-size: 16px;
    line-height: 1.8;

    color: #3f3f3f;
}

.about-training-text p:last-child {
    margin-bottom: 0;
}


@media screen and (max-width: 767px) {

    .about-training {
        padding: 55px 18px;
    }

    .about-training-heading {
        margin-bottom: 35px;
    }

    .about-training-heading h2 {
        font-size: 29px;
    }

    .about-training-heading p {
        font-size: 16px;
    }

    .about-training-cards {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 35px;
    }

    .about-training-card {
        padding: 28px 22px;
    }

    .about-training-text {
        padding: 28px 22px;
        border-radius: 18px;
    }

    .about-training-text p {
        font-size: 16px;
    }
}

/* AJUSTES FINALES - FORMACIÓN */

.about-training-heading {
    margin-bottom: 42px;
}

.about-training-card h3 {
    color: #8e659f;
    font-weight: 600;
}

.about-training-text {
    max-width: 820px;
    padding: 38px 42px;
    box-shadow: 0 10px 30px rgba(0,0,0,.035);
}
/* Contenido */
.about-luna-content {
    width: 100%;
    max-width: 1050px;

    color: #fff;
}

/* Estrellita */
.about-luna-mark {
    margin-bottom: 18px;

    color: #ead7a5;
    font-size: 28px;
}

/* Frase */
.about-luna-content blockquote {
    margin: 0;

    font-size: 36px;
    line-height: 1.45;
    font-weight: 400;
    font-style: italic;

    color: #fff;

    text-shadow: 0 2px 12px rgba(0,0,0,.12);
}

/* Firma */
.about-luna-author {
    width: fit-content;

    margin: 35px 5% 0 auto !important;

    font-size: 28px !important;
    font-weight: 700 !important;
    font-style: italic;

    color: #fff;
}

/* MÓVIL */
@media screen and (max-width: 767px) {

    .about-luna-quote {
        min-height: 430px;

        /* Aquí podremos ajustar el encuadre
           dependiendo de dónde estén Tania y Luna */
        background-position: center 35%;
    }

    .about-luna-overlay {
        min-height: 430px;
        padding: 50px 25px;
    }

    .about-luna-mark {
        font-size: 22px;
    }

    .about-luna-content blockquote {
        font-size: 24px;
        line-height: 1.45;
    }

    .about-luna-author {
        margin: 28px 5px 0 auto !important;
        font-size: 23px !important;
    }
}

/* =========================================
   SOBRE MÍ - CÓMO PUEDO ACOMPAÑARTE
   ========================================= */

.about-support {
    padding: 90px 20px;
    background: #ffffff;
}

.about-support .container {
    max-width: 1180px;
    margin: 0 auto;
}

.about-support-box {
    background: #f7f3f1;
    padding: 60px;
    border-radius: 28px;
}

.about-support-heading {
    text-align: center;
    margin-bottom: 50px;
}

.about-support-kicker {
    display: inline-block;
    margin-bottom: 14px;
    padding: 7px 15px;

    background: #eadcf0;
    color: #8e659f;

    border-radius: 20px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.about-support-heading h2 {
    margin: 0;
    font-size: 38px;
    line-height: 1.2;
    color: #2d2d2d;
}

.about-support-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.9fr 0.72fr;
    gap: 28px;
    align-items: stretch;
}

.about-support-text p {
    margin: 0 0 22px;
    font-size: 17px;
    line-height: 1.8;
    color: #3f3f3f;
}

.about-support-options {
    display: grid;
    gap: 22px;
}

.about-support-option {
    background: #fff;
    padding: 28px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

.about-support-icon {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 16px;

    border-radius: 50%;

    background: #f1e7f4;
    color: #9b6cae;

    font-size: 24px;
}

.about-support-option h3 {
    margin: 0 0 12px;
    font-size: 20px;
    color: #8e659f;
}

.about-support-option p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #555;
}

.about-support-cta {
    margin-top: 50px;
    padding-top: 35px;

    border-top: 1px solid rgba(0,0,0,.08);

    text-align: center;
}

.about-support-cta p {
    margin: 0 0 20px;
    font-size: 18px;
    font-style: italic;
    color: #555;
}

.about-support-button {
    display: inline-block;

    padding: 13px 30px;

    background: #d8b7e4;
    color: #fff !important;

    border-radius: 24px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: .4px;

    text-decoration: none !important;

    transition: all .25s ease;
}

.about-support-button:hover {
    background: #9b6cae;
    transform: translateY(-2px);
}

@media screen and (max-width: 767px) {

    .about-support {
        padding: 55px 16px;
    }

    .about-support-box {
        padding: 35px 22px;
        border-radius: 22px;
    }

    .about-support-heading {
        margin-bottom: 35px;
    }

    .about-support-heading h2 {
        font-size: 29px;
    }

    .about-support-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
	
	.about-support-image {
        min-height: 0;
        height: 430px;
    }

    .about-support-image img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .about-support-text p {
        font-size: 16px;
    }

    .about-support-option {
        padding: 24px 20px;
    }

    .about-support-cta {
        margin-top: 35px;
        padding-top: 28px;
    }

    .about-support-cta p {
        font-size: 16px;
    }
}

/* =========================================
   AJUSTES FINALES - ACOMPAÑAMIENTO
   ========================================= */

.about-support-option {
    transition: transform .3s ease, box-shadow .3s ease;
}

.about-support-option:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 35px rgba(0,0,0,.07);
}

/* CTA final un poco más protagonista */
.about-support-button {
    padding: 14px 34px;
    font-size: 13px;
}

/* Un poco menos de espacio antes del cierre */
.about-support-cta {
    margin-top: 40px;
}

/* =========================================
   HERO PÁGINAS INTERIORES
   ========================================= */

.page-hero {
    height: 330px;

    background-image: url("https://lunapsicologia.com/wp-content/uploads/2026/09/ChatGPT-Image-7-sept-2026-12_33_23.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.page-hero-overlay {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,0.10);
}

.page-hero-content {
    text-align: center;
}

.page-hero-content h1 {
    margin: 0;

    font-size: 48px;
    line-height: 1.1;

    font-weight: 500;
    letter-spacing: 2px;

    color: #2b2b2b;
}

/* Detalle decorativo */
.page-hero-decoration {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;
    margin-top: 20px;
}

.page-hero-decoration span {
    display: block;

    width: 65px;
    height: 1px;

    background: #c9aa72;
}

.page-hero-decoration i {
    color: #c9aa72;
    font-size: 14px;
    font-style: normal;
}

.page-hero-content h1 {
    margin: 0;

    font-size: 46px;
    line-height: 1.15;

    font-weight: 400;
    letter-spacing: 5px;

    color: #29252b;

    text-transform: uppercase;
}

/* "MÍ" destacado */
.page-hero-content h1 span {
    color: #9b6cae;
    font-style: italic;
    font-weight: 500;
}

.page-hero-decoration {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;
    margin-top: 18px;
}

.page-hero-decoration span {
    width: 48px;
    height: 1px;

    background: #c9aa72;
}

.page-hero-decoration i {
    color: #c9aa72;
    font-size: 12px;
}

.page-hero-kicker {
    display: block;

    margin-bottom: 12px;

    color: #8e659f;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;

    text-transform: uppercase;
}

.about-support-image {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    min-height: 380px;
}

.about-support-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    border-radius: 22px;

    transition: transform .4s ease;
}

.about-support-image:hover img {
    transform: scale(1.025);
}

@media screen and (max-width: 768px) {

    @media screen and (max-width: 768px) {

    #primary-menu .menu-item-has-children {
        position: relative;
    }

    .menu-menu-principal-container #primary-menu .dropdown-toggle {
        position: absolute !important;
        right: 18px !important;
        top: 14px !important;

        width: 28px !important;
        height: 28px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        padding: 0 !important;
        margin: 0 !important;

        background: transparent !important;
        border: none !important;
        box-shadow: none !important;

        color: #9b6cae !important;

        transform: none !important;
    }

    .menu-menu-principal-container #primary-menu .dropdown-toggle i {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;

        color: #9b6cae !important;
        font-size: 14px !important;
        line-height: 1 !important;

        transition: transform .25s ease !important;
    }

    .menu-menu-principal-container #primary-menu .dropdown-toggle.active i {
        transform: rotate(180deg) !important;
    }
}
}

@media screen and (max-width: 768px) {

    /* FONDO GENERAL */
    .menu-menu-principal-container,
    .menu-menu-principal-container #primary-menu,
    .menu-menu-principal-container #primary-menu.nav-menu {
        background: #f7f3f1 !important;
    }

    /* FILAS DEL MENÚ */
    .menu-menu-principal-container #primary-menu > li {
        background: #f7f3f1 !important;
        border-bottom: 1px solid rgba(155, 108, 174, 0.16) !important;
    }

    /* ENLACES PRINCIPALES */
    .menu-menu-principal-container #primary-menu > li > a {
        background: #f7f3f1 !important;
        color: #302a32 !important;
        font-weight: 600 !important;
    }

    /* HOVER */
    .menu-menu-principal-container #primary-menu > li > a:hover {
        background: #efe5f2 !important;
        color: #9b6cae !important;
    }

    /* PÁGINA ACTUAL */
    .menu-menu-principal-container #primary-menu > li.current-menu-item > a,
    .menu-menu-principal-container #primary-menu > li.current_page_item > a {
        background: #efe5f2 !important;
        color: #8e659f !important;
    }

    /* SERVICIOS */
    .menu-menu-principal-container #primary-menu > li.menu-item-has-children {
        background: #f7f3f1 !important;
    }

    /* FLECHA DE SERVICIOS */
    .menu-menu-principal-container #primary-menu .dropdown-toggle {
        background: transparent !important;
        color: #9b6cae !important;
        border: none !important;
        box-shadow: none !important;
    }

    .menu-menu-principal-container #primary-menu .dropdown-toggle i {
        color: #9b6cae !important;
    }

    /* SUBMENÚ */
    .menu-menu-principal-container #primary-menu .sub-menu {
        background: #efe5f2 !important;
    }

    .menu-menu-principal-container #primary-menu .sub-menu li,
    .menu-menu-principal-container #primary-menu .sub-menu li a {
        background: #efe5f2 !important;
        color: #302a32 !important;
    }

    /* HOVER DEL SUBMENÚ */
    .menu-menu-principal-container #primary-menu .sub-menu li a:hover {
        background: #e6d7eb !important;
        color: #8e659f !important;
    }
}

/* =========================================
   SUBMENÚ SERVICIOS - ESCRITORIO
   ========================================= */

@media screen and (min-width: 769px) {

    /* Caja del desplegable */
    .menu-menu-principal-container #primary-menu .sub-menu {
        background: #f7f3f1 !important;
        border: 1px solid rgba(155, 108, 174, 0.15) !important;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08) !important;
    }

    /* Filas */
    .menu-menu-principal-container #primary-menu .sub-menu li {
        background: #f7f3f1 !important;
        border-bottom: 1px solid rgba(155, 108, 174, 0.14) !important;
    }

    .menu-menu-principal-container #primary-menu .sub-menu li:last-child {
        border-bottom: none !important;
    }

    /* Enlaces */
    .menu-menu-principal-container #primary-menu .sub-menu li a {
        background: #f7f3f1 !important;
        color: #302a32 !important;

        padding: 14px 20px !important;

        font-size: 13px !important;
        font-weight: 500 !important;

        transition:
            background .25s ease,
            color .25s ease !important;
    }

    /* Hover */
    .menu-menu-principal-container #primary-menu .sub-menu li a:hover {
        background: #efe5f2 !important;
        color: #8e659f !important;
    }
}

/* =========================================
   BOTÓN HAMBURGUESA - MÓVIL
   ========================================= */

@media screen and (max-width: 768px) {

    /* Botón */
    .menu-toggle {
        width: 42px !important;
        height: 42px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;

        background: #efe5f2 !important;
        border: 1px solid rgba(155, 108, 174, 0.20) !important;
        border-radius: 10px !important;

        box-shadow: none !important;
    }

    /* Líneas de la hamburguesa */
    .menu-toggle span {
        display: block !important;

        width: 20px !important;
        height: 2px !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #8e659f !important;
        border: 0 !important;
        border-radius: 2px !important;
    }

    /* Al tocar / pasar */
    .menu-toggle:hover,
    .menu-toggle:focus {
        background: #e6d7eb !important;
        border-color: rgba(155, 108, 174, 0.35) !important;
        outline: none !important;
    }
}


@media screen and (max-width: 768px) {

    /* Cerrado: flecha hacia abajo */
    .menu-menu-principal-container #primary-menu
    .dropdown-toggle i::before {
        content: "\f107" !important;
    }

    /* Abierto: flecha hacia arriba */
    .menu-menu-principal-container #primary-menu
    .dropdown-toggle.active i::before {
        content: "\f106" !important;
    }

}

.home-hero {
	height: 520px;
    /*background-size: 100% auto;
background-position: center center;
background-repeat: no-repeat;*/
/*background-color: #f3eafa;*/
	
	background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
	
}

/*----*/

.services-modern {
  padding: 100px 20px;
  background: #f7f3f1;
}

.services-modern .container {
  max-width: 1120px;
  margin: 0 auto;
}


/* CABECERA */

.services-modern-heading {
  max-width: 720px;
  margin: 0 auto 65px;
  text-align: center;
}

.services-modern-kicker {
  display: inline-block;
  margin-bottom: 14px;

  color: #9b6cae;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

.services-modern-heading h2 {
  margin: 0 0 18px;

  font-size: 44px;
  line-height: 1.15;
  font-weight: 400;

  color: #2d2830;
}

.services-modern-heading h2 span {
  color: #9b6cae;
  font-style: italic;
}

.services-modern-heading p {
  margin: 0;

  font-size: 15px;
  line-height: 1.8;
  color: #625a64;
}


/* LISTA */

.services-modern-list {
  display: flex;
  flex-direction: column;
  gap: 28px;
}


/* CARD */

.service-modern-card {
  position: relative;

  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 45px;
  align-items: center;

  padding: 42px 48px;

  background: #ffffff;
  border-radius: 26px;

  box-shadow: 0 12px 35px rgba(66, 48, 72, .06);

  overflow: hidden;

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.service-modern-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(66, 48, 72, .09);
}


/* TOQUE DECORATIVO */

.service-modern-card::before {
     content: "";
    position: absolute;

    width: 140px;
    height: 140px;

    border-radius: 50%;
    background: #f3eaf6;

    left: -55px;
    right: auto;
    top: -55px;

    opacity: .8;
}

.service-modern-card.reverse::before {
  left: auto !important;
right: -55px !important;
}


/* ICONO */

.service-modern-icon {
  position: relative;
  z-index: 2;

  width: 110px;
  height: 110px;

  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #f6eff8;
  border-radius: 24px;
}

.service-modern-icon img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}


/* CONTENIDO */

.service-modern-content {
  position: relative;
  z-index: 2;
}

.service-modern-number {
  display: inline-block;
  margin-bottom: 8px;

  color: #c7a6d3;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
}

.service-modern-content h3 {
  margin: 0 0 14px;

  font-size: 27px;
  line-height: 1.2;
  font-weight: 500;

  color: #8e659f;
}

.service-modern-content p {
  margin: 0 0 22px;

  max-width: 760px;

  font-size: 15px;
  line-height: 1.8;

  color: #4d464f;
}


/* ENLACE */

.service-modern-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: #8e659f;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: .8px;

  text-decoration: none;

  transition: gap .25s ease, color .25s ease;
}

.service-modern-link span {
  font-size: 17px;
  line-height: 1;
}

.service-modern-link:hover {
  gap: 13px;
  color: #6f4d7e;
}


/* ALTERNADO */

.service-modern-card.reverse {
  grid-template-columns: 1fr 170px;
}

.service-modern-card.reverse .service-modern-icon {
  order: 2;
}

.service-modern-card.reverse .service-modern-content {
  order: 1;
}

@media screen and (max-width: 768px) {

  .services-modern {
    padding: 70px 18px;
  }

  .services-modern-heading {
    margin-bottom: 40px;
  }

  .services-modern-heading h2 {
    font-size: 33px;
  }

  .services-modern-heading p {
    font-size: 14px;
  }

  .service-modern-card,
  .service-modern-card.reverse {
    grid-template-columns: 1fr;

    gap: 24px;

    padding: 32px 24px;

    text-align: center;
  }

  .service-modern-card.reverse .service-modern-icon,
  .service-modern-card.reverse .service-modern-content {
    order: initial;
  }

  .service-modern-icon {
    width: 92px;
    height: 92px;
  }

  .service-modern-icon img {
    width: 48px;
    height: 48px;
  }

  .service-modern-content h3 {
    font-size: 23px;
  }

  .service-modern-content p {
    font-size: 14px;
    line-height: 1.7;
  }

  .service-modern-link {
    justify-content: center;
  }
}

/* ANIMACIÓN DE ENTRADA */

.reveal-left,
.reveal-right {
    opacity: 0;
    transition:
        opacity .7s ease,
        transform .7s ease;
}

.reveal-left {
    transform: translateX(-45px);
}

.reveal-right {
    transform: translateX(45px);
}

.reveal-left.is-visible,
.reveal-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

@media screen and (max-width: 768px) {

    .reveal-left {
        transform: translateX(-25px);
    }

    .reveal-right {
        transform: translateX(25px);
    }

    .reveal-left.is-visible,
    .reveal-right.is-visible {
        transform: translateX(0);
    }
}

.service-modern-icon {
    width: 110px;
    height: 110px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f6eff8;
    border-radius: 24px;
}

.service-modern-icon img {
    width: 200px !important;
    height: 200px !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: contain;
    display: block;

    background: transparent !important;
}

@media screen and (max-width: 768px) {

    .home-hero {
        height: 260px !important;
        min-height: 0 !important;

        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }

}

.site-footer-custom{
	background: #eee3f1 !important;
	/*border-top: 1px solid rgba(190, 157, 94, 0.45);*/
}

.site-footer-custom h3,
.site-footer-custom h4 {
    color: #8e659f !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.5px;
}

.site-footer-custom a {
    color: #3d3740;
    transition: color .2s ease;
}

.site-footer-custom a:hover {
    color: #9b6cae;
}

.site-footer-custom .footer-bottom {
    border-top: 1px solid rgba(155, 108, 174, 0.20);
}

/* Quitar espacio superior antes de la top bar */
.top-info-bar {
    margin: 0 !important;
    padding-top: 0 !important;
    position: relative;
    top: 0 !important;
}

/* Evitar margen del primer elemento de la página */
body > .top-info-bar,
#page > .top-info-bar,
#page-wrap > .top-info-bar {
    margin-top: 0 !important;
}

/* WordPress / tema */
.site,
.site-header,
header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.top-info-bar a,.top-info-bar a::before,.top-info-bar a i{
	color:white;
}

.top-info-bar{
	background-color: #9b6cae !important;
}


/* CENTRAR MENÚ + RESERVAR CITA EN ESCRITORIO */
@media screen and (min-width: 769px) {

    .main-navigation {
        transform: translateY(4px);
    }
}

@media screen and (min-width: 769px) {

    .st-header-booking-button {
        display: flex !important;
        align-items: center !important;
        transform: translateY(4px);
    }
}

@media screen and (max-width: 768px) {

    /* Bajar botones derechos del header en móvil */
    .header-actions,
    .header-button,
    .menu-toggle {
        transform: translateY(6px) !important;
    }
	
	.st-header-booking-button{
		transform: translateY(7px) !important;
	}
	
}


@media screen and (max-width: 768px) {

   


/* Abierto */
.menu-menu-principal-container .menu.nav-menu {
    transform: translateY(16px) !important;
}

}

.page-hero-da {
    height: 330px;
    background-image: url(https://lunapsicologia.com/wp-content/uploads/2026/09/danimal.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.pet-grief-intro {
    padding: 95px 20px;
    background: #f7f3f1;
}

.pet-grief-intro .container {
    max-width: 1100px;
    margin: 0 auto;
}

.pet-grief-intro-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 70px;
    align-items: center;
}

.section-kicker {
    display: inline-block;
    margin-bottom: 15px;

    color: #9b6cae;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2.4px;
}

.pet-grief-intro-content h2 {
    margin: 0 0 25px;

    font-size: 40px;
    line-height: 1.2;
    font-weight: 400;

    color: #2e2930;
}

.pet-grief-intro-content h2 span {
    color: #9b6cae;
    font-style: italic;
}

.pet-grief-intro-content p {
    margin: 0 0 18px;

    font-size: 15px;
    line-height: 1.85;

    color: #4b454d;
}

.pet-grief-intro-highlight {
    position: relative;

    padding: 50px 42px;

    background: #efe5f2;
    border-radius: 26px;

    text-align: center;
}

.pet-grief-symbol {
    display: block;
    margin-bottom: 20px;

    color: #c7a66d;
    font-size: 22px;
}

.pet-grief-highlight-title {
    margin: 0;

    font-size: 27px;
    line-height: 1.45;
    font-style: italic;
    font-weight: 500;

    color: #6f4f7d;
}

.pet-grief-line {
    display: block;

    width: 55px;
    height: 1px;

    margin: 25px auto;

    background: #c7a66d;
}

.pet-grief-highlight-text {
    margin: 0 0 16px;

    font-size: 15px;
    line-height: 1.8;
    font-style: normal;

    color: #4b454d;
}

.pet-grief-highlight-text:last-child {
    margin-bottom: 0;
}



@media screen and (max-width: 768px) {

    .pet-grief-intro {
        padding: 65px 20px;
    }

    .pet-grief-intro-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .pet-grief-intro-content h2 {
        font-size: 32px;
    }

    .pet-grief-intro-highlight {
        padding: 38px 26px;
    }

    .pet-grief-intro-highlight p {
        font-size: 23px;
    }
	  .pet-grief-highlight-title {
        font-size: 23px;
    }

    .pet-grief-highlight-text {
        font-size: 14px;
        line-height: 1.75;
    }
}

.pet-grief-process {
    padding: 100px 20px;
    background: #fff;
}

.pet-grief-process .container {
    max-width: 1100px;
    margin: 0 auto;
}

.pet-grief-process-heading {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.pet-grief-process-heading h2 {
    margin: 0 0 20px;

    font-size: 40px;
    line-height: 1.2;
    font-weight: 400;

    color: #2e2930;
}

.pet-grief-process-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.pet-grief-process-heading p {
    margin: 0;

    font-size: 15px;
    line-height: 1.85;

    color: #5a535c;
}

.pet-grief-process-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.pet-grief-process-card {
    position: relative;

    padding: 34px 32px;

    background: #f7f3f1;
    border-radius: 24px;

    box-shadow: 0 10px 30px rgba(70, 52, 76, .05);

    overflow: hidden;
}

.pet-grief-process-card::before {
    content: "";

    position: absolute;
    width: 100px;
    height: 100px;

    top: -42px;
    right: -42px;

    border-radius: 50%;

    background: #efe5f2;
}

.pet-grief-process-number {
    position: relative;
    z-index: 2;

    display: inline-block;
    margin-bottom: 12px;

    color: #c3a66f;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
}

.pet-grief-process-card h3 {
    position: relative;
    z-index: 2;

    margin: 0 0 14px;

    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;

    color: #8e659f;
}

.pet-grief-process-card p {
    position: relative;
    z-index: 2;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #4d464f;
}

.pet-grief-process-card-wide {
    grid-column: 1 / -1;
}

.pet-grief-process-bottom {
    max-width: 760px;

    margin: 42px auto 0;
    padding: 28px 34px;

    background: #efe5f2;
    border-radius: 20px;

    text-align: center;
}

.pet-grief-process-bottom span {
    display: block;

    margin-bottom: 10px;

    color: #c3a66f;
    font-size: 16px;
}

.pet-grief-process-bottom p {
    margin: 0;

    font-size: 17px;
    line-height: 1.7;
    font-style: italic;

    color: #6f4f7d;
}

@media screen and (max-width: 768px) {

    .pet-grief-process {
        padding: 70px 18px;
    }

    .pet-grief-process-heading {
        margin-bottom: 38px;
    }

    .pet-grief-process-heading h2 {
        font-size: 32px;
    }

    .pet-grief-process-heading p {
        font-size: 14px;
    }

    .pet-grief-process-grid {
        grid-template-columns: 1fr;
    }

    .pet-grief-process-card-wide {
        grid-column: auto;
    }

    .pet-grief-process-card {
        padding: 28px 24px;
    }

    .pet-grief-process-card h3 {
        font-size: 20px;
    }

    .pet-grief-process-card p {
        font-size: 14px;
        line-height: 1.75;
    }

    .pet-grief-process-bottom {
        margin-top: 30px;
        padding: 25px 22px;
    }

    .pet-grief-process-bottom p {
        font-size: 16px;
    }
}

.pet-grief-commitment {
    padding: 100px 20px;
    background: #f7f3f1;
}

.pet-grief-commitment .container {
    max-width: 1000px;
    margin: 0 auto;
}

.pet-grief-commitment-box {
    position: relative;
    padding: 60px 70px;
    background: #fff;
    border-radius: 28px;
    box-shadow: 0 12px 35px rgba(66, 48, 72, .06);
    overflow: hidden;
}

/* Círculo decorativo */
.pet-grief-commitment-box::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    top: -90px;
    right: -70px;
    border-radius: 50%;
    background: #efe5f2;
}

.pet-grief-commitment-heading {
    position: relative;
    z-index: 2;
    max-width: 650px;
    margin: 0 auto 38px;
    text-align: center;
}

.pet-grief-commitment-heading h2 {
    margin: 0;
    font-size: 38px;
    line-height: 1.25;
    font-weight: 400;
    color: #2f2a31;
}

.pet-grief-commitment-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.pet-grief-commitment-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
    margin: 0 auto;
}

.pet-grief-commitment-content > p {
    margin: 0 0 22px;
    font-size: 15px;
    line-height: 1.85;
    color: #4d464f;
}

/* Frase protagonista */
.pet-grief-main-quote {
    margin: 38px 0;
    padding: 35px 30px;
    background: #efe5f2;
    border-radius: 22px;
    text-align: center;
}

.pet-grief-main-quote > span {
    display: block;
    margin-bottom: 13px;
    color: #c9aa72;
    font-size: 15px;
}

.pet-grief-main-quote blockquote {
    margin: 0;
    font-size: 27px;
    line-height: 1.45;
    font-weight: 400;
    font-style: italic;
    color: #6f4f7d;
}

.pet-grief-main-quote blockquote strong {
    font-weight: 600;
}

/* Última frase */
.pet-grief-commitment-content .pet-grief-closing {
    margin: 32px 0 0;
    padding-top: 25px;
    border-top: 1px solid rgba(201, 170, 114, .45);
    text-align: center;
    font-size: 17px;
    color: #6f4f7d;
}

.pet-grief-closing strong {
    font-weight: 600;
}

/* Móvil */
@media screen and (max-width: 768px) {

    .pet-grief-commitment {
        padding: 70px 18px;
    }

    .pet-grief-commitment-box {
        padding: 42px 24px;
        border-radius: 24px;
    }

    .pet-grief-commitment-heading {
        margin-bottom: 30px;
    }

    .pet-grief-commitment-heading h2 {
        font-size: 31px;
    }

    .pet-grief-commitment-content > p {
        font-size: 14px;
        line-height: 1.8;
    }

    .pet-grief-main-quote {
        margin: 30px 0;
        padding: 30px 20px;
    }

    .pet-grief-main-quote blockquote {
        font-size: 23px;
    }

    .pet-grief-commitment-content .pet-grief-closing {
        font-size: 16px;
        line-height: 1.7;
    }
}

.pet-grief-session {
    padding: 100px 20px;
    background: #efe5f2;
}

.pet-grief-session .container {
    max-width: 1050px;
    margin: 0 auto;
}

.pet-grief-session-card {
    position: relative;
    padding: 60px;

    background: #fff;
    border-radius: 28px;

    box-shadow: 0 15px 40px rgba(66, 48, 72, .08);

    overflow: hidden;
}

/* Decoración superior */
.pet-grief-session-card::before {
    content: "";

    position: absolute;

    width: 190px;
    height: 190px;

    top: -100px;
    left: -80px;

    border-radius: 50%;

    background: #f3eaf6;
}

/* CABECERA */

.pet-grief-session-intro {
    position: relative;
    z-index: 2;

    max-width: 680px;
    margin: 0 auto 45px;

    text-align: center;
}

.pet-grief-session-intro h2 {
    margin: 0 0 18px;

    font-size: 38px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.pet-grief-session-intro h2 span {
    color: #9b6cae;
    font-style: italic;
}

.pet-grief-session-intro p {
    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #5a535c;
}

/* DATOS DE LA SESIÓN */

.pet-grief-session-info {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    margin-bottom: 45px;

    border-top: 1px solid #e9ddec;
    border-bottom: 1px solid #e9ddec;
}

.pet-grief-session-item {
    padding: 30px 20px;

    text-align: center;

    border-right: 1px solid #e9ddec;
}

.pet-grief-session-item:last-child {
    border-right: 0;
}

.session-label {
    display: block;

    margin-bottom: 9px;

    color: #9b6cae;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.pet-grief-session-item strong {
    display: block;

    color: #39323b;

    font-size: 18px;
    font-weight: 500;
}

/* CTA */

.pet-grief-session-cta {
    position: relative;
    z-index: 2;

    text-align: center;
}

.session-star {
    display: block;

    margin-bottom: 10px;

    color: #c9aa72;

    font-size: 15px;
}

.pet-grief-session-cta p {
    margin: 0 0 24px;

    color: #6f4f7d;

    font-size: 18px;
    line-height: 1.6;
    font-style: italic;
}

/* BOTÓN */

.pet-grief-session-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 15px 27px;

    background: #9b6cae;
    border-radius: 30px;

    color: #fff !important;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;

    text-decoration: none !important;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.pet-grief-session-button span {
    font-size: 17px;
    line-height: 1;
}

.pet-grief-session-button:hover {
    background: #80598f;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(111, 79, 125, .22);
}

/* MÓVIL */

@media screen and (max-width: 768px) {

    .pet-grief-session {
        padding: 70px 18px;
    }

    .pet-grief-session-card {
        padding: 42px 24px;
        border-radius: 24px;
    }

    .pet-grief-session-intro {
        margin-bottom: 32px;
    }

    .pet-grief-session-intro h2 {
        font-size: 31px;
    }

    .pet-grief-session-intro p {
        font-size: 14px;
    }

    .pet-grief-session-info {
        grid-template-columns: 1fr;

        margin-bottom: 35px;
    }

    .pet-grief-session-item {
        padding: 22px 10px;

        border-right: 0;
        border-bottom: 1px solid #e9ddec;
    }

    .pet-grief-session-item:last-child {
        border-bottom: 0;
    }

    .pet-grief-session-cta p {
        font-size: 16px;
    }

    .pet-grief-session-button {
        width: 100%;
        max-width: 280px;
    }
}
/*---*/

.pet-grief-image-section {
    padding: 10px 20px 75px;
    background: #f7f3f1;
}

.pet-grief-image-section .container {
     max-width: 850px;
    margin: 0 auto;
}

.pet-grief-image-wrap {
    position: relative;
    z-index: 1;
}

/* Detalle decorativo detrás */
.pet-grief-image-wrap::before {
    content: "";
    position: absolute;

    width: 130px;
    height: 130px;

    right: -20px;
    bottom: -20px;

    background: #e8d8ed;
    border-radius: 25px;

    z-index: -1;
}

.pet-grief-image-wrap img {
    display: block;

    width: 100%;
    height: auto;

    border-radius: 28px;

    box-shadow: 0 18px 45px rgba(66, 48, 72, .10);
}

/* MÓVIL */
@media screen and (max-width: 768px) {

    .pet-grief-image-section {
        padding: 0 18px 70px;
    }

    .pet-grief-image-wrap img {
        border-radius: 20px;
    }

    .pet-grief-image-wrap::before {
        width: 110px;
        height: 110px;

        right: -8px;
        bottom: -12px;

        border-radius: 20px;
    }
}

.pet-grief-intro {
    padding: 75px 20px 60px;
}

.pet-grief-image-section {
    padding: 0 20px 75px;
}

.pet-grief-intro-highlight {
    height: auto !important;
    min-height: 0;
}

.pet-grief-commitment {
    padding: 80px 20px;
}

.pet-grief-commitment-box {
    padding: 50px 70px;
}

@media screen and (max-width: 768px) {

    /* =====================================
       INTRODUCCIÓN
    ===================================== */

    .pet-grief-intro {
        padding: 60px 20px 45px;
    }

    .pet-grief-intro-grid {
        gap: 30px;
    }

    .pet-grief-intro-highlight {
        padding: 35px 24px;
    }

    .pet-grief-highlight-title {
        font-size: 20px;
        line-height: 1.5;
    }

    .pet-grief-highlight-text {
        font-size: 14px;
        line-height: 1.75;
    }


    /* =====================================
       IMAGEN
    ===================================== */

    .pet-grief-image-section {
        padding: 0 20px 60px;
    }

    .pet-grief-image-wrap::before {
        width: 85px;
        height: 85px;
        right: -7px;
        bottom: -10px;
    }


    /* =====================================
       ¿EN QUÉ CONSISTE?
    ===================================== */

    .pet-grief-process {
        padding: 60px 18px;
    }

    .pet-grief-process-heading h2 {
        font-size: 29px;
        line-height: 1.25;
    }

    .pet-grief-process-grid {
        gap: 18px;
    }

    .pet-grief-process-card {
        padding: 27px 20px;
    }


    /* =====================================
       ¿QUÉ TE VOY A PEDIR?
    ===================================== */

    .pet-grief-commitment {
        padding: 60px 16px;
    }

    .pet-grief-commitment-box {
        padding: 40px 22px;
        border-radius: 22px;
    }

    .pet-grief-commitment-heading {
        width: 100%;
        max-width: none;
        margin-bottom: 28px;
    }

    .pet-grief-commitment-heading h2 {
        font-size: 28px;
        line-height: 1.3;
    }

    .pet-grief-commitment-content {
        width: 100%;
        max-width: none;
    }

    .pet-grief-commitment-content > p {
        font-size: 14px;
        line-height: 1.75;
    }

    .pet-grief-main-quote {
        width: 100%;
        box-sizing: border-box;

        margin: 28px 0;
        padding: 28px 20px;
    }

    .pet-grief-main-quote blockquote {
        font-size: 21px;
        line-height: 1.5;
    }

    .pet-grief-commitment-content .pet-grief-closing {
        font-size: 15px;
        line-height: 1.7;
    }


    /* =====================================
       FICHA SESIÓN
    ===================================== */

    .pet-grief-session {
        padding: 60px 16px;
    }

    .pet-grief-session-card {
        padding: 40px 18px;
        border-radius: 22px;
    }

    .pet-grief-session-intro {
        width: 100%;
        max-width: none;
    }

    .pet-grief-session-intro h2 {
        font-size: 28px;
        line-height: 1.3;
    }

    .pet-grief-session-intro p {
        font-size: 14px;
        line-height: 1.7;
    }

    .pet-grief-session-info {
        width: 100%;
    }

    .pet-grief-session-item {
        padding: 20px 10px;
    }

}

.page-hero-ti {
    height: 330px;
    background-image: url(https://lunapsicologia.com/wp-content/uploads/2026/09/heroti.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


.individual-intro {
    padding: 95px 20px;
    background: #f7f3f1;
}

.individual-intro .container {
    max-width: 1120px;
    margin: 0 auto;
}

.individual-intro-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 65px;
    align-items: center;
}

.individual-intro-content h2 {
    margin: 0 0 25px;

    font-size: 40px;
    line-height: 1.2;
    font-weight: 400;

    color: #2f2a31;
}

.individual-intro-content h2 span {
    color: #9b6cae;
    font-style: italic;
}

.individual-intro-content p {
    margin: 0 0 18px;

    font-size: 15px;
    line-height: 1.85;

    color: #4d464f;
}

/* Imagen */

.individual-intro-image {
    position: relative;
}

.individual-intro-image::before {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    right: -28px;
    bottom: -28px;

    background: #e8d8ed;
    border-radius: 26px;

    z-index: 0;
}

.individual-intro-image img {
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    height: auto;

    border-radius: 26px;

    box-shadow: 0 16px 40px rgba(66, 48, 72, .09);
}

/* MÓVIL */

@media screen and (max-width: 768px) {

    .individual-intro {
        padding: 65px 18px;
    }

    .individual-intro-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .individual-intro-content h2 {
        font-size: 31px;
    }

    .individual-intro-content p {
        font-size: 14px;
        line-height: 1.8;
    }

    .individual-intro-image img {
width: 100%;
        height: auto;

        border-radius: 22px;
    }

    .individual-intro-image::before {
        width: 105px;
        height: 105px;

        right: -8px;
        bottom: -12px;

        border-radius: 20px;
    }
}

.individual-transition {
    padding: 70px 20px;
    background: #efe5f2;
}

.individual-transition .container {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.individual-transition-star {
    display: block;
    margin-bottom: 18px;

    color: #c9aa72;
    font-size: 17px;
}

.individual-transition p {
    margin: 0;

    font-size: 28px;
    line-height: 1.55;
    font-weight: 400;

    color: #6f4f7d;
}

.individual-transition p strong {
    font-weight: 600;
    color: #8e659f;
}

@media screen and (max-width: 768px) {

    .individual-transition {
        padding: 55px 20px;
    }

    .individual-transition p {
        font-size: 21px;
        line-height: 1.55;
    }

}

.individual-help {
    padding: 100px 20px;
    background: #fff;
}

.individual-help .container {
    max-width: 1100px;
    margin: 0 auto;
}


/* CABECERA */

.individual-help-heading {
    max-width: 760px;
    margin: 0 auto 60px;
    text-align: center;
}

.individual-help-heading h2 {
    margin: 0 0 20px;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.individual-help-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.individual-help-heading p {
    max-width: 650px;
    margin: 0 auto;

    font-size: 15px;
    line-height: 1.8;

    color: #5a535c;
}


/* MOSAICO */

.individual-help-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    border-top: 1px solid #e7dce9;
    border-left: 1px solid #e7dce9;
}

.individual-help-item {
    position: relative;

    min-height: 190px;
    padding: 34px 38px;

    border-right: 1px solid #e7dce9;
    border-bottom: 1px solid #e7dce9;

    background: #fff;

    transition:
        background .25s ease,
        transform .25s ease;
}

.individual-help-item:hover {
    background: #faf7fb;
}

.individual-help-icon {
    display: block;
    margin-bottom: 15px;

    color: #c9aa72;
    font-size: 13px;
}

.individual-help-item h3 {
    margin: 0 0 11px;

    color: #8e659f;

    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
}

.individual-help-item p {
    margin: 0;

    max-width: 430px;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.75;
}


/* ÚLTIMO BLOQUE */

.individual-help-wide {
    grid-column: 1 / -1;

    min-height: auto;

    text-align: center;
}

.individual-help-wide p {
    max-width: 650px;
    margin: 0 auto;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .individual-help {
        padding: 70px 18px;
    }

    .individual-help-heading {
        margin-bottom: 40px;
    }

    .individual-help-heading h2 {
        font-size: 30px;
    }

    .individual-help-heading p {
        font-size: 14px;
    }

    .individual-help-grid {
        grid-template-columns: 1fr;
    }

    .individual-help-item,
    .individual-help-wide {
        grid-column: auto;

        min-height: 0;
        padding: 27px 24px;

        text-align: left;
    }

    .individual-help-wide p {
        margin: 0;
    }

    .individual-help-item h3 {
        font-size: 19px;
    }

    .individual-help-item p {
        font-size: 14px;
    }

}

.individual-journey {
    padding: 100px 20px;
    background: #f7f3f1;
}

.individual-journey .container {
    max-width: 1000px;
    margin: 0 auto;
}


/* CABECERA */

.individual-journey-heading {
    max-width: 720px;
    margin: 0 auto 70px;
    text-align: center;
}

.individual-journey-heading h2 {
    margin: 0 0 18px;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.individual-journey-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.individual-journey-heading p {
    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #5a535c;
}


/* RECORRIDO */

.individual-journey-line {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
}

/* Línea central */

.individual-journey-line::before {
    content: "";

    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 50%;

    width: 1px;

    background: rgba(201, 170, 114, .65);

    transform: translateX(-50%);
}


/* CADA PASO */

.individual-journey-step {
    position: relative;

    display: grid;
    grid-template-columns: 1fr 1fr;

    min-height: 145px;
}

.journey-content {
    padding: 0 55px 48px;
}

.step-left .journey-content {
    grid-column: 1;
    text-align: right;
}

.step-right .journey-content {
    grid-column: 2;
    text-align: left;
}


/* PUNTO CENTRAL */

.journey-dot {
    position: absolute;

    top: 4px;
    left: 50%;

    width: 13px;
    height: 13px;

    background: #f7f3f1;

    border: 2px solid #c9aa72;
    border-radius: 50%;

    transform: translateX(-50%);

    z-index: 2;
}


/* CONTENIDO */

.journey-number {
    display: block;

    margin-bottom: 7px;

    color: #c9aa72;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.journey-content h3 {
    margin: 0 0 9px;

    color: #8e659f;

    font-size: 23px;
    line-height: 1.3;
    font-weight: 500;
}

.journey-content p {
    margin: 0;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.75;
}


/* CIERRE */

.individual-journey-closing {
    max-width: 720px;

    margin: 40px auto 0;
    padding: 28px 35px;

    text-align: center;

    background: #fff;

    border-radius: 20px;

    box-shadow: 0 10px 30px rgba(66, 48, 72, .05);
}

.individual-journey-closing span {
    display: block;

    margin-bottom: 10px;

    color: #c9aa72;
}

.individual-journey-closing p {
    margin: 0;

    color: #6f4f7d;

    font-size: 16px;
    line-height: 1.75;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .individual-journey {
        padding: 70px 18px;
    }

    .individual-journey-heading {
        margin-bottom: 50px;
    }

    .individual-journey-heading h2 {
        font-size: 30px;
    }

    .individual-journey-heading p {
        font-size: 14px;
    }


    /* Línea pasa a la izquierda */

    .individual-journey-line::before {
        left: 8px;
        transform: none;
    }

    .individual-journey-step {
        display: block;
        min-height: 0;
    }

    .journey-dot {
        left: 8px;
        transform: translateX(-50%);
    }

    .journey-content,
    .step-left .journey-content,
    .step-right .journey-content {
        padding: 0 0 42px 35px;

        text-align: left;
    }

    .journey-content h3 {
        font-size: 21px;
    }

    .journey-content p {
        font-size: 14px;
    }

    .individual-journey-closing {
        margin-top: 20px;
        padding: 25px 22px;
    }

    .individual-journey-closing p {
        font-size: 15px;
    }

}

.individual-commitment {
    padding: 100px 20px;
    background: #fff;
}

.individual-commitment .container {
    max-width: 1050px;
    margin: 0 auto;
}


/* CABECERA */

.individual-commitment-heading {
    max-width: 720px;
    margin: 0 auto 55px;
    text-align: center;
}

.individual-commitment-heading h2 {
    margin: 0 0 18px;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.individual-commitment-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.individual-commitment-heading p {
    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #5a535c;
}


/* DOS COLUMNAS */

.individual-commitment-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 28px;
}


/* TARJETAS */

.individual-commitment-card {
    position: relative;

    padding: 40px 38px;

    background: #f7f3f1;

    border-radius: 24px;

    border-top: 3px solid #d8b7e4;
}

.individual-commitment-card.commitment-highlight {
    background: #efe5f2;
    border-top-color: #c9aa72;
}

.commitment-label {
    display: inline-block;

    margin-bottom: 14px;

    color: #9b6cae;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.individual-commitment-card h3 {
    margin: 0 0 16px;

    color: #2f2a31;

    font-size: 23px;
    line-height: 1.3;
    font-weight: 500;
}

.individual-commitment-card p {
    margin: 0 0 25px;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.8;
}


/* LISTADO */

.individual-commitment-card ul {
    list-style: none;

    margin: 0;
    padding: 0;
}

.individual-commitment-card li {
    position: relative;

    padding: 10px 0 10px 24px;

    color: #6f4f7d;

    font-size: 14px;

    border-bottom: 1px solid rgba(142, 101, 159, .13);
}

.individual-commitment-card li:last-child {
    border-bottom: 0;
}

.individual-commitment-card li::before {
    content: "✦";

    position: absolute;
    left: 0;
    top: 10px;

    color: #c9aa72;

    font-size: 10px;
}


/* NOTA INFERIOR */

.individual-commitment-note {
    max-width: 780px;

    margin: 40px auto 0;

    text-align: center;
}

.individual-commitment-note > span {
    display: block;

    margin-bottom: 12px;

    color: #c9aa72;
}

.individual-commitment-note p {
    margin: 0;

    color: #6f4f7d;

    font-size: 16px;
    line-height: 1.8;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .individual-commitment {
        padding: 70px 18px;
    }

    .individual-commitment-heading {
        margin-bottom: 38px;
    }

    .individual-commitment-heading h2 {
        font-size: 30px;
    }

    .individual-commitment-heading p {
        font-size: 14px;
    }

    .individual-commitment-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .individual-commitment-card {
        padding: 30px 24px;
    }

    .individual-commitment-card h3 {
        font-size: 21px;
    }

    .individual-commitment-note {
        margin-top: 32px;
    }

    .individual-commitment-note p {
        font-size: 15px;
    }

}

.individual-closing {
    position: relative;
    overflow: hidden;

    padding: 95px 20px;

    background:
        radial-gradient(
            circle at 50% 50%,
            rgba(216, 183, 228, .25) 0%,
            rgba(247, 243, 241, 0) 55%
        ),
        #f7f3f1;
}


/* DECORACIÓN MUY SUAVE */

.individual-closing::before,
.individual-closing::after {
    content: "";

    position: absolute;

    width: 230px;
    height: 230px;

    border: 1px solid rgba(155, 108, 174, .10);
    border-radius: 50%;
}

.individual-closing::before {
    top: -150px;
    left: -80px;
}

.individual-closing::after {
    right: -90px;
    bottom: -160px;
}


/* CONTENIDO */

.individual-closing-inner {
    position: relative;
    z-index: 2;

    max-width: 800px;
    margin: 0 auto;

    text-align: center;
}


.individual-closing-text {
    margin: 15px 0 0;

    color: #2f2a31;

    font-size: 34px;
    line-height: 1.4;
    font-weight: 400;
}

.individual-closing-text span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}


/* LÍNEA DORADA */

.individual-closing-line {
    width: 55px;
    height: 1px;

    margin: 25px auto;

    background: #c9aa72;
}


/* TEXTO CENTRAL */

.individual-closing-description {
    max-width: 650px;

    margin: 0 auto;

    color: #514a53;

    font-size: 15px;
    line-height: 1.85;
}


/* FRASE FINAL */

.individual-closing-message {
    max-width: 680px;

    margin: 35px auto 0;

    color: #6f4f7d;

    font-size: 18px;
    line-height: 1.75;
    font-style: italic;
}

.individual-closing-message strong {
    color: #8e659f;
    font-weight: 600;
}


/* ESTRELLA */

.individual-closing-star {
    display: block;

    margin-top: 28px;

    color: #c9aa72;
    font-size: 14px;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .individual-closing {
        padding: 70px 20px;
    }

    .individual-closing-text {
        font-size: 27px;
        line-height: 1.4;
    }

    .individual-closing-description {
        font-size: 14px;
        line-height: 1.8;
    }

    .individual-closing-message {
        margin-top: 28px;

        font-size: 16px;
        line-height: 1.7;
    }

    .individual-closing::before,
    .individual-closing::after {
        width: 170px;
        height: 170px;
    }

}

.individual-session {
    padding: 95px 20px 110px;
    background: #fff;
}

.individual-session .container {
    max-width: 1050px;
    margin: 0 auto;
}


/* TARJETA */

.individual-session-card {
    position: relative;
    overflow: hidden;

    padding: 65px 65px 55px;

    background: #efe5f2;

    border-radius: 28px;

    box-shadow: 0 18px 45px rgba(66, 48, 72, .07);
}


/* DETALLE DECORATIVO */

.individual-session-card::before {
    content: "";

    position: absolute;
    top: -100px;
    right: -80px;

    width: 260px;
    height: 260px;

    border: 1px solid rgba(155, 108, 174, .15);
    border-radius: 50%;
}

.individual-session-card::after {
    content: "✦";

    position: absolute;
    top: 38px;
    right: 45px;

    color: #c9aa72;

    font-size: 15px;
}


/* CABECERA */

.individual-session-heading {
    position: relative;
    z-index: 2;

    max-width: 620px;
    margin-bottom: 48px;
}

.individual-session-heading h2 {
    margin: 8px 0 15px;

    color: #2f2a31;

    font-size: 39px;
    line-height: 1.2;
    font-weight: 400;
}

.individual-session-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.individual-session-heading p {
    max-width: 540px;

    margin: 0;

    color: #514a53;

    font-size: 15px;
    line-height: 1.8;
}


/* DATOS */

.individual-session-details {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    margin-bottom: 42px;

    border-top: 1px solid rgba(142, 101, 159, .22);
    border-bottom: 1px solid rgba(142, 101, 159, .22);
}

.individual-session-item {
    padding: 25px 25px;
}

.individual-session-item:first-child {
    padding-left: 0;
}

.individual-session-item + .individual-session-item {
    border-left: 1px solid rgba(142, 101, 159, .22);
}

.session-label {
    display: block;

    margin-bottom: 8px;

    color: #8e659f;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.individual-session-item strong {
    display: block;

    color: #342e36;

    font-size: 18px;
    line-height: 1.4;
    font-weight: 500;
}


/* CTA */

.individual-session-action {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    gap: 28px;
}

.individual-session-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 15px 26px;

    background: #9b6cae;
    color: #fff;

    border-radius: 30px;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;

    text-decoration: none;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.individual-session-button span {
    font-size: 17px;

    transition: transform .25s ease;
}

.individual-session-button:hover {
    background: #8e659f;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(111, 79, 125, .18);
}

.individual-session-button:hover span {
    transform: translateX(4px);
}

.individual-session-action p {
    margin: 0;

    color: #6f4f7d;

    font-size: 13px;
    line-height: 1.6;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .individual-session {
        padding: 70px 16px 80px;
    }

    .individual-session-card {
        padding: 42px 24px 38px;

        border-radius: 23px;
    }

    .individual-session-card::before {
        width: 180px;
        height: 180px;

        top: -100px;
        right: -100px;
    }

    .individual-session-card::after {
        top: 24px;
        right: 25px;
    }

    .individual-session-heading {
        margin-bottom: 35px;
    }

    .individual-session-heading h2 {
        font-size: 30px;
    }

    .individual-session-heading p {
        font-size: 14px;
    }


    /* Datos uno debajo de otro */

    .individual-session-details {
        grid-template-columns: 1fr;

        margin-bottom: 32px;
    }

    .individual-session-item,
    .individual-session-item:first-child {
        padding: 18px 0;
    }

    .individual-session-item + .individual-session-item {
        border-left: 0;
        border-top: 1px solid rgba(142, 101, 159, .18);
    }

    .individual-session-item strong {
        font-size: 17px;
    }


    /* CTA */

    .individual-session-action {
        flex-direction: column;
        align-items: flex-start;

        gap: 16px;
    }

    .individual-session-button {
        width: 100%;
        box-sizing: border-box;

        padding: 15px 20px;
    }

    .individual-session-action p {
        width: 100%;
        text-align: center;
    }

}

.page-hero-tp {
    height: 330px;
    background-image: url(https://lunapsicologia.com/wp-content/uploads/2026/09/ChatGPT-Image-10-sept-2026-11_29_02.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.couple-intro {
    padding: 95px 20px 105px;
    background: #f7f3f1;
}

.couple-intro .container {
    max-width: 1100px;
    margin: 0 auto;
}


/* CABECERA */

.couple-intro-heading {
    max-width: 720px;
    margin: 0 auto 70px;
    text-align: center;
}

.couple-intro-heading h2 {
    margin: 8px 0 0;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.couple-intro-heading h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}


/* DOS PARTES */

.couple-intro-split {
    display: grid;
    grid-template-columns: 1fr 150px 1fr;

    align-items: center;
    gap: 25px;
}


/* TEXTOS */

.couple-intro-side {
    min-height: 310px;

    padding: 40px 38px;

    background: #fff;

    border-radius: 24px;

    box-shadow: 0 12px 35px rgba(66, 48, 72, .05);
}

.couple-side-left {
    text-align: right;
}

.couple-side-right {
    text-align: left;
}

.couple-side-label {
    display: block;

    margin-bottom: 18px;

    color: #c9aa72;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.couple-intro-side p {
    margin: 0 0 18px;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.85;
}

.couple-intro-side p:last-child {
    margin-bottom: 0;
}


/* ELEMENTO CENTRAL */

.couple-connection {
    position: relative;

    width: 150px;
    height: 150px;

    margin: 0 auto;
}


/* DOS CÍRCULOS QUE SE ENCUENTRAN */

.couple-circle {
    position: absolute;

    top: 50%;

    width: 90px;
    height: 90px;

    border-radius: 50%;

    transform: translateY(-50%);
}

.circle-one {
    left: 0;

    border: 1px solid rgba(155, 108, 174, .55);

    background: rgba(216, 183, 228, .22);
}

.circle-two {
    right: 0;

    border: 1px solid rgba(201, 170, 114, .65);

    background: rgba(201, 170, 114, .10);
}


/* PUNTO DE ENCUENTRO */

.couple-connection-star {
    position: absolute;

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    color: #c9aa72;

    font-size: 15px;

    z-index: 2;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .couple-intro {
        padding: 65px 18px 75px;
    }

    .couple-intro-heading {
        margin-bottom: 42px;
    }

    .couple-intro-heading h2 {
        font-size: 30px;
    }


    .couple-intro-split {
        grid-template-columns: 1fr;

        gap: 18px;
    }


    .couple-intro-side {
        min-height: 0;

        padding: 30px 24px;

        text-align: left;

        border-radius: 22px;
    }

    .couple-intro-side p {
        font-size: 14px;
        line-height: 1.8;
    }


    /* El vínculo queda entre ambos textos */

    .couple-connection {
        width: 120px;
        height: 85px;
    }

    .couple-circle {
        width: 72px;
        height: 72px;
    }

}

.couple-perspective {
    padding: 95px 20px;
    background: #efe5f2;
}

.couple-perspective .container {
    max-width: 1000px;
    margin: 0 auto;
}


/* FRASE PRINCIPAL */

.couple-perspective-main {
    max-width: 780px;
    margin: 0 auto 60px;
    text-align: center;
}

.couple-perspective-quote {
    margin: 12px 0 0;

    color: #2f2a31;

    font-size: 34px;
    line-height: 1.45;
    font-weight: 400;
}

.couple-perspective-quote span {
    color: #9b6cae;
    font-style: italic;
}


/* BLOQUES */

.couple-perspective-grid {
    display: grid;
    grid-template-columns: 1fr 90px 1fr;

    align-items: stretch;
}

.couple-perspective-block {
    padding: 35px 38px;
}

.perspective-no {
    text-align: right;
}

.perspective-yes {
    text-align: left;
}


/* ETIQUETAS */

.perspective-label {
    display: block;

    margin-bottom: 12px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.couple-perspective-block h3 {
    margin: 0 0 12px;

    color: #8e659f;

    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
}

.couple-perspective-block p {
    margin: 0;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.8;
}


/* DIVISOR CENTRAL */

.couple-perspective-divider {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;
}

.couple-perspective-divider::before {
    content: "";

    position: absolute;

    top: 10%;
    bottom: 10%;

    width: 1px;

    background: rgba(201, 170, 114, .55);
}

.couple-perspective-divider span {
    position: relative;
    z-index: 2;

    padding: 10px;

    background: #efe5f2;

    color: #c9aa72;

    font-size: 13px;
}


/* TEXTO FINAL */

.couple-perspective-closing {
    max-width: 760px;

    margin: 45px auto 0;
    padding-top: 32px;

    text-align: center;

    border-top: 1px solid rgba(142, 101, 159, .16);
}

.couple-perspective-closing p {
    margin: 0;

    color: #514a53;

    font-size: 15px;
    line-height: 1.85;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .couple-perspective {
        padding: 70px 18px;
    }

    .couple-perspective-main {
        margin-bottom: 40px;
    }

    .couple-perspective-quote {
        font-size: 27px;
        line-height: 1.45;
    }

    .couple-perspective-grid {
        grid-template-columns: 1fr;
    }

    .couple-perspective-block,
    .perspective-no,
    .perspective-yes {
        padding: 25px 5px;
        text-align: left;
    }

    .couple-perspective-divider {
        height: 55px;
    }

    .couple-perspective-divider::before {
        top: 0;
        bottom: 0;
    }

    .couple-perspective-closing {
        margin-top: 30px;
        padding-top: 28px;
    }

    .couple-perspective-closing p {
        font-size: 14px;
        line-height: 1.8;
    }

}

.couple-work {
    padding: 100px 20px;
    background: #fff;
}

.couple-work .container {
    max-width: 1080px;
    margin: 0 auto;
}


/* CABECERA */

.couple-work-heading {
    max-width: 740px;
    margin: 0 auto 60px;

    text-align: center;
}

.couple-work-heading h2 {
    margin: 8px 0 18px;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.couple-work-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.couple-work-heading p {
    max-width: 650px;
    margin: 0 auto;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* GRID */

.couple-work-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 0;

    border-top: 1px solid #e9dfea;
}


/* CADA OBJETIVO */

.couple-work-item {
    display: grid;
    grid-template-columns: 70px 1fr;

    gap: 20px;

    padding: 34px 35px;

    border-bottom: 1px solid #e9dfea;
}

.couple-work-item:nth-child(odd) {
    border-right: 1px solid #e9dfea;
}


/* NÚMERO */

.couple-work-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    border: 1px solid rgba(201, 170, 114, .65);
    border-radius: 50%;

    color: #c9aa72;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


/* TEXTO */

.couple-work-content h3 {
    margin: 2px 0 8px;

    color: #8e659f;

    font-size: 21px;
    line-height: 1.3;
    font-weight: 500;
}

.couple-work-content p {
    margin: 0;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.75;
}


/* CIERRE DEL ENFOQUE */

.couple-work-approach {
    max-width: 760px;

    margin: 48px auto 0;

    text-align: center;
}

.couple-work-approach span {
    display: block;

    margin-bottom: 12px;

    color: #c9aa72;
}

.couple-work-approach p {
    margin: 0;

    color: #6f4f7d;

    font-size: 16px;
    line-height: 1.8;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .couple-work {
        padding: 70px 18px;
    }

    .couple-work-heading {
        margin-bottom: 40px;
    }

    .couple-work-heading h2 {
        font-size: 30px;
    }

    .couple-work-heading p {
        font-size: 14px;
    }


    .couple-work-grid {
        grid-template-columns: 1fr;
    }

    .couple-work-item,
    .couple-work-item:nth-child(odd) {
        grid-template-columns: 55px 1fr;

        gap: 15px;

        padding: 25px 5px;

        border-right: 0;
    }

    .couple-work-number {
        width: 45px;
        height: 45px;
    }

    .couple-work-content h3 {
        font-size: 20px;
    }

    .couple-work-content p {
        font-size: 14px;
    }

    .couple-work-approach {
        margin-top: 38px;
    }

    .couple-work-approach p {
        font-size: 15px;
    }

}

.couple-commitment {
    padding: 100px 20px;
    background: #f7f3f1;
}

.couple-commitment .container {
    max-width: 1080px;
    margin: 0 auto;
}


/* CABECERA */

.couple-commitment-heading {
    max-width: 740px;
    margin: 0 auto 65px;
    text-align: center;
}

.couple-commitment-heading h2 {
    margin: 8px 0 18px;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.couple-commitment-heading h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}

.couple-commitment-heading p {
    margin: 0;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* YO · NOSOTROS · TÚ */

.couple-three {
    position: relative;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 40px;

    max-width: 950px;
    margin: 0 auto;
}


/* LÍNEA QUE LOS UNE */

.couple-three::before {
    content: "";

    position: absolute;

    top: 87px;
    left: 15%;
    right: 15%;

    height: 1px;

    background: rgba(201, 170, 114, .55);
}


/* ELEMENTOS */

.couple-three-item {
    position: relative;
    z-index: 2;

    text-align: center;
}

.couple-three-number {
    display: block;

    margin-bottom: 12px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* CÍRCULOS */

.couple-three-circle {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 115px;
    height: 115px;

    margin: 0 auto 25px;

    background: #f7f3f1;

    border: 1px solid rgba(155, 108, 174, .45);
    border-radius: 50%;
}

.couple-three-circle h3 {
    margin: 0;

    color: #8e659f;

    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
}


/* NOSOTROS DESTACADO */

.couple-three-center .couple-three-circle {
    background: #efe5f2;

    border-color: #c9aa72;

    box-shadow: 0 10px 28px rgba(111, 79, 125, .08);
}

.couple-three-center .couple-three-circle h3 {
    color: #6f4f7d;
}


/* TEXTOS */

.couple-three-item > p {
    max-width: 260px;

    margin: 0 auto;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.75;
}


/* MENSAJE CENTRAL */

.couple-commitment-message {
    max-width: 780px;

    margin: 65px auto 0;

    text-align: center;
}

.couple-message-star {
    display: block;

    margin-bottom: 14px;

    color: #c9aa72;
}

.couple-commitment-message p {
    margin: 0;

    color: #6f4f7d;

    font-size: 18px;
    line-height: 1.75;
    font-style: italic;
}


/* MI COMPROMISO */

.couple-safe-space {
    max-width: 820px;

    margin: 45px auto 0;
    padding: 30px 40px;

    background: #fff;

    border-left: 3px solid #d8b7e4;
    border-radius: 0 18px 18px 0;

    box-shadow: 0 10px 30px rgba(66, 48, 72, .04);
}

.couple-safe-label {
    display: block;

    margin-bottom: 10px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.couple-safe-space p {
    margin: 0;

    color: #514a53;

    font-size: 15px;
    line-height: 1.8;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .couple-commitment {
        padding: 70px 18px;
    }

    .couple-commitment-heading {
        margin-bottom: 45px;
    }

    .couple-commitment-heading h2 {
        font-size: 30px;
    }

    .couple-commitment-heading p {
        font-size: 14px;
    }


    /* En móvil pasa a vertical */

    .couple-three {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .couple-three::before {
        top: 30px;
        bottom: 30px;
        left: 50%;

        width: 1px;
        height: auto;

        right: auto;

        transform: translateX(-50%);
    }

    .couple-three-item {
        padding: 0 15px;
    }

    .couple-three-number {
        position: relative;
        z-index: 2;

        width: fit-content;

        margin: 0 auto 10px;
        padding: 0 8px;

        background: #f7f3f1;
    }

    .couple-three-circle {
        position: relative;
        z-index: 2;

        width: 100px;
        height: 100px;

        margin-bottom: 20px;
    }

    .couple-three-item > p {
        position: relative;
        z-index: 2;

        max-width: 290px;

        padding: 10px 12px;

        background: #f7f3f1;

        font-size: 14px;
    }


    .couple-commitment-message {
        margin-top: 55px;
    }

    .couple-commitment-message p {
        font-size: 16px;
    }


    .couple-safe-space {
        margin-top: 35px;
        padding: 26px 24px;
    }

    .couple-safe-space p {
        font-size: 14px;
    }

}

.couple-closing {
    position: relative;
    overflow: hidden;

    padding: 100px 20px;

    background: #efe5f2;
}


/* CÍRCULOS DECORATIVOS: DOS INDIVIDUALIDADES */

.couple-closing::before,
.couple-closing::after {
    content: "";

    position: absolute;
    top: 50%;

    width: 330px;
    height: 330px;

    border-radius: 50%;

    transform: translateY(-50%);
}

.couple-closing::before {
    left: -170px;

    border: 1px solid rgba(155, 108, 174, .15);
}

.couple-closing::after {
    right: -170px;

    border: 1px solid rgba(201, 170, 114, .22);
}


/* CONTENIDO */

.couple-closing-inner {
    position: relative;
    z-index: 2;

    max-width: 780px;
    margin: 0 auto;

    text-align: center;
}


/* SÍMBOLO */

.couple-closing-symbol {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-bottom: 22px;
}

.couple-closing-symbol span {
    width: 38px;
    height: 1px;

    background: #c9aa72;
}

.couple-closing-symbol i {
    color: #c9aa72;

    font-size: 11px;
    font-style: normal;
}


/* FRASE */

.couple-closing-quote {
    margin: 16px 0 0;

    color: #2f2a31;

    font-size: 37px;
    line-height: 1.45;
    font-weight: 400;
}

.couple-closing-quote span {
    color: #9b6cae;
    font-style: italic;
}


/* TEXTO PEQUEÑO */

.couple-closing-small {
    max-width: 570px;

    margin: 28px auto 0;
    padding-top: 25px;

    border-top: 1px solid rgba(201, 170, 114, .45);

    color: #5a535c;

    font-size: 14px;
    line-height: 1.8;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .couple-closing {
        padding: 75px 20px;
    }

    .couple-closing-quote {
        font-size: 28px;
        line-height: 1.45;
    }

    .couple-closing-small {
        margin-top: 24px;

        font-size: 14px;
    }

    .couple-closing::before,
    .couple-closing::after {
        width: 210px;
        height: 210px;
    }

    .couple-closing::before {
        left: -150px;
    }

    .couple-closing::after {
        right: -150px;
    }

}

.couple-session {
    padding: 100px 20px 110px;
    background: #fff;
}

.couple-session .container {
    max-width: 1050px;
    margin: 0 auto;
}


/* TARJETA */

.couple-session-card {
    position: relative;
    overflow: hidden;

    display: grid;
    grid-template-columns: 1.1fr .9fr;

    gap: 70px;

    padding: 65px;

    background: #f7f3f1;

    border-radius: 28px;

    box-shadow: 0 18px 45px rgba(66, 48, 72, .06);
}


/* DECORACIÓN */

.couple-session-card::before {
    content: "";

    position: absolute;

    width: 240px;
    height: 240px;

    top: -130px;
    left: -120px;

    border: 1px solid rgba(155, 108, 174, .14);
    border-radius: 50%;
}

.couple-session-card::after {
    content: "✦";

    position: absolute;

    right: 38px;
    top: 35px;

    color: #c9aa72;

    font-size: 14px;
}


/* COLUMNA IZQUIERDA */

.couple-session-left {
    position: relative;
    z-index: 2;

    align-self: center;
}

.couple-session-left h2 {
    margin: 8px 0 18px;

    font-size: 39px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.couple-session-left h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}

.couple-session-left p {
    max-width: 500px;

    margin: 0;

    color: #514a53;

    font-size: 15px;
    line-height: 1.8;
}


/* COLUMNA DERECHA */

.couple-session-right {
    position: relative;
    z-index: 2;

    padding-left: 45px;

    border-left: 1px solid rgba(142, 101, 159, .18);
}


/* DATOS */

.couple-session-detail {
    padding: 18px 0;

    border-bottom: 1px solid rgba(142, 101, 159, .16);
}

.couple-session-detail:first-child {
    padding-top: 0;
}

.couple-session-detail span {
    display: block;

    margin-bottom: 6px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.couple-session-detail strong {
    display: block;

    color: #342e36;

    font-size: 18px;
    line-height: 1.4;
    font-weight: 500;
}


/* BOTÓN */

.couple-session-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    margin-top: 30px;

    padding: 15px 27px;

    background: #9b6cae;
    color: #fff;

    border-radius: 30px;

    text-decoration: none;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.couple-session-button > span {
    font-size: 17px;

    transition: transform .25s ease;
}

.couple-session-button:hover {
    background: #8e659f;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(111, 79, 125, .18);
}

.couple-session-button:hover > span {
    transform: translateX(4px);
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .couple-session {
        padding: 70px 16px 80px;
    }

    .couple-session-card {
        grid-template-columns: 1fr;

        gap: 38px;

        padding: 42px 24px 38px;

        border-radius: 23px;
    }

    .couple-session-left h2 {
        font-size: 30px;
    }

    .couple-session-left p {
        font-size: 14px;
    }

    .couple-session-right {
        padding-left: 0;

        border-left: 0;
        border-top: 1px solid rgba(142, 101, 159, .18);

        padding-top: 28px;
    }

    .couple-session-detail {
        padding: 17px 0;
    }

    .couple-session-detail:first-child {
        padding-top: 0;
    }

    .couple-session-detail strong {
        font-size: 17px;
    }

    .couple-session-button {
        width: 100%;

        box-sizing: border-box;

        margin-top: 26px;
    }

}

.couple-image-section {
    padding: 15px 20px 90px;
    background: #fff;
}

.couple-image-wrap {
    position: relative;

    max-width: 900px;
    margin: 0 auto;
}

/* pequeño detalle decorativo detrás */
.couple-image-wrap::before {
    content: "";

    position: absolute;
    right: -18px;
    bottom: -18px;

    width: 115px;
    height: 115px;

    border: 1px solid rgba(201, 170, 114, .45);
    border-radius: 50%;

    z-index: 0;
}

.couple-image-wrap img {
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    height: auto;

    border-radius: 24px;

    box-shadow: 0 18px 45px rgba(66, 48, 72, .08);
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .couple-image-section {
        padding: 5px 18px 65px;
    }

    .couple-image-wrap img {
        border-radius: 18px;
    }

    .couple-image-wrap::before {
        right: -7px;
        bottom: -10px;

        width: 80px;
        height: 80px;
    }

}

.page-hero-pp {
    height: 330px;
    background-image: url(https://lunapsicologia.com/wp-content/uploads/2026/09/psicovegana.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.vegan-intro {
    padding: 95px 20px;
    background: #f7f3f1;
}

.vegan-intro .container {
    max-width: 1100px;
    margin: 0 auto;
}

.vegan-intro-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 70px;
    align-items: center;
}


/* TEXTO */

.vegan-intro-content h2 {
    margin: 8px 0 25px;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.vegan-intro-content h2 span {
    color: #9b6cae;
    font-style: italic;
}

.vegan-intro-content p {
    margin: 0 0 18px;

    color: #4d464f;

    font-size: 15px;
    line-height: 1.85;
}


/* BLOQUE VISUAL */

.vegan-intro-visual {
    position: relative;

    padding: 48px 38px;

    background: #fff;

    border-radius: 28px;

    text-align: center;

    box-shadow: 0 14px 35px rgba(66, 48, 72, .05);
}


/* ELEMENTO ORGÁNICO */

.vegan-intro-orbit {
    position: relative;

    width: 150px;
    height: 150px;

    margin: 0 auto 28px;
}

.vegan-intro-orbit::before {
    content: "";

    position: absolute;
    inset: 0;

    border: 1px solid rgba(155, 108, 174, .25);
    border-radius: 50%;
}

.vegan-leaf {
    position: absolute;

    width: 48px;
    height: 72px;

    background: #efe5f2;

    border-radius: 70% 0 70% 0;
}

.vegan-leaf-one {
    left: 18px;
    top: 38px;

    transform: rotate(-35deg);
}

.vegan-leaf-two {
    right: 18px;
    top: 38px;

    transform: rotate(145deg);
}

.vegan-center-symbol {
    position: absolute;

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    color: #c9aa72;
    font-size: 16px;
}


/* FRASE */

.vegan-intro-visual p {
    max-width: 330px;

    margin: 0 auto;

    color: #6f4f7d;

    font-size: 22px;
    line-height: 1.55;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .vegan-intro {
        padding: 65px 18px;
    }

    .vegan-intro-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .vegan-intro-content h2 {
        font-size: 31px;
    }

    .vegan-intro-content p {
        font-size: 14px;
        line-height: 1.8;
    }

    .vegan-intro-visual {
        padding: 38px 24px;
    }

    .vegan-intro-orbit {
        width: 125px;
        height: 125px;
    }

    .vegan-leaf {
        width: 40px;
        height: 60px;
    }

    .vegan-intro-visual p {
        font-size: 19px;
    }
}

.vegan-focus {
    position: relative;
    overflow: hidden;

    padding: 75px 20px;

    background: #efe5f2;
}

.vegan-focus .container {
    position: relative;
    z-index: 2;

    max-width: 850px;
    margin: 0 auto;

    text-align: center;
}


/* PEQUEÑO DETALLE SUPERIOR */

.vegan-focus-line {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-bottom: 22px;
}

.vegan-focus-line span {
    width: 35px;
    height: 1px;

    background: #c9aa72;
}

.vegan-focus-line i {
    color: #c9aa72;

    font-size: 11px;
    font-style: normal;
}


/* TITULAR */

.vegan-focus h2 {
    margin: 0;

    color: #2f2a31;

    font-size: 32px;
    line-height: 1.4;
    font-weight: 400;
}

.vegan-focus h2 span {
    color: #9b6cae;
    font-style: italic;
}


/* EXPLICACIÓN */

.vegan-focus p {
    max-width: 650px;

    margin: 22px auto 0;

    color: #514a53;

    font-size: 16px;
    line-height: 1.8;
}

.vegan-focus p strong {
    color: #6f4f7d;
    font-weight: 600;
}


/* DECORACIÓN ORGÁNICA */

.vegan-focus::before,
.vegan-focus::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 280px;

    border: 1px solid rgba(155, 108, 174, .10);

    border-radius: 70% 0 70% 0;
}

.vegan-focus::before {
    left: -110px;
    top: -100px;

    transform: rotate(25deg);
}

.vegan-focus::after {
    right: -110px;
    bottom: -120px;

    transform: rotate(205deg);
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .vegan-focus {
        padding: 58px 20px;
    }

    .vegan-focus h2 {
        font-size: 25px;
        line-height: 1.45;
    }

    .vegan-focus h2 span {
        display: block;
    }

    .vegan-focus p {
        margin-top: 18px;

        font-size: 14px;
        line-height: 1.8;
    }

}

.vegan-path {
    padding: 100px 20px;
    background: #fff;
}

.vegan-path .container {
    max-width: 980px;
    margin: 0 auto;
}


/* CABECERA */

.vegan-path-heading {
    max-width: 740px;
    margin: 0 auto 70px;

    text-align: center;
}

.vegan-path-heading h2 {
    margin: 8px 0 18px;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.vegan-path-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.vegan-path-heading p {
    margin: 0;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* CAMINO */

.vegan-path-list {
    position: relative;

    max-width: 860px;
    margin: 0 auto;
}


/* LÍNEA ORGÁNICA CENTRAL */

.vegan-path-list::before {
    content: "";

    position: absolute;

    top: 5px;
    bottom: 5px;
    left: 50%;

    width: 2px;

    background:
        linear-gradient(
            to bottom,
            rgba(155,108,174,.10),
            rgba(201,170,114,.55),
            rgba(155,108,174,.10)
        );

    transform: translateX(-50%);
}


/* ELEMENTOS */

.vegan-path-item {
    position: relative;

    display: grid;
    grid-template-columns: 1fr 1fr;

    min-height: 150px;
}

.vegan-path-content {
    position: relative;

    padding: 0 55px 52px;
}

.vegan-path-left .vegan-path-content {
    grid-column: 1;

    text-align: right;
}

.vegan-path-right .vegan-path-content {
    grid-column: 2;

    text-align: left;
}


/* PUNTO */

.vegan-path-dot {
    position: absolute;

    top: 5px;
    left: 50%;

    width: 16px;
    height: 16px;

    border: 2px solid #c9aa72;
    border-radius: 50%;

    background: #fff;

    transform: translateX(-50%);

    z-index: 2;
}

.vegan-path-dot::after {
    content: "";

    position: absolute;

    width: 6px;
    height: 6px;

    top: 50%;
    left: 50%;

    background: #efe5f2;

    border-radius: 50%;

    transform: translate(-50%, -50%);
}


/* NÚMERO */

.vegan-path-number {
    display: block;

    margin-bottom: 7px;

    color: #c9aa72;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* TEXTO */

.vegan-path-content h3 {
    margin: 0 0 9px;

    color: #8e659f;

    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
}

.vegan-path-content p {
    margin: 0;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.75;
}


/* DECORACIÓN ORGÁNICA ALTERNADA */

.vegan-path-content::before {
    content: "";

    position: absolute;

    width: 36px;
    height: 52px;

    top: -7px;

    border: 1px solid rgba(155,108,174,.17);

    border-radius: 70% 0 70% 0;
}

.vegan-path-left .vegan-path-content::before {
    right: 18px;

    transform: rotate(25deg);
}

.vegan-path-right .vegan-path-content::before {
    left: 18px;

    transform: rotate(205deg);
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .vegan-path {
        padding: 70px 18px;
    }

    .vegan-path-heading {
        margin-bottom: 50px;
    }

    .vegan-path-heading h2 {
        font-size: 30px;
    }

    .vegan-path-heading p {
        font-size: 14px;
    }


    /* Camino pasa a la izquierda */

    .vegan-path-list::before {
        left: 9px;

        transform: none;
    }

    .vegan-path-item {
        display: block;

        min-height: 0;
    }

    .vegan-path-dot {
        left: 9px;

        transform: translateX(-50%);
    }

    .vegan-path-content,
    .vegan-path-left .vegan-path-content,
    .vegan-path-right .vegan-path-content {
        padding: 0 0 42px 40px;

        text-align: left;
    }

    .vegan-path-content::before {
        display: none;
    }

    .vegan-path-content h3 {
        font-size: 20px;
    }

    .vegan-path-content p {
        font-size: 14px;
        line-height: 1.75;
    }

}

.vegan-stage {
    padding: 95px 20px;
    background: #f7f3f1;
}

.vegan-stage .container {
    max-width: 1080px;
    margin: 0 auto;
}

.vegan-stage-heading {
    max-width: 700px;
    margin: 0 auto 60px;
    text-align: center;
}

.vegan-stage-heading h2 {
    margin: 8px 0 0;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.vegan-stage-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}


/* GRID */

.vegan-stage-grid {
    display: grid;
    grid-template-columns: 1fr 220px 1fr;

    gap: 35px;
    align-items: center;
}


/* LADOS */

.vegan-stage-side {
    padding: 38px 34px;

    background: #fff;
    border-radius: 24px;

    box-shadow: 0 12px 30px rgba(66, 48, 72, .05);
}

.vegan-stage-label {
    display: block;

    margin-bottom: 12px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.vegan-stage-side h3 {
    margin: 0 0 14px;

    color: #8e659f;

    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
}

.vegan-stage-side p {
    margin: 0;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.8;
}


/* CENTRO */

.vegan-stage-center {
    text-align: center;
}

.vegan-stage-symbol {
    position: relative;

    width: 130px;
    height: 130px;

    margin: 0 auto 20px;
}

.vegan-stage-symbol::before {
    content: "";

    position: absolute;
    inset: 0;

    border: 1px solid rgba(155,108,174,.20);
    border-radius: 50%;
}

.vegan-stage-leaf {
    position: absolute;

    width: 42px;
    height: 62px;

    background: #efe5f2;

    border-radius: 70% 0 70% 0;
}

.leaf-a {
    left: 18px;
    top: 35px;

    transform: rotate(-35deg);
}

.leaf-b {
    right: 18px;
    top: 35px;

    transform: rotate(145deg);
}

.vegan-stage-symbol i {
    position: absolute;

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    color: #c9aa72;

    font-size: 13px;
    font-style: normal;
}

.vegan-stage-center p {
    margin: 0;

    color: #6f4f7d;

    font-size: 15px;
    line-height: 1.7;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .vegan-stage {
        padding: 70px 18px;
    }

    .vegan-stage-heading {
        margin-bottom: 40px;
    }

    .vegan-stage-heading h2 {
        font-size: 30px;
    }

    .vegan-stage-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .vegan-stage-side {
        padding: 30px 24px;
    }

    .vegan-stage-center {
        order: 2;
    }

    .vegan-stage-grid .vegan-stage-side:last-child {
        order: 3;
    }

    .vegan-stage-symbol {
        width: 110px;
        height: 110px;
    }

    .vegan-stage-center p {
        font-size: 14px;
    }

}

.vegan-commitment {
    padding: 100px 20px;
    background: #fff;
}

.vegan-commitment .container {
    max-width: 1050px;
    margin: 0 auto;
}


/* CABECERA */

.vegan-commitment-heading {
    max-width: 720px;
    margin: 0 auto 60px;

    text-align: center;
}

.vegan-commitment-heading h2 {
    margin: 8px 0 18px;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.vegan-commitment-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.vegan-commitment-heading p {
    max-width: 620px;
    margin: 0 auto;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* TRES CONCEPTOS */

.vegan-commitment-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 22px;

    align-items: center;
}


/* BLOQUES */

.vegan-commitment-item {
    position: relative;

    padding: 35px 30px;

    text-align: center;

    border-top: 1px solid rgba(201, 170, 114, .45);
    border-bottom: 1px solid rgba(201, 170, 114, .45);
}

.vegan-commitment-number {
    display: block;

    margin-bottom: 14px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.vegan-commitment-item h3 {
    margin: 0 0 13px;

    color: #8e659f;

    font-size: 21px;
    line-height: 1.3;
    font-weight: 500;
}

.vegan-commitment-item p {
    margin: 0;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.8;
}


/* CENTRO DESTACADO */

.vegan-commitment-main {
    padding: 45px 32px;

    background: #f7f3f1;

    border: 0;
    border-radius: 70px 20px 70px 20px;

    box-shadow: 0 12px 32px rgba(66, 48, 72, .05);
}

.vegan-commitment-symbol {
    display: block;

    margin-top: 20px;

    color: #c9aa72;

    font-size: 12px;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .vegan-commitment {
        padding: 70px 18px;
    }

    .vegan-commitment-heading {
        margin-bottom: 40px;
    }

    .vegan-commitment-heading h2 {
        font-size: 30px;
    }

    .vegan-commitment-heading p {
        font-size: 14px;
    }

    .vegan-commitment-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .vegan-commitment-item {
        padding: 28px 22px;
    }

    .vegan-commitment-main {
        padding: 34px 25px;

        border-radius: 50px 18px 50px 18px;
    }

    .vegan-commitment-item h3 {
        font-size: 20px;
    }

    .vegan-commitment-item p {
        font-size: 14px;
    }

}

.vegan-closing {
    position: relative;
    overflow: hidden;

    padding: 100px 20px;

    background: #efe5f2;
}

.vegan-closing .container {
    max-width: 900px;
    margin: 0 auto;
}

.vegan-closing-inner {
    position: relative;
    z-index: 2;

    text-align: center;
}

.vegan-closing h2 {
    margin: 8px 0 0;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.vegan-closing h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}


/* LÍNEA */

.vegan-closing-line {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    margin: 28px 0;
}

.vegan-closing-line span {
    width: 45px;
    height: 1px;

    background: #c9aa72;
}

.vegan-closing-line i {
    color: #c9aa72;

    font-size: 11px;
    font-style: normal;
}


/* TEXTO */

.vegan-closing p {
    max-width: 680px;

    margin: 0 auto;

    color: #514a53;

    font-size: 15px;
    line-height: 1.85;
}

.vegan-closing-highlight {
    margin-top: 32px !important;

    color: #6f4f7d !important;

    font-size: 19px !important;
    font-style: italic;
    font-weight: 500;
}


/* FORMAS ORGÁNICAS */

.vegan-closing::before,
.vegan-closing::after {
    content: "";

    position: absolute;

    width: 220px;
    height: 330px;

    border: 1px solid rgba(155,108,174,.10);

    border-radius: 70% 0 70% 0;
}

.vegan-closing::before {
    left: -130px;
    top: -130px;

    transform: rotate(20deg);
}

.vegan-closing::after {
    right: -130px;
    bottom: -150px;

    transform: rotate(200deg);
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .vegan-closing {
        padding: 75px 20px;
    }

    .vegan-closing h2 {
        font-size: 30px;
    }

    .vegan-closing p {
        font-size: 14px;
        line-height: 1.8;
    }

    .vegan-closing-highlight {
        font-size: 17px !important;
    }

}

.vegan-session {
    padding: 100px 20px 110px;
    background: #fff;
}

.vegan-session .container {
    max-width: 1050px;
    margin: 0 auto;
}


/* TARJETA */

.vegan-session-card {
    position: relative;
    overflow: hidden;

    padding: 65px;

    background: #f7f3f1;

    border-radius: 70px 28px 70px 28px;

    box-shadow: 0 18px 45px rgba(66, 48, 72, .06);
}


/* FORMAS ORGÁNICAS */

.vegan-session-card::before,
.vegan-session-card::after {
    content: "";

    position: absolute;

    border: 1px solid rgba(155,108,174,.12);

    border-radius: 70% 0 70% 0;
}

.vegan-session-card::before {
    width: 180px;
    height: 270px;

    top: -120px;
    left: -90px;

    transform: rotate(30deg);
}

.vegan-session-card::after {
    width: 150px;
    height: 220px;

    right: -80px;
    bottom: -110px;

    transform: rotate(210deg);
}


/* CABECERA */

.vegan-session-heading {
    position: relative;
    z-index: 2;

    max-width: 700px;
    margin: 0 auto 45px;

    text-align: center;
}

.vegan-session-heading h2 {
    margin: 8px 0 18px;

    font-size: 39px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.vegan-session-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.vegan-session-heading p {
    max-width: 590px;
    margin: 0 auto;

    color: #514a53;

    font-size: 15px;
    line-height: 1.8;
}


/* DATOS */

.vegan-session-info {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    margin-bottom: 42px;

    background: #fff;

    border-radius: 22px;

    overflow: hidden;

    box-shadow: 0 10px 28px rgba(66,48,72,.04);
}

.vegan-session-item {
    padding: 28px 22px;

    text-align: center;
}

.vegan-session-item + .vegan-session-item {
    border-left: 1px solid #eadfec;
}

.vegan-session-label {
    display: block;

    margin-bottom: 8px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.vegan-session-item strong {
    display: block;

    color: #342e36;

    font-size: 18px;
    font-weight: 500;
}


/* PIE */

.vegan-session-footer {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}

.vegan-session-message {
    display: flex;
    align-items: center;

    gap: 12px;
}

.vegan-session-message span {
    color: #c9aa72;
}

.vegan-session-message p {
    margin: 0;

    color: #6f4f7d;

    font-size: 14px;
    line-height: 1.6;
    font-style: italic;
}


/* BOTÓN */

.vegan-session-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 15px 27px;

    background: #9b6cae;
    color: #fff;

    border-radius: 30px;

    text-decoration: none;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.vegan-session-button > span {
    font-size: 17px;

    transition: transform .25s ease;
}

.vegan-session-button:hover {
    background: #8e659f;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(111,79,125,.18);
}

.vegan-session-button:hover > span {
    transform: translateX(4px);
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .vegan-session {
        padding: 70px 16px 80px;
    }

    .vegan-session-card {
        padding: 42px 24px 38px;

        border-radius: 50px 22px 50px 22px;
    }

    .vegan-session-heading {
        margin-bottom: 34px;
    }

    .vegan-session-heading h2 {
        font-size: 30px;
    }

    .vegan-session-heading p {
        font-size: 14px;
    }

    .vegan-session-info {
        grid-template-columns: 1fr;
    }

    .vegan-session-item + .vegan-session-item {
        border-left: 0;
        border-top: 1px solid #eadfec;
    }

    .vegan-session-item {
        padding: 20px 15px;
    }

    .vegan-session-footer {
        flex-direction: column;

        gap: 22px;

        text-align: center;
    }

    .vegan-session-message {
        justify-content: center;
    }

    .vegan-session-button {
        width: 100%;
        box-sizing: border-box;
    }

}

.vegan-image-section {
    padding: 20px 20px 90px;
    background: #f7f3f1;
}

.vegan-image-wrap {
    position: relative;

    max-width: 850px;
    margin: 0 auto;
}

.vegan-image-wrap img {
    position: relative;
    z-index: 2;

    display: block;

    width: 100%;
    height: auto;

    border-radius: 26px;

    box-shadow: 0 18px 45px rgba(66, 48, 72, .08);
}


/* detalle orgánico detrás */

.vegan-image-wrap::before {
    content: "";

    position: absolute;

    right: -18px;
    bottom: -18px;

    width: 125px;
    height: 125px;

    background: #eadced;

    border-radius: 70% 0 70% 0;

    transform: rotate(15deg);

    z-index: 1;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .vegan-image-section {
        padding: 5px 18px 65px;
    }

    .vegan-image-wrap img {
        border-radius: 18px;
    }

    .vegan-image-wrap::before {
        right: -7px;
        bottom: -9px;

        width: 75px;
        height: 75px;
    }

}

.vegan-stage-photo {
    padding: 95px 20px;
    background: #f7f3f1;
}

.vegan-stage-photo .container {
    max-width: 1180px;
    margin: 0 auto;
}


/* CONTENEDOR PRINCIPAL */

.vegan-stage-photo-card {
    display: grid;
    grid-template-columns: 1fr 1fr;

    min-height: 610px;

    background: #fff;

    border-radius: 32px;
    overflow: hidden;

    box-shadow: 0 18px 45px rgba(66, 48, 72, .06);
}


/* IMAGEN */

.vegan-stage-photo-image {
    position: relative;
    overflow: hidden;
}

.vegan-stage-photo-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: 38% center;
}


/* pequeña transición hacia el contenido */

.vegan-stage-photo-image::after {
    content: "";

    position: absolute;
    top: 0;
    right: 0;

    width: 60px;
    height: 100%;

    background: linear-gradient(
        to right,
        rgba(255,255,255,0),
        rgba(255,255,255,.35)
    );

    pointer-events: none;
}


/* CONTENIDO */

.vegan-stage-photo-content {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 65px 60px;
}

.vegan-stage-photo-content::after {
    content: "";

    position: absolute;

    width: 130px;
    height: 130px;

    right: -45px;
    top: -45px;

    background: #f1e7f3;

    border-radius: 50%;
}


.vegan-stage-photo-content h2 {
    position: relative;
    z-index: 2;

    margin: 9px 0 20px;

    color: #2f2a31;

    font-size: 38px;
    line-height: 1.25;
    font-weight: 400;
}

.vegan-stage-photo-content h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}


.vegan-stage-photo-intro {
    margin: 0 0 34px;

    color: #514a53;

    font-size: 14px;
    line-height: 1.8;
}


/* DOS MOMENTOS */

.vegan-stage-options {
    border-top: 1px solid #eadfec;
}

.vegan-stage-option {
    display: grid;
    grid-template-columns: 38px 1fr;

    gap: 14px;

    padding: 23px 0;

    border-bottom: 1px solid #eadfec;
}

.vegan-stage-number {
    padding-top: 3px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.vegan-stage-option h3 {
    margin: 0 0 7px;

    color: #8e659f;

    font-size: 19px;
    font-weight: 500;
}

.vegan-stage-option p {
    margin: 0;

    color: #4d464f;

    font-size: 13px;
    line-height: 1.7;
}


/* FRASE FINAL */

.vegan-stage-quote {
    display: flex;
    align-items: center;

    gap: 11px;

    margin-top: 28px;
}

.vegan-stage-quote span {
    color: #c9aa72;
    font-size: 11px;
}

.vegan-stage-quote p {
    margin: 0;

    color: #6f4f7d;

    font-size: 14px;
    line-height: 1.6;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .vegan-stage-photo {
        padding: 65px 16px;
    }

    .vegan-stage-photo-card {
        grid-template-columns: 1fr;

        min-height: auto;

        border-radius: 24px;
    }


    /* En móvil conservamos mejor la composición completa */

    .vegan-stage-photo-image {
        aspect-ratio: 16 / 10;
    }

    .vegan-stage-photo-image img {
        height: 100%;

        object-fit: cover;
        object-position: center;
    }

    .vegan-stage-photo-image::after {
        display: none;
    }


    .vegan-stage-photo-content {
        padding: 38px 25px 40px;
    }

    .vegan-stage-photo-content::after {
        width: 90px;
        height: 90px;

        right: -35px;
        top: -35px;
    }

    .vegan-stage-photo-content h2 {
        font-size: 29px;
    }

    .vegan-stage-photo-intro {
        font-size: 14px;
        margin-bottom: 25px;
    }

    .vegan-stage-option {
        grid-template-columns: 30px 1fr;

        gap: 8px;

        padding: 20px 0;
    }

    .vegan-stage-option h3 {
        font-size: 18px;
    }

    .vegan-stage-option p {
        font-size: 13px;
    }

}

.page-hero-ha {
    height: 330px;
    background-image: url(https://lunapsicologia.com/wp-content/uploads/2026/09/ChatGPT-Image-11-sept-2026-12_49_49.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.habits-intro {
    padding: 100px 20px 90px;
    background: #f7f3f1;
}

.habits-intro .container {
    max-width: 1100px;
    margin: 0 auto;
}


/* PARTE SUPERIOR */

.habits-intro-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;

    gap: 80px;

    align-items: center;
}


/* TEXTO */

.habits-intro-content h2 {
    margin: 8px 0 26px;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.habits-intro-content h2 span {
    color: #9b6cae;
    font-style: italic;
}

.habits-intro-content p {
    margin: 0 0 18px;

    color: #4d464f;

    font-size: 15px;
    line-height: 1.85;
}


/* ELEMENTO VISUAL */

.habits-intro-visual {
    text-align: center;
}

.habits-balance {
    position: relative;

    width: 260px;
    height: 210px;

    margin: 0 auto 28px;
}


/* CÍRCULOS */

.habits-circle {
    position: absolute;

    border-radius: 50%;
}

.habits-circle-one {
    width: 145px;
    height: 145px;

    left: 5px;
    bottom: 0;

    background: #efe5f2;
}

.habits-circle-two {
    width: 105px;
    height: 105px;

    right: 10px;
    bottom: 10px;

    background: rgba(201, 170, 114, .16);

    border: 1px solid rgba(201, 170, 114, .45);
}

.habits-circle-three {
    width: 65px;
    height: 65px;

    left: 105px;
    top: 0;

    background: #fff;

    border: 1px solid rgba(155, 108, 174, .25);
}


/* ESTRELLA CENTRAL */

.habits-balance-center {
    position: absolute;

    left: 50%;
    top: 53%;

    transform: translate(-50%, -50%);

    color: #c9aa72;

    font-size: 15px;

    z-index: 3;
}


/* FRASE VISUAL */

.habits-intro-visual > p {
    margin: 0;

    color: #514a53;

    font-size: 18px;
    line-height: 1.65;
    font-style: italic;
}

.habits-intro-visual > p span {
    color: #9b6cae;
}


/* CIERRE INFERIOR */

.habits-intro-bottom {
    display: grid;
    grid-template-columns: 80px 1fr;

    gap: 25px;

    max-width: 820px;

    margin: 70px auto 0;
    padding-top: 35px;

    border-top: 1px solid rgba(142, 101, 159, .15);
}

.habits-intro-line {
    width: 55px;
    height: 1px;

    margin-top: 13px;

    background: #c9aa72;
}

.habits-intro-bottom p {
    margin: 0;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.85;
}

.habits-intro-bottom strong {
    color: #6f4f7d;
    font-weight: 600;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .habits-intro {
        padding: 65px 18px 70px;
    }

    .habits-intro-grid {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .habits-intro-content h2 {
        font-size: 30px;
    }

    .habits-intro-content p {
        font-size: 14px;
        line-height: 1.8;
    }


    /* visual algo más pequeño */

    .habits-balance {
        width: 220px;
        height: 175px;
    }

    .habits-circle-one {
        width: 120px;
        height: 120px;
    }

    .habits-circle-two {
        width: 88px;
        height: 88px;
    }

    .habits-circle-three {
        width: 55px;
        height: 55px;

        left: 88px;
    }

    .habits-intro-visual > p {
        font-size: 16px;
    }


    /* cierre */

    .habits-intro-bottom {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-top: 50px;
        padding-top: 28px;
    }

    .habits-intro-line {
        margin-top: 0;
    }

    .habits-intro-bottom p {
        font-size: 14px;
        line-height: 1.8;
    }

}

.habits-pillars {
    padding: 100px 20px 110px;

    background: #fff;
}

.habits-pillars .container {
    max-width: 1080px;
    margin: 0 auto;
}


/* CABECERA */

.habits-pillars-heading {
    max-width: 740px;

    margin: 0 auto 75px;

    text-align: center;
}

.habits-pillars-heading h2 {
    margin: 8px 0 18px;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.habits-pillars-heading h2 span {
    display: block;

    color: #9b6cae;

    font-style: italic;
}

.habits-pillars-heading p {
    max-width: 630px;

    margin: 0 auto;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* COMPOSICIÓN */

.habits-pillars-layout {
    position: relative;

    display: grid;

    grid-template-columns: 1fr 250px 1fr;
    grid-template-areas:
        "one center two"
        "three center four"
        ". five .";

    column-gap: 55px;
    row-gap: 25px;

    align-items: center;

    max-width: 1000px;

    margin: 0 auto;
}


/* PILARES */

.habits-pillar {
    position: relative;

    padding: 25px 5px;
}

.pillar-one {
    grid-area: one;

    text-align: right;
}

.pillar-two {
    grid-area: two;
}

.pillar-three {
    grid-area: three;

    text-align: right;
}

.pillar-four {
    grid-area: four;
}

.pillar-five {
    grid-area: five;

    max-width: 310px;

    margin: 10px auto 0;

    text-align: center;
}


/* NÚMEROS */

.habits-pillar-number {
    display: block;

    margin-bottom: 7px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* TITULARES */

.habits-pillar h3 {
    margin: 0 0 9px;

    color: #8e659f;

    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
}

.habits-pillar p {
    margin: 0;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.75;
}


/* PEQUEÑAS LÍNEAS HACIA EL CENTRO */

.pillar-one::after,
.pillar-three::after {
    content: "";

    position: absolute;

    right: -35px;
    top: 50%;

    width: 25px;
    height: 1px;

    background: rgba(201, 170, 114, .5);
}

.pillar-two::before,
.pillar-four::before {
    content: "";

    position: absolute;

    left: -35px;
    top: 50%;

    width: 25px;
    height: 1px;

    background: rgba(201, 170, 114, .5);
}


/* CENTRO */

.habits-pillars-center {
    grid-area: center;

    display: flex;
    align-items: center;
    justify-content: center;

    align-self: stretch;
}

.habits-center-ring {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 210px;
    height: 210px;

    background: #f7f3f1;

    border: 1px solid rgba(155, 108, 174, .25);
    border-radius: 50%;

    box-shadow:
        0 0 0 12px #fff,
        0 0 0 13px rgba(201, 170, 114, .22);
}


/* CÍRCULO INTERIOR */

.habits-center-ring::before {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    border: 1px solid rgba(155, 108, 174, .12);
    border-radius: 50%;
}


/* ESTRELLA */

.habits-center-star {
    position: relative;

    margin-bottom: 8px;

    color: #c9aa72;

    font-size: 12px;
}

.habits-center-ring p {
    position: relative;

    margin: 0 0 3px;

    color: #8c838c;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 3px;
}

.habits-center-ring strong {
    position: relative;

    color: #6f4f7d;

    font-size: 19px;
    font-weight: 500;
    letter-spacing: 1px;
}

.habits-center-small {
    position: relative;

    margin-top: 3px;

    color: #9b6cae;

    font-size: 14px;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .habits-pillars {
        padding: 70px 18px;
    }

    .habits-pillars-heading {
        margin-bottom: 45px;
    }

    .habits-pillars-heading h2 {
        font-size: 30px;
    }

    .habits-pillars-heading p {
        font-size: 14px;
    }


    /* CENTRO ARRIBA + PILARES DEBAJO */

    .habits-pillars-layout {
        display: flex;
        flex-direction: column;

        gap: 0;
    }

    .habits-pillars-center {
        order: 1;

        margin-bottom: 38px;
    }

    .pillar-one {
        order: 2;
    }

    .pillar-two {
        order: 3;
    }

    .pillar-three {
        order: 4;
    }

    .pillar-four {
        order: 5;
    }

    .pillar-five {
        order: 6;
    }


    /* círculo */

    .habits-center-ring {
        width: 170px;
        height: 170px;
    }

    .habits-center-ring::before {
        width: 120px;
        height: 120px;
    }


    /* pilares */

    .habits-pillar,
    .pillar-one,
    .pillar-two,
    .pillar-three,
    .pillar-four,
    .pillar-five {
        width: 100%;
        max-width: none;

        box-sizing: border-box;

        margin: 0;
        padding: 22px 5px;

        text-align: left;

        border-top: 1px solid #eadfec;
    }

    .pillar-five {
        border-bottom: 1px solid #eadfec;
    }


    /* quitamos conectores escritorio */

    .pillar-one::after,
    .pillar-three::after,
    .pillar-two::before,
    .pillar-four::before {
        display: none;
    }

    .habits-pillar h3 {
        font-size: 19px;
    }

    .habits-pillar p {
        font-size: 14px;
    }

}

.habits-progress {
    padding: 100px 20px;
    background: #f7f3f1;
}

.habits-progress .container {
    max-width: 1100px;
    margin: 0 auto;
}


/* CABECERA */

.habits-progress-heading {
    max-width: 720px;
    margin: 0 auto 70px;

    text-align: center;
}

.habits-progress-heading h2 {
    margin: 8px 0 18px;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.habits-progress-heading h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}

.habits-progress-heading p {
    max-width: 620px;
    margin: 0 auto;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* RECORRIDO */

.habits-progress-route {
    position: relative;

    display: grid;
    grid-template-columns: repeat(4, 1fr);

    gap: 30px;

    max-width: 1000px;
    margin: 0 auto;
}


/* LÍNEA HORIZONTAL */

.habits-progress-route::before {
    content: "";

    position: absolute;

    top: 28px;
    left: 12.5%;
    right: 12.5%;

    height: 1px;

    background: linear-gradient(
        to right,
        rgba(155, 108, 174, .25),
        rgba(201, 170, 114, .75)
    );
}


/* PASOS */

.habits-progress-step {
    position: relative;
    z-index: 2;

    text-align: center;
}


/* PUNTOS */

.habits-progress-point {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 56px;
    height: 56px;

    margin: 0 auto 25px;

    background: #f7f3f1;

    border: 1px solid rgba(155, 108, 174, .35);
    border-radius: 50%;
}

.habits-progress-point span {
    color: #9b6cae;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}


/* ÚLTIMO PUNTO */

.habits-progress-final {
    background: #efe5f2;
    border-color: #c9aa72;

    box-shadow: 0 8px 22px rgba(111, 79, 125, .08);
}

.habits-progress-final span {
    color: #c9aa72;

    font-size: 12px;
}


/* TEXTO */

.habits-progress-label {
    display: block;

    margin-bottom: 7px;

    color: #c9aa72;

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.habits-progress-text h3 {
    margin: 0 0 9px;

    color: #8e659f;

    font-size: 19px;
    line-height: 1.3;
    font-weight: 500;
}

.habits-progress-text p {
    max-width: 210px;

    margin: 0 auto;

    color: #4d464f;

    font-size: 13px;
    line-height: 1.7;
}


/* CIERRE */

.habits-progress-closing {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 13px;

    max-width: 750px;

    margin: 60px auto 0;
    padding-top: 30px;

    border-top: 1px solid rgba(142, 101, 159, .15);

    text-align: center;
}

.habits-progress-closing span {
    flex: 0 0 auto;

    color: #c9aa72;

    font-size: 11px;
}

.habits-progress-closing p {
    margin: 0;

    color: #6f4f7d;

    font-size: 16px;
    line-height: 1.75;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .habits-progress {
        padding: 70px 18px;
    }

    .habits-progress-heading {
        margin-bottom: 48px;
    }

    .habits-progress-heading h2 {
        font-size: 30px;
    }

    .habits-progress-heading p {
        font-size: 14px;
    }


    /* RECORRIDO VERTICAL */

    .habits-progress-route {
        display: block;

        max-width: 430px;
    }

    .habits-progress-route::before {
        top: 28px;
        bottom: 28px;
        left: 27px;
        right: auto;

        width: 1px;
        height: auto;

        background: linear-gradient(
            to bottom,
            rgba(155, 108, 174, .25),
            rgba(201, 170, 114, .75)
        );
    }

    .habits-progress-step {
        display: grid;
        grid-template-columns: 56px 1fr;

        gap: 20px;

        margin-bottom: 35px;

        text-align: left;
    }

    .habits-progress-step:last-child {
        margin-bottom: 0;
    }

    .habits-progress-point {
        margin: 0;
    }

    .habits-progress-text {
        padding-top: 3px;
    }

    .habits-progress-text p {
        max-width: none;

        margin: 0;

        font-size: 14px;
    }

    .habits-progress-closing {
        margin-top: 50px;

        align-items: flex-start;

        text-align: left;
    }

    .habits-progress-closing p {
        font-size: 15px;
    }

}

.habits-commitment {
    padding: 100px 20px;
    background: #fff;
}

.habits-commitment .container {
    max-width: 1050px;
    margin: 0 auto;
}


/* CABECERA */

.habits-commitment-heading {
    max-width: 720px;
    margin: 0 auto 60px;

    text-align: center;
}

.habits-commitment-heading h2 {
    margin: 8px 0 18px;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.habits-commitment-heading h2 span {
    color: #9b6cae;
    font-style: italic;
}

.habits-commitment-heading p {
    max-width: 620px;
    margin: 0 auto;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* BLOQUES */

.habits-commitment-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 24px;

    align-items: center;
}

.habits-commitment-item {
    position: relative;

    padding: 38px 30px;

    text-align: center;

    background: #f7f3f1;

    border-radius: 24px;
}

.habits-commitment-main {
    padding: 48px 34px;

    background: #efe5f2;

    box-shadow: 0 14px 34px rgba(66, 48, 72, .06);

    transform: translateY(-8px);
}

.habits-commitment-number {
    display: block;

    margin-bottom: 13px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.habits-commitment-item h3 {
    margin: 0 0 13px;

    color: #8e659f;

    font-size: 21px;
    font-weight: 500;
}

.habits-commitment-item p {
    margin: 0;

    color: #4d464f;

    font-size: 14px;
    line-height: 1.8;
}

.habits-commitment-star {
    display: block;

    margin-top: 20px;

    color: #c9aa72;

    font-size: 12px;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .habits-commitment {
        padding: 70px 18px;
    }

    .habits-commitment-heading {
        margin-bottom: 40px;
    }

    .habits-commitment-heading h2 {
        font-size: 30px;
    }

    .habits-commitment-heading p {
        font-size: 14px;
    }

    .habits-commitment-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .habits-commitment-item,
    .habits-commitment-main {
        padding: 30px 24px;

        transform: none;
    }

    .habits-commitment-item h3 {
        font-size: 20px;
    }

}

.habits-growth {
    padding: 100px 20px 105px;
    background: #efe5f2;
}

.habits-growth .container {
    max-width: 1050px;
    margin: 0 auto;
}


/* CABECERA */

.habits-growth-heading {
    max-width: 720px;
    margin: 0 auto 70px;

    text-align: center;
}

.habits-growth-heading h2 {
    margin: 8px 0 18px;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.habits-growth-heading h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}

.habits-growth-heading p {
    max-width: 620px;
    margin: 0 auto;

    color: #514a53;

    font-size: 15px;
    line-height: 1.8;
}


/* PROCESO */

.habits-growth-process {
    position: relative;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 60px;

    max-width: 900px;
    margin: 0 auto;
}


/* línea que conecta */

.habits-growth-process::before {
    content: "";

    position: absolute;

    top: 69px;
    left: 16%;
    right: 16%;

    height: 1px;

    background: rgba(201, 170, 114, .55);
}


/* PASOS */

.habits-growth-step {
    position: relative;
    z-index: 2;

    text-align: center;
}

.habits-growth-visual {
    position: relative;

    width: 138px;
    height: 138px;

    margin: 0 auto 24px;

    background: #f7f3f1;

    border: 1px solid rgba(155, 108, 174, .18);
    border-radius: 50%;
}


/* SEMILLA */

.seed span {
    position: absolute;

    width: 18px;
    height: 28px;

    top: 56px;
    left: 59px;

    background: #c9aa72;

    border-radius: 70% 30% 70% 30%;

    transform: rotate(35deg);
}


/* BROTE */

.sprout-stem {
    position: absolute;

    width: 1px;
    height: 48px;

    left: 68px;
    bottom: 32px;

    background: #9b6cae;
}

.sprout-leaf {
    position: absolute;

    width: 27px;
    height: 18px;

    background: #d9c4df;

    border-radius: 70% 0 70% 0;
}

.sprout-left {
    left: 42px;
    top: 52px;

    transform: rotate(18deg);
}

.sprout-right {
    right: 42px;
    top: 43px;

    transform: rotate(105deg);
}


/* PLANTA */

.plant-stem {
    position: absolute;

    width: 1px;
    height: 75px;

    left: 68px;
    bottom: 25px;

    background: #9b6cae;
}

.plant-leaf {
    position: absolute;

    width: 31px;
    height: 20px;

    background: #d9c4df;

    border-radius: 70% 0 70% 0;
}

.plant-one {
    left: 38px;
    top: 69px;

    transform: rotate(15deg);
}

.plant-two {
    right: 38px;
    top: 57px;

    transform: rotate(105deg);
}

.plant-three {
    left: 41px;
    top: 43px;

    transform: rotate(22deg);
}

.plant-four {
    right: 43px;
    top: 29px;

    transform: rotate(110deg);
}

.plant i {
    position: absolute;

    top: 14px;
    left: 50%;

    transform: translateX(-50%);

    color: #c9aa72;

    font-size: 10px;
    font-style: normal;
}


/* TEXTOS */

.habits-growth-label {
    display: block;

    margin-bottom: 7px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.habits-growth-step h3 {
    margin: 0 0 10px;

    color: #8e659f;

    font-size: 20px;
    font-weight: 500;
}

.habits-growth-step p {
    margin: 0;

    color: #514a53;

    font-size: 13px;
    line-height: 1.75;
}


/* FRASE FINAL */

.habits-growth-quote {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    max-width: 750px;

    margin: 65px auto 0;
    padding-top: 32px;

    border-top: 1px solid rgba(155, 108, 174, .16);

    text-align: center;
}

.habits-growth-quote span {
    color: #c9aa72;

    font-size: 10px;
}

.habits-growth-quote p {
    margin: 0;

    color: #6f4f7d;

    font-size: 17px;
    line-height: 1.75;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .habits-growth {
        padding: 70px 18px;
    }

    .habits-growth-heading {
        margin-bottom: 50px;
    }

    .habits-growth-heading h2 {
        font-size: 30px;
    }

    .habits-growth-heading p {
        font-size: 14px;
    }

    .habits-growth-process {
        grid-template-columns: 1fr;

        gap: 45px;

        max-width: 380px;
    }

    .habits-growth-process::before {
        display: none;
    }

    .habits-growth-visual {
        width: 125px;
        height: 125px;
    }

    .habits-growth-step p {
        max-width: 290px;
        margin: 0 auto;

        font-size: 14px;
    }

    .habits-growth-quote {
        gap: 10px;

        margin-top: 55px;
    }

    .habits-growth-quote p {
        font-size: 15px;
    }

}

.habits-session {
    padding: 100px 20px 110px;
    background: #fff;
}

.habits-session .container {
    max-width: 1050px;
    margin: 0 auto;
}


/* TARJETA */

.habits-session-card {
    position: relative;
    overflow: hidden;

    padding: 65px;

    background: #f7f3f1;

    border-radius: 28px;

    box-shadow: 0 18px 45px rgba(66, 48, 72, .06);
}


/* CÍRCULOS DECORATIVOS */

.habits-session-card::before,
.habits-session-card::after {
    content: "";

    position: absolute;

    border-radius: 50%;

    border: 1px solid rgba(155,108,174,.12);
}

.habits-session-card::before {
    width: 190px;
    height: 190px;

    left: -95px;
    top: -95px;
}

.habits-session-card::after {
    width: 120px;
    height: 120px;

    right: -55px;
    bottom: -55px;

    border-color: rgba(201,170,114,.25);
}


/* CABECERA */

.habits-session-heading {
    position: relative;
    z-index: 2;

    max-width: 680px;

    margin: 0 auto 45px;

    text-align: center;
}

.habits-session-heading h2 {
    margin: 8px 0 18px;

    color: #2f2a31;

    font-size: 39px;
    line-height: 1.25;
    font-weight: 400;
}

.habits-session-heading h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}

.habits-session-heading p {
    max-width: 590px;

    margin: 0 auto;

    color: #514a53;

    font-size: 15px;
    line-height: 1.8;
}


/* DATOS */

.habits-session-info {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    margin-bottom: 38px;

    background: #fff;

    border-radius: 20px;

    overflow: hidden;
}

.habits-session-item {
    padding: 27px 20px;

    text-align: center;
}

.habits-session-item + .habits-session-item {
    border-left: 1px solid #eadfec;
}

.habits-session-label {
    display: block;

    margin-bottom: 8px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.habits-session-item strong {
    color: #342e36;

    font-size: 18px;
    font-weight: 500;
}


/* PIE */

.habits-session-footer {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 35px;
}

.habits-session-footer p {
    margin: 0;

    color: #6f4f7d;

    font-size: 14px;
    line-height: 1.6;
    font-style: italic;
}


/* BOTÓN */

.habits-session-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 11px;

    padding: 15px 27px;

    background: #9b6cae;

    border-radius: 30px;

    color: #fff !important;

    text-decoration: none;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.4px;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.habits-session-button:hover {
    background: #8e659f;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(111,79,125,.18);
}

.habits-session-button > span {
    font-size: 17px;

    transition: transform .25s ease;
}

.habits-session-button:hover > span {
    transform: translateX(4px);
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .habits-session {
        padding: 70px 16px 80px;
    }

    .habits-session-card {
        padding: 42px 24px 38px;

        border-radius: 23px;
    }

    .habits-session-heading {
        margin-bottom: 34px;
    }

    .habits-session-heading h2 {
        font-size: 30px;
    }

    .habits-session-heading p {
        font-size: 14px;
    }

    .habits-session-info {
        grid-template-columns: 1fr;
    }

    .habits-session-item + .habits-session-item {
        border-left: 0;
        border-top: 1px solid #eadfec;
    }

    .habits-session-item {
        padding: 20px 15px;
    }

    .habits-session-footer {
        flex-direction: column;

        gap: 20px;

        text-align: center;
    }

    .habits-session-button {
        width: 100%;

        box-sizing: border-box;
    }

}

.habits-progress {
    padding: 95px 20px;
    background: #f7f3f1;
}

.habits-progress .container {
    max-width: 1180px;
    margin: 0 auto;
}

.habits-progress-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;

    gap: 65px;
    align-items: center;
}


/* TEXTO */

.habits-progress-content h2 {
    margin: 8px 0 18px;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;

    color: #2f2a31;
}

.habits-progress-content h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}

.habits-progress-intro {
    margin: 0 0 32px;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* RECORRIDO */

.habits-progress-list {
    border-top: 1px solid #eadfec;
}

.habits-progress-row {
    display: grid;
    grid-template-columns: 42px 1fr;

    gap: 14px;

    padding: 20px 0;

    border-bottom: 1px solid #eadfec;
}

.habits-progress-row > span {
    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;

    padding-top: 3px;
}

.habits-progress-row strong {
    display: block;

    margin-bottom: 5px;

    color: #8e659f;

    font-size: 18px;
    font-weight: 500;
}

.habits-progress-row p {
    margin: 0;

    color: #4d464f;

    font-size: 13px;
    line-height: 1.7;
}


/* IMAGEN */

.habits-progress-image {
    position: relative;
}

.habits-progress-image::before {
    content: "";

    position: absolute;

    right: -20px;
    bottom: -20px;

    width: 120px;
    height: 120px;

    background: #e5d2eb;

    border-radius: 28px;

    z-index: 0;
}

.habits-progress-image img {
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    height: auto;

    border-radius: 26px;

    box-shadow: 0 18px 45px rgba(66,48,72,.08);
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .habits-progress {
        padding: 70px 18px;
    }

    .habits-progress-grid {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .habits-progress-content h2 {
        font-size: 30px;
    }

    .habits-progress-intro {
        font-size: 14px;
    }

    .habits-progress-image {
        order: 2;
    }

    .habits-progress-image img {
        border-radius: 20px;
    }

    .habits-progress-image::before {
        right: -8px;
        bottom: -10px;

        width: 75px;
        height: 75px;
    }

}

.page-hero-contacto {
    height: 330px;
    background-image: url(https://lunapsicologia.com/wp-content/uploads/2026/09/bannercontacto.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.contact-intro {
    padding: 100px 20px;
    background: #f7f3f1;
}

.contact-intro .container {
    max-width: 1120px;
    margin: 0 auto;
}


/* ESTRUCTURA */

.contact-intro-grid {
    display: grid;
    grid-template-columns: 1fr .9fr;

    gap: 80px;
    align-items: center;
}


/* TEXTO */

.contact-intro-content h2 {
    margin: 8px 0 24px;

    color: #2f2a31;

    font-size: 42px;
    line-height: 1.2;
    font-weight: 400;
}

.contact-intro-content h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}


.contact-intro-lead {
    color: #3f3941 !important;

    font-size: 17px !important;
    line-height: 1.8 !important;
}

.contact-intro-content > p {
    max-width: 560px;

    margin: 0 0 18px;

    color: #514a53;

    font-size: 15px;
    line-height: 1.85;
}


/* DATOS */

.contact-intro-details {
    margin-top: 35px;

    border-top: 1px solid rgba(155,108,174,.15);
}


.contact-detail {
    display: flex;
    align-items: center;

    gap: 16px;

    padding: 17px 0;

    border-bottom: 1px solid rgba(155,108,174,.15);

    color: inherit;
    text-decoration: none;

    transition: transform .25s ease;
}

.contact-detail:hover {
    transform: translateX(4px);
}


/* ICONOS */

.contact-detail-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    background: #efe5f2;

    border-radius: 50%;

    color: #8e659f;

    font-size: 13px;
}


/* DATOS TEXTO */

.contact-detail-text {
    display: flex;
    flex-direction: column;

    gap: 3px;
}

.contact-detail-text small {
    color: #c9aa72;

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

.contact-detail-text strong {
    color: #403941;

    font-size: 14px;
    font-weight: 500;
}


/* BOTÓN */

.contact-intro-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 11px;

    margin-top: 30px;

    padding: 15px 27px;

    background: #9b6cae;

    border-radius: 30px;

    color: #fff !important;

    text-decoration: none;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.contact-intro-button:hover {
    background: #8e659f;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(111,79,125,.18);
}

.contact-intro-button span {
    font-size: 15px;
}


/* FOTO */

.contact-intro-photo {
    position: relative;

    padding: 18px 18px 0 0;
}

.contact-photo-frame {
    position: relative;
}


/* detalle detrás */

.contact-photo-frame::before {
    content: "";

    position: absolute;

    top: -18px;
    right: -18px;

    width: 72%;
    height: 75%;

    background: #e9ddec;

    border-radius: 28px;

    z-index: 0;
}


.contact-photo-frame img {
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    height: 530px;

    object-fit: cover;

    border-radius: 28px;

    box-shadow: 0 18px 45px rgba(66,48,72,.08);
}


/* NOTA SOBRE FOTO */

.contact-photo-note {
    position: absolute;

    z-index: 3;

    left: -35px;
    bottom: 30px;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 18px 22px;

    background: rgba(255,255,255,.94);

    border-radius: 16px;

    box-shadow: 0 12px 30px rgba(66,48,72,.10);

    backdrop-filter: blur(5px);
}

.contact-photo-note span {
    color: #c9aa72;

    font-size: 11px;
}

.contact-photo-note p {
    margin: 0;

    color: #6f4f7d;

    font-size: 13px;
    line-height: 1.55;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .contact-intro {
        padding: 65px 18px 75px;
    }

    .contact-intro-grid {
        grid-template-columns: 1fr;

        gap: 48px;
    }

    .contact-intro-content h2 {
        font-size: 31px;
    }

    .contact-intro-lead {
        font-size: 16px !important;
    }

    .contact-intro-content > p {
        font-size: 14px;
    }


    /* datos */

    .contact-detail {
        gap: 13px;

        padding: 15px 0;
    }

    .contact-detail-text strong {
        font-size: 13px;

        word-break: break-word;
    }


    /* botón */

    .contact-intro-button {
        width: 100%;

        box-sizing: border-box;
    }


    /* fotografía */

    .contact-intro-photo {
        padding: 10px 8px 0 0;
    }

    .contact-photo-frame::before {
        top: -10px;
        right: -8px;

        border-radius: 20px;
    }

    .contact-photo-frame img {
        height: auto;
        max-height: 480px;

        object-fit: cover;

        border-radius: 20px;
    }


    /* nota */

    .contact-photo-note {
        left: 15px;
        right: 15px;
        bottom: 15px;

        justify-content: center;

        padding: 14px 16px;

        text-align: center;
    }

}

.contact-booking {
    padding: 100px 20px;
    background: #fff;
}

.contact-booking .container {
    max-width: 1100px;
    margin: 0 auto;
}


/* CABECERA */

.contact-booking-heading {
    max-width: 720px;
    margin: 0 auto 60px;

    text-align: center;
}

.contact-booking-heading h2 {
    margin: 8px 0 18px;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.contact-booking-heading h2 span {
    display: block;

    color: #9b6cae;
    font-style: italic;
}

.contact-booking-heading p {
    max-width: 620px;
    margin: 0 auto;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* GRID */

.contact-booking-grid {
    display: grid;
    grid-template-columns: 1.4fr .6fr;

    gap: 45px;
    align-items: start;
}


/* FORMULARIO */

.contact-booking-form {
    padding: 45px;

    background: #f7f3f1;

    border-radius: 26px;

    box-shadow: 0 15px 40px rgba(66,48,72,.05);
}


/* DOS CAMPOS EN FILA */

.contact-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 20px;
}


/* CAMPOS */

.contact-form-field {
    margin-bottom: 22px;
}

.contact-form-field label {
    display: block;

    margin-bottom: 8px;

    color: #514a53;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .4px;
}


/* INPUTS */

.contact-form-field input,
.contact-form-field select,
.contact-form-field textarea {
    width: 100%;

    box-sizing: border-box;

    padding: 14px 15px;

    background: #fff;

    border: 1px solid #e4dce6;
    border-radius: 12px;

    color: #403941;

    font-family: inherit;
    font-size: 14px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.contact-form-field textarea {
    resize: vertical;
}


/* FOCUS */

.contact-form-field input:focus,
.contact-form-field select:focus,
.contact-form-field textarea:focus {
    border-color: #b992c8;

    box-shadow:
        0 0 0 3px rgba(155,108,174,.09);
}


/* PLACEHOLDER */

.contact-form-field input::placeholder,
.contact-form-field textarea::placeholder {
    color: #aaa2aa;
}


/* MODALIDAD */

.contact-form-options {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;
}

.contact-form-options label {
    margin: 0;

    cursor: pointer;
}

.contact-form-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.contact-form-options span {
    display: inline-block;

    padding: 10px 15px;

    background: #fff;

    border: 1px solid #e4dce6;
    border-radius: 20px;

    color: #625a64;

    font-size: 12px;

    transition: .2s ease;
}

.contact-form-options input:checked + span {
    background: #efe5f2;

    border-color: #c7a7d2;

    color: #8e659f;
}


/* PRIVACIDAD */

.contact-form-privacy {
    margin: 4px 0 25px;
}

.contact-form-privacy label {
    display: flex;
    align-items: flex-start;

    gap: 10px;

    cursor: pointer;
}

.contact-form-privacy input {
    margin-top: 4px;

    accent-color: #9b6cae;
}

.contact-form-privacy span {
    color: #696169;

    font-size: 12px;
    line-height: 1.6;
}

.contact-form-privacy a {
    color: #8e659f;

    text-decoration: underline;
}


/* BOTÓN */

.contact-form-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 15px 28px;

    background: #9b6cae;

    border: 0;
    border-radius: 30px;

    color: #fff;

    cursor: pointer;

    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.4px;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.contact-form-submit span {
    font-size: 17px;

    transition: transform .25s ease;
}

.contact-form-submit:hover {
    background: #8e659f;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(111,79,125,.18);
}

.contact-form-submit:hover span {
    transform: translateX(4px);
}


/* BLOQUE DERECHO */

.contact-booking-help {
    position: sticky;
    top: 130px;

    padding: 42px 34px;

    background: #efe5f2;

    border-radius: 26px;
}

.contact-help-star {
    display: block;

    margin-bottom: 18px;

    color: #c9aa72;

    font-size: 15px;
}

.contact-booking-help h3 {
    margin: 0 0 20px;

    color: #6f4f7d;

    font-size: 24px;
    line-height: 1.4;
    font-weight: 400;
}

.contact-booking-help p {
    margin: 0 0 17px;

    color: #514a53;

    font-size: 14px;
    line-height: 1.8;
}

.contact-help-line {
    width: 48px;
    height: 1px;

    margin: 27px 0 20px;

    background: #c9aa72;
}

.contact-help-small {
    color: #8e659f;

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.7px;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .contact-booking {
        padding: 70px 16px;
    }

    .contact-booking-heading {
        margin-bottom: 40px;
    }

    .contact-booking-heading h2 {
        font-size: 30px;
    }

    .contact-booking-heading p {
        font-size: 14px;
    }


    .contact-booking-grid {
        grid-template-columns: 1fr;

        gap: 28px;
    }


    .contact-booking-form {
        padding: 30px 22px;

        border-radius: 22px;
    }


    .contact-form-row {
        grid-template-columns: 1fr;

        gap: 0;
    }


    .contact-form-options {
        flex-direction: column;
    }

    .contact-form-options span {
        display: block;

        text-align: center;
    }


    .contact-form-submit {
        width: 100%;

        box-sizing: border-box;
    }


    /* en móvil deja de ser sticky */

    .contact-booking-help {
        position: static;

        padding: 32px 25px;
    }

}

.contact-booking .wpcf7-form {
    margin: 0;
}

.contact-booking .wpcf7-form p {
    margin: 0;
}

.contact-booking .wpcf7-spinner {
    margin: 10px 0 0 12px;
}

.contact-booking .wpcf7-not-valid-tip {
    margin-top: 6px;

    color: #9b6cae;

    font-size: 12px;
}

.contact-booking .wpcf7-response-output {
    margin: 22px 0 0 !important;
    padding: 14px 16px !important;

    border: 1px solid #d8b7e4 !important;
    border-radius: 12px;

    background: #f7f3f1;

    color: #514a53;

    font-size: 13px;
    line-height: 1.6;
}
/* =========================================
   MODALIDAD - CONTACT FORM 7
========================================= */

.contact-form-options .wpcf7-form-control-wrap {
    display: block;
}

.contact-form-options .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    padding: 0;
    margin: 0;

    background: transparent;
    border: 0;
}

/* CF7 añade estos spans */
.contact-form-options .wpcf7-list-item {
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* La pastilla real */
.contact-form-options .wpcf7-list-item label {
    position: relative;

    display: block;

    margin: 0 !important;
    padding: 0 !important;

    cursor: pointer;
}

/* Ocultamos el radio nativo */
.contact-form-options .wpcf7-list-item input[type="radio"] {
    position: absolute;

    opacity: 0;
    pointer-events: none;
}

/* SOLO estilizamos el texto, no todos los spans */
.contact-form-options .wpcf7-list-item-label {
    display: block;

    padding: 10px 18px;

    background: #ffffff;

    border: 1px solid #e3d8e6;
    border-radius: 25px;

    color: #625a64;

    font-size: 12px;
    line-height: 1.2;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        box-shadow .2s ease;
}

/* Seleccionado */
.contact-form-options
.wpcf7-list-item
input[type="radio"]:checked
+ .wpcf7-list-item-label {

    background: #efe5f2;

    border-color: #b98cca;

    color: #7c568b;

    box-shadow: 0 3px 10px rgba(111,79,125,.08);
}

/* =========================================
   PULIDO FORMULARIO
========================================= */

.contact-booking-form {
    padding: 40px 42px;

    background: #f8f4f2;

    border-radius: 26px;
}


/* menos separación vertical */

.contact-form-field {
    margin-bottom: 19px;
}


/* labels */

.contact-form-field > label {
    margin-bottom: 8px;

    color: #514a53;

    font-size: 11px;
    font-weight: 500;
    letter-spacing: .3px;
}


/* inputs */

.contact-booking-form input[type="text"],
.contact-booking-form input[type="email"],
.contact-booking-form input[type="tel"],
.contact-booking-form select,
.contact-booking-form textarea {

    width: 100%;
    box-sizing: border-box;

    padding: 13px 15px;

    background: #fff;

    border: 1px solid #ded4e1;
    border-radius: 12px;

    color: #403941;

    font-family: inherit;
    font-size: 14px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


/* textarea algo menos enorme */

.contact-booking-form textarea {
    min-height: 135px;
    resize: vertical;
}


/* al entrar en un campo */

.contact-booking-form input:focus,
.contact-booking-form select:focus,
.contact-booking-form textarea:focus {

    background: #fff;

    border-color: #b98cca;

    box-shadow: 0 0 0 3px rgba(155,108,174,.08);
}


/* placeholders */

.contact-booking-form input::placeholder,
.contact-booking-form textarea::placeholder {
    color: #aaa2aa;
    opacity: 1;
}


/* checkbox privacidad */

.contact-form-privacy {
    margin: 7px 0 25px;
}

.contact-form-privacy .wpcf7-list-item {
    margin: 0 !important;
}

.contact-form-privacy label {
    display: flex;
    align-items: flex-start;

    gap: 9px;
}

.contact-form-privacy input[type="checkbox"] {
    flex: 0 0 auto;

    width: 14px;
    height: 14px;

    margin-top: 2px;

    accent-color: #9b6cae;
}

.contact-form-privacy {
    color: #696169;

    font-size: 12px;
    line-height: 1.6;
}

.contact-form-privacy a {
    color: #8e659f;
}


/* botón CF7 */

.contact-booking-form input[type="submit"].contact-form-submit {
    width: auto;

    padding: 15px 27px;

    background: #9b6cae;

    border: 0;
    border-radius: 30px;

    color: #fff;

    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.2px;

    cursor: pointer;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.contact-booking-form input[type="submit"].contact-form-submit:hover {
    background: #825d91;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(111,79,125,.18);
}

@media screen and (max-width: 768px) {

    .contact-booking-form {
        padding: 30px 22px;
    }

    .contact-form-options .wpcf7-radio {
        flex-direction: column;
    }

    .contact-form-options .wpcf7-list-item-label {
        width: 100%;
        box-sizing: border-box;

        text-align: center;
    }

    .contact-booking-form input[type="submit"].contact-form-submit {
        width: 100%;
    }

}

/* =========================================
   CONSULTA / UBICACIÓN
========================================= */

.contact-location {
    padding: 100px 20px 110px;

    background: #f7f3f1;
}

.contact-location .container {
    max-width: 1120px;
    margin: 0 auto;
}


/* CABECERA */

.contact-location-heading {
    max-width: 680px;

    margin: 0 auto 55px;

    text-align: center;
}

.contact-location-heading h2 {
    margin: 8px 0 18px;

    color: #2f2a31;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 400;
}

.contact-location-heading h2 span {
    display: block;

    color: #9b6cae;

    font-style: italic;
}

.contact-location-heading p {
    max-width: 580px;

    margin: 0 auto;

    color: #5a535c;

    font-size: 15px;
    line-height: 1.8;
}


/* GRID */

.contact-location-grid {
    display: grid;

    grid-template-columns: .75fr 1.25fr;

    gap: 38px;

    align-items: stretch;
}


/* =========================================
   TARJETA
========================================= */

.contact-location-card {
    padding: 42px 38px;

    background: #fff;

    border-radius: 26px;

    box-shadow:
        0 15px 40px rgba(66,48,72,.05);
}


.location-star {
    display: block;

    margin-bottom: 24px;

    color: #c9aa72;

    font-size: 14px;
}


.location-label {
    display: block;

    margin-bottom: 10px;

    color: #a06eb0;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 2px;
}


.location-block h3 {
    margin: 0 0 10px;

    color: #403941;

    font-size: 21px;
    font-weight: 400;
}


.location-block p {
    margin: 0;

    color: #625a64;

    font-size: 14px;
    line-height: 1.8;
}


/* DIVISOR */

.location-divider {
    width: 100%;

    height: 1px;

    margin: 30px 0;

    background: #eadfec;
}


/* HORARIOS */

.location-schedule {
    margin-top: 15px;
}


.schedule-row {
    display: grid;

    grid-template-columns: 1fr auto;

    gap: 20px;

    padding: 8px 0;

    color: #5a535c;

    font-size: 13px;
}


.schedule-row strong {
    color: #403941;

    font-weight: 500;
}


.schedule-second {
    padding-top: 0;
}


.schedule-closed {
    margin-top: 8px;

    padding-top: 15px;

    border-top: 1px solid #f0e8f1;
}


.schedule-closed strong {
    color: #9b6cae;

    font-weight: 400;
}


/* BOTÓN */

.location-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 11px;

    margin-top: 30px;

    padding: 14px 24px;

    background: #9b6cae;

    border-radius: 30px;

    color: #fff !important;

    text-decoration: none;

    font-size: 10px;
    font-weight: 600;

    letter-spacing: 1.4px;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}


.location-button:hover {
    background: #825d91;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(111,79,125,.18);
}


.location-button span {
    font-size: 15px;

    transition: transform .25s ease;
}


.location-button:hover span {
    transform: translateX(4px);
}


/* =========================================
   MAPA
========================================= */

.contact-map {
    position: relative;

    min-height: 500px;

    padding: 0 18px 18px 0;
}


.contact-map iframe {
    position: relative;

    z-index: 2;

    display: block;

    width: 100%;
    height: 100%;

    min-height: 500px;

    border: 0;
    border-radius: 26px;

    filter: saturate(.72) contrast(.94);

    box-shadow:
        0 15px 40px rgba(66,48,72,.06);
}


/* detalle lila */

.contact-map-decoration {
    position: absolute;

    z-index: 1;

    right: 0;
    bottom: 0;

    width: 115px;
    height: 115px;

    background: #e5d2eb;

    border-radius: 28px;
}


/* =========================================
   MÓVIL
========================================= */

@media screen and (max-width: 768px) {

    .contact-location {
        padding: 70px 16px 80px;
    }


    .contact-location-heading {
        margin-bottom: 38px;
    }


    .contact-location-heading h2 {
        font-size: 30px;
    }


    .contact-location-heading p {
        font-size: 14px;
    }


    .contact-location-grid {
        grid-template-columns: 1fr;

        gap: 25px;
    }


    .contact-location-card {
        padding: 32px 25px;

        border-radius: 22px;
    }


    .schedule-row {
        gap: 10px;

        font-size: 12px;
    }


    .location-button {
        width: 100%;

        box-sizing: border-box;
    }


    /* MAPA */

    .contact-map {
        min-height: 360px;

        padding: 0 8px 9px 0;
    }


    .contact-map iframe {
        min-height: 360px;

        border-radius: 20px;
    }


    .contact-map-decoration {
        width: 70px;
        height: 70px;

        border-radius: 20px;
    }

}

/* =========================================
   PRELOADER · LUNA PSICOLOGÍA
========================================= */

.luna-preloader {
    position: fixed;
    inset: 0;

    z-index: 999999;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f8f4f2;

    opacity: 1;
    visibility: visible;

    transition:
        opacity .65s ease,
        visibility .65s ease;
}


/* al terminar de cargar */

.luna-preloader.is-loaded {
    opacity: 0;
    visibility: hidden;

    pointer-events: none;
}


/* contenido */

.luna-preloader-inner {
    display: flex;
    flex-direction: column;
    align-items: center;

    transform: translateY(-8px);
}


/* LOGO */

.luna-preloader-logo {
    display: block;

    width: min(270px, 62vw);
    height: auto;

    opacity: 0;

    animation: lunaLogoIn .8s ease forwards;
}


/* detalle inferior */

.luna-preloader-detail {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-top: 25px;

    opacity: 0;

    animation:
        lunaDetailIn .7s ease .25s forwards;
}


.luna-preloader-detail span {
    width: 30px;
    height: 1px;

    background: #c9aa72;
}


.luna-preloader-detail i {
    color: #9b6cae;

    font-size: 10px;
    font-style: normal;

    animation: lunaStar 1.4s ease-in-out infinite;
}


/* ENTRADA LOGO */

@keyframes lunaLogoIn {

    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* ENTRADA DETALLE */

@keyframes lunaDetailIn {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }

}


/* pequeña respiración de la estrella */

@keyframes lunaStar {

    0%,
    100% {
        opacity: .45;
        transform: scale(.85);
    }

    50% {
        opacity: 1;
        transform: scale(1.15);
    }

}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .luna-preloader-logo {
        width: min(220px, 65vw);
    }

    .luna-preloader-detail {
        margin-top: 20px;
    }

}


/* =========================================
   PÁGINAS LEGALES · LUNA PSICOLOGÍA
========================================= */

.legal-page {
    padding: 95px 20px 110px;
    background: #f7f3f1;
}

.legal-page .container {
    max-width: 1120px;
    margin: 0 auto;
}


/* CABECERA */

.legal-header {
    max-width: 720px;
    margin: 0 auto 65px;

    text-align: center;
}

.legal-header h1 {
    margin: 8px 0 12px;

    color: #2f2a31;

    font-size: 42px;
    line-height: 1.2;
    font-weight: 400;
}

.legal-header h1 span {
    color: #9b6cae;
    font-style: italic;
}

.legal-updated {
    margin: 0;

    color: #8d858e;

    font-size: 12px;
}


/* LAYOUT */

.legal-layout {
    display: grid;
    grid-template-columns: 235px 1fr;

    gap: 50px;

    align-items: start;
}


/* ÍNDICE */

.legal-index {
    position: sticky;
    top: 130px;

    padding: 27px 24px;

    background: #efe5f2;

    border-radius: 22px;
}

.legal-index-title {
    display: block;

    margin-bottom: 17px;

    color: #c9aa72;

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 2px;
}

.legal-index nav {
    display: flex;
    flex-direction: column;
}

.legal-index a {
    padding: 10px 0;

    border-bottom: 1px solid rgba(155,108,174,.12);

    color: #625a64;

    font-size: 12px;
    line-height: 1.5;

    text-decoration: none;

    transition:
        color .2s ease,
        transform .2s ease;
}

.legal-index a:last-child {
    border-bottom: 0;
}

.legal-index a:hover {
    color: #825d91;
    transform: translateX(3px);
}


/* CONTENIDO */

.legal-content {
    padding: 52px 58px;

    background: #fff;

    border-radius: 28px;

    box-shadow:
        0 16px 42px rgba(66,48,72,.05);
}


/* SECCIONES */

.legal-section {
    scroll-margin-top: 145px;

    padding-bottom: 40px;
    margin-bottom: 40px;

    border-bottom: 1px solid #eee6ef;
}

.legal-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;

    border-bottom: 0;
}


/* NÚMEROS */

.legal-number {
    display: block;

    margin-bottom: 8px;

    color: #c9aa72;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* TÍTULOS */

.legal-section h2 {
    margin: 0 0 18px;

    color: #6f4f7d;

    font-size: 23px;
    line-height: 1.35;
    font-weight: 500;
}

.legal-section h3 {
    margin: 25px 0 10px;

    color: #403941;

    font-size: 16px;
    font-weight: 500;
}


/* TEXTO */

.legal-section p,
.legal-section li {
    color: #514a53;

    font-size: 14px;
    line-height: 1.85;
}

.legal-section p {
    margin: 0 0 16px;
}

.legal-section strong {
    color: #403941;
    font-weight: 600;
}


/* ENLACES */

.legal-content a {
    color: #825d91;

    text-decoration: underline;

    text-decoration-color: rgba(130,93,145,.35);
    text-underline-offset: 3px;
}


/* TARJETA DE DATOS */

.legal-data-card {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 1px;

    margin: 28px 0;

    overflow: hidden;

    background: #eadfec;

    border: 1px solid #eadfec;
    border-radius: 18px;
}

.legal-data-card > div {
    padding: 20px 22px;

    background: #faf7f5;
}

.legal-data-card span {
    display: block;

    margin-bottom: 7px;

    color: #c9aa72;

    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.legal-data-card strong {
    display: block;

    color: #514a53;

    font-size: 13px;
    line-height: 1.65;
    font-weight: 500;
}


/* DESTACADO */

.legal-note {
    position: relative;

    margin: 28px 0;

    padding: 24px 25px 24px 48px;

    background: #efe5f2;

    border-radius: 16px;
}

.legal-note > span {
    position: absolute;

    left: 22px;
    top: 24px;

    color: #c9aa72;

    font-size: 11px;
}

.legal-note p {
    margin: 0;

    color: #6f4f7d;
    font-style: italic;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .legal-page {
        padding: 65px 16px 80px;
    }

    .legal-header {
        margin-bottom: 40px;
    }

    .legal-header h1 {
        font-size: 31px;
    }

    .legal-layout {
        grid-template-columns: 1fr;

        gap: 25px;
    }

    .legal-index {
        position: static;

        padding: 22px 20px;
    }

    .legal-content {
        padding: 32px 23px;

        border-radius: 22px;
    }

    .legal-section {
        padding-bottom: 31px;
        margin-bottom: 31px;
    }

    .legal-section h2 {
        font-size: 20px;
    }

    .legal-section p,
    .legal-section li {
        font-size: 14px;
        line-height: 1.8;
    }

    .legal-data-card {
        grid-template-columns: 1fr;
    }

    .legal-data-card > div {
        padding: 18px 19px;
    }

    .legal-note {
        padding: 22px 20px 22px 42px;
    }

}

/* =========================================
   COMPLIANZ · POLÍTICA DE COOKIES
========================================= */

.cookies-legal-content .cmplz-document {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #514a53;
}


/* Títulos internos */

.cookies-legal-content .cmplz-document h2,
.cookies-legal-content .cmplz-document h3,
.cookies-legal-content .cmplz-document h4 {
    color: #6f4f7d !important;

    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.cookies-legal-content .cmplz-document h2 {
    margin: 32px 0 16px !important;
    font-size: 22px !important;
}

.cookies-legal-content .cmplz-document h3 {
    margin: 26px 0 12px !important;
    font-size: 18px !important;
}

.cookies-legal-content .cmplz-document h4 {
    margin: 20px 0 10px !important;
    font-size: 15px !important;
}


/* Texto */

.cookies-legal-content .cmplz-document p,
.cookies-legal-content .cmplz-document li {
    color: #514a53 !important;

    font-size: 14px !important;
    line-height: 1.85 !important;
}


/* Enlaces */

.cookies-legal-content .cmplz-document a {
    color: #825d91 !important;

    text-decoration-color: rgba(130, 93, 145, .35) !important;
    text-underline-offset: 3px;
}


/* Listas */

.cookies-legal-content .cmplz-document ul,
.cookies-legal-content .cmplz-document ol {
    padding-left: 22px !important;
    margin: 15px 0 20px !important;
}


/* Tablas de cookies */

.cookies-legal-content .cmplz-document table {
    width: 100% !important;

    margin: 25px 0 !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    overflow: hidden;

    border: 1px solid #eadfec !important;
    border-radius: 14px !important;
}

.cookies-legal-content .cmplz-document th {
    padding: 13px 14px !important;

    background: #efe5f2 !important;

    color: #6f4f7d !important;

    font-size: 12px !important;
    font-weight: 600 !important;

    text-align: left;
}

.cookies-legal-content .cmplz-document td {
    padding: 13px 14px !important;

    background: #fff !important;

    border-top: 1px solid #eee6ef !important;

    color: #514a53 !important;

    font-size: 12px !important;
    line-height: 1.6 !important;
}


/* Botón gestionar consentimiento */

.cookies-legal-content .cmplz-manage-consent,
.cookies-legal-page .cmplz-manage-consent {
    background: #825d91 !important;
    color: #fff !important;

    border: 0 !important;
    border-radius: 30px !important;

    padding: 13px 22px !important;

    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;

    box-shadow: none !important;
}


/* Móvil */

@media screen and (max-width: 768px) {

    .cookies-legal-content .cmplz-document table {
        display: block;

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }

    .cookies-legal-content .cmplz-document th,
    .cookies-legal-content .cmplz-document td {
        min-width: 140px;
    }

}

/* =========================================================
   CONTACT FORM 7 · MENSAJES · LUNA PSICOLOGÍA
========================================================= */


/* Mensaje general de respuesta */

.contact-booking-form + .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
    position: relative;

    margin: 28px 0 0 !important;
    padding: 22px 24px 22px 58px !important;

    border: 0 !important;
    border-radius: 18px !important;

    font-size: 14px;
    line-height: 1.7;

    box-shadow: none;
}


/* =========================================================
   MENSAJE ENVIADO CORRECTAMENTE
========================================================= */

.wpcf7 form.sent .wpcf7-response-output {
    background: #efe5f2 !important;

    color: #514a53 !important;

    border: 1px solid rgba(155, 108, 174, .14) !important;
}


/* Estrellita Luna */

/*.wpcf7 form.sent .wpcf7-response-output::before {
    content: "✦";

    position: absolute;

    left: 24px;
    top: 20px;

    color: #c9aa72;

    font-size: 16px;
}*/


/* =========================================================
   ERRORES DE VALIDACIÓN
========================================================= */

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {

    background: #fbf4f2 !important;

    color: #725853 !important;

    border: 1px solid rgba(170, 113, 99, .18) !important;
}


/* Avisos debajo de cada campo */

.wpcf7-not-valid-tip {
    margin-top: 7px;

    color: #9b665e !important;

    font-size: 12px !important;
    line-height: 1.5;
}


/* Campo con error */

.wpcf7-not-valid {
    border-color: rgba(155, 102, 94, .45) !important;
}


/* =========================================================
   SPINNER DE CF7
========================================================= */

.wpcf7-spinner {
    margin: 0 0 0 12px !important;

    vertical-align: middle;
}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .wpcf7 form .wpcf7-response-output {
        padding: 19px 19px 19px 48px !important;

        font-size: 13px;
        line-height: 1.65;
    }

    .wpcf7 form.sent .wpcf7-response-output::before {
        left: 19px;
        top: 18px;
    }

}

/* =========================================================
   CONFIRMACIÓN ENVÍO · LUNA PSICOLOGÍA
========================================================= */



.wpcf7 form.sent .wpcf7-response-output {
    display: block !important;

    margin: 30px 0 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;

    animation: lunaFormSuccessIn .55s ease both;
}


/* TARJETA */

.luna-form-success {
    position: relative;

    display: flex;
    align-items: flex-start;

    gap: 18px;

    padding: 25px 27px;

    overflow: hidden;

    background: #efe5f2;

    border: 1px solid rgba(155, 108, 174, .14);
    border-radius: 20px;

    box-shadow:
        0 12px 30px rgba(66, 48, 72, .06);
}


/* pequeño detalle superior */

.luna-form-success::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: linear-gradient(
        90deg,
        #c9aa72,
        #9b6cae,
        #c9aa72
    );

    opacity: .75;
}


/* ESTRELLA */

.luna-form-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    margin-top: 2px;

    background: rgba(255,255,255,.6);

    border-radius: 50%;

    color: #c9aa72;

    font-size: 15px;

    animation: lunaSuccessStar 1.8s ease-in-out infinite;
}


/* CONTENIDO */

.luna-form-success-content {
    flex: 1;
}


/* KICKER */

.luna-form-success-kicker {
    display: block;

    margin-bottom: 5px;

    color: #c9aa72;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 1.8px;
}


/* TÍTULO */

.luna-form-success-title {
    display: block;

    margin-bottom: 7px;

    color: #6f4f7d;

    font-size: 18px;
    line-height: 1.35;

    font-weight: 500;
}


/* TEXTO */

.luna-form-success p {
    margin: 0 !important;

    color: #514a53;

    font-size: 13px;
    line-height: 1.7;
}


/* ENTRADA */

@keyframes lunaFormSuccessIn {

    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* RESPIRACIÓN MUY SUAVE DE LA ESTRELLA */

@keyframes lunaSuccessStar {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.12);
    }

}


/* MÓVIL */

@media screen and (max-width: 768px) {

    .luna-form-success {
        gap: 14px;

        padding: 22px 19px;

        border-radius: 18px;
    }

    .luna-form-success-icon {
        flex-basis: 34px;

        width: 34px;
        height: 34px;
    }

    .luna-form-success-title {
        font-size: 17px;
    }

    .luna-form-success p {
        font-size: 13px;
    }

}


/* Respeta usuarios que prefieren menos movimiento */

@media (prefers-reduced-motion: reduce) {

    .wpcf7 form.sent .wpcf7-response-output,
    .luna-form-success-icon {
        animation: none;
    }

}

/* =========================================================
   WHATSAPP FLOTANTE · LUNA PSICOLOGÍA
========================================================= */

.luna-whatsapp {
    position: fixed;
    right: 28px;
    bottom: 28px;

    z-index: 9998;

    font-family: inherit;
}


/* BOTÓN FLOTANTE */

.luna-whatsapp-toggle {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    padding: 0;

    background: #825d91;

    border: 0;
    border-radius: 50%;

    color: #fff;

    font-size: 26px;

    cursor: pointer;

    box-shadow:
        0 10px 28px rgba(64, 57, 65, .20);

    transition:
        transform .25s ease,
        background-color .25s ease,
        box-shadow .25s ease;
}

.luna-whatsapp-toggle:hover {
    background: #6f4f7d;

    transform: translateY(-3px);

    box-shadow:
        0 14px 32px rgba(64, 57, 65, .25);
}


/* PUNTO DORADO */

.luna-whatsapp-pulse {
    position: absolute;

    top: 2px;
    right: 2px;

    width: 11px;
    height: 11px;

    background: #c9aa72;

    border: 2px solid #f7f3f1;
    border-radius: 50%;
}


/* TARJETA */

.luna-whatsapp-card {
    position: absolute;

    right: 0;
    bottom: 76px;

    width: 330px;

    padding: 29px 27px 26px;

    background: #f7f3f1;

    border: 1px solid rgba(155, 108, 174, .12);
    border-radius: 22px;

    box-shadow:
        0 18px 50px rgba(64, 57, 65, .16);

    opacity: 0;
    visibility: hidden;

    transform:
        translateY(12px)
        scale(.97);

    transform-origin: bottom right;

    pointer-events: none;

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease;
}


/* TARJETA ABIERTA */

.luna-whatsapp.is-open .luna-whatsapp-card {
    opacity: 1;
    visibility: visible;

    transform:
        translateY(0)
        scale(1);

    pointer-events: auto;
}


/* CERRAR */

.luna-whatsapp-close {
    position: absolute;

    top: 14px;
    right: 17px;

    padding: 0;

    background: transparent;

    border: 0;

    color: #9b9099;

    font-size: 22px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;
}


/* KICKER */

.luna-whatsapp-kicker {
    display: block;

    margin-bottom: 8px;

    color: #c9aa72;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 1.8px;
}


/* TÍTULO */

.luna-whatsapp-card h3 {
    margin: 0 0 11px;

    color: #6f4f7d;

    font-size: 23px;
    line-height: 1.3;

    font-weight: 500;
}


/* TEXTO */

.luna-whatsapp-card p {
    margin: 0;

    color: #514a53;

    font-size: 13px;
    line-height: 1.75;
}


/* NOTA */

.luna-whatsapp-note {
    display: flex;
    align-items: center;

    gap: 8px;

    margin: 17px 0 20px;
}

.luna-whatsapp-note span {
    color: #c9aa72;

    font-size: 10px;
}

.luna-whatsapp-note small {
    color: #8d858e;

    font-size: 11px;
}


/* BOTÓN WHATSAPP */

.luna-whatsapp-link {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    width: 100%;

    padding: 14px 18px;

    background: #825d91;

    border-radius: 11px;

    color: #fff !important;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1px;

    text-decoration: none !important;

    transition:
        background-color .2s ease,
        transform .2s ease;
}

.luna-whatsapp-link:hover {
    background: #6f4f7d;

    color: #fff !important;

    transform: translateY(-1px);
}

.luna-whatsapp-link span {
    color: #c9aa72;

    font-size: 14px;
}


/* =========================================================
   MÓVIL
========================================================= */

@media screen and (max-width: 600px) {

    .luna-whatsapp {
        right: 18px;
        bottom: 18px;
    }

    .luna-whatsapp-toggle {
        width: 54px;
        height: 54px;

        font-size: 24px;
    }

    .luna-whatsapp-card {
        position: fixed;

        left: 16px;
        right: 16px;
        bottom: 86px;

        width: auto;

        padding: 26px 23px 23px;

        transform-origin: bottom center;
    }

}


/* ACCESIBILIDAD */

@media (prefers-reduced-motion: reduce) {

    .luna-whatsapp-card,
    .luna-whatsapp-toggle,
    .luna-whatsapp-link {
        transition: none;
    }

}






/* =========================================================
   HEADER DESKTOP DEFINITIVO
========================================================= */

@media screen and (min-width: 992px) {

    #masthead .st-header-container {
        max-width: 1180px !important;
    }

    /* ALTURA DEL HEADER */
    #masthead .row.align-items-center,
    #masthead .site-logo,
    #masthead .st-nav-col {
        height: 98px !important;
        min-height: 98px !important;
    }


    /* CONTENEDOR LOGO */
    #masthead .site-logo {
        display: flex !important;
        align-items: center !important;
        overflow: visible !important;
    }

    #masthead .site-logo .logo {
        display: flex !important;
        align-items: center !important;

        height: 78px !important;

        overflow: visible !important;
    }


    /* ENLACE DEL LOGO */
    #masthead .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 190px !important;
    height: 78px !important;

    overflow: visible !important;
}

#masthead .custom-logo {
    display: block !important;

    width: 190px !important;
    max-width: none !important;

    height: auto !important;
    max-height: none !important;

    object-fit: contain !important;

   /*transform: translateY(14px) scale(1.32);*/
    transform-origin: left center;
}


    /* MENÚ */
    #masthead .main-navigation ul li a {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }


    /* RESERVAR CITA */
    #masthead .st-header-booking-button {
        padding: 9px 16px !important;
    }
}


/* ==========================================
   HOME QUOTE — REVELADO CON SCROLL
========================================== */

.home-quote {
	
	
	
  
    position: relative;
    height: 480px;
    overflow: hidden;

    /* La posición Y la controlará JavaScript */
    --quote-y: 70%;

    background-image: url("https://lunapsicologia.com/wp-content/uploads/2026/10/image0.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center var(--quote-y);
}


/* CAPA LILA */
.home-quote-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;

    
}


/* CONTENIDO */
.home-quote-content {
    width: min(1250px, 86%);
    margin: 0 auto;

    position: relative;
    z-index: 2;
}


/* FRASE */
.home-quote blockquote {
    max-width: 1050px;

    margin: 0;

    color: #fff;

    font-size: 34px;
    line-height: 1.45;
    font-style: italic;
    font-weight: 400;
}


/* AUTORA */
.home-quote-author {
    margin: 28px 0 0;

    color: #fff;

    font-size: 24px;
    font-weight: 600;
    font-style: italic;

    text-align: right;
}
/* HEADER MÁS BAJO */
/* HEADER — ALTURA EQUILIBRADA */
@media (min-width: 769px) {

    header {
        height: 130px !important;
        min-height: 130px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
	
	

}

@media (min-width: 992px) {
    #masthead .st-nav-col {
        transform: translateY(-12px) !important;
    }
}


/* LOGO MÓVIL — MÁS GRANDE Y CENTRADO */
@media (max-width: 991px) {

    #masthead .site-logo {
        height: 105px !important;
        display: flex !important;
        align-items: center !important;
        overflow: visible !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    #masthead .site-logo .logo {
        width: 100%;
        height: 100%;
        display: flex !important;
        align-items: center !important;
    }

    #masthead .custom-logo-link {
        display: flex !important;
        align-items: center !important;
        height: 100%;
    }

    #masthead .site-logo .custom-logo {
        width: 155px !important;
        max-width: 155px !important;
        height: auto !important;

        /* Compensa el espacio transparente del PNG */
        transform: translateY(10px) !important;
        transform-origin: left center !important;
		
		
    }
}


@media (max-width: 991px) {

     #masthead.site-header {
        height: 130px !important;
        min-height: 130px !important;
    }
	
	

}

/* SUBIR CONTENIDO DEL HEADER EN MÓVIL */
@media (max-width: 991px) {

    /* Logo */
    #masthead .site-logo .custom-logo {
        transform: translateY(-14px) !important;
    }

   
}

@media (max-width: 991px) {

    /* NO mover toda la columna */
    #masthead .st-nav-col {
        transform: none !important;
    }

    /* Subimos solo RESERVAR CITA */
    #masthead .st-header-booking-button {
        transform: translateY(-20px) !important;
    }

    /* Subimos solo la hamburguesa */
    #masthead .menu-toggle {
        transform: translateY(-20px) !important;
    }

}

/* ==========================================
   MENÚ MÓVIL A PANTALLA COMPLETA
========================================== */

@media (max-width: 991px) {

    #masthead .main-navigation {
        position: static !important;
    }

    #masthead .menu-menu-principal-container {
        position: fixed !important;

        top: 90px !important;
        left: 0 !important;
        right: auto !important;

        width: 100vw !important;
        max-width: 100vw !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;

        z-index: 99999 !important;
    }

    #masthead #primary-menu {
        width: 100vw !important;
        max-width: 100vw !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    #masthead #primary-menu > li {
        width: 100% !important;
        margin: 0 !important;
    }

    #masthead #primary-menu > li > a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/*------*/
@media (max-width: 991px) {

    /* =========================
       HEADER MÓVIL
       ========================= */

    #masthead.site-header {
        height: 110px !important;
        min-height: 110px !important;
        padding: 0 !important;
    }

    #masthead .st-header-container,
    #masthead .st-header-container > .row {
        height: 110px !important;
        min-height: 110px !important;
    }


    /* =========================
       LOGO
       ========================= */

    #masthead .site-logo {
        height: 110px !important;
        display: flex !important;
        align-items: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        overflow: visible !important;
    }

    #masthead .site-logo .logo,
    #masthead .custom-logo-link {
        height: 110px !important;
        display: flex !important;
        align-items: center !important;
        overflow: visible !important;
    }

    #masthead .site-logo .custom-logo {
        width: 185px !important;
        max-width: 185px !important;
        height: auto !important;
        max-height: none !important;

        /* IMPORTANTE: centrado real */
        transform: none !important;
    }


    /* =========================
       BOTÓN + HAMBURGUESA
       ========================= */

    #masthead .st-nav-col {
        height: 110px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        /* NO mover el padre */
        transform: none !important;
    }

    #masthead .st-header-booking-button {
        transform: none !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    #masthead .menu-toggle {
        transform: none !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }


    /* =========================
       MENÚ ABIERTO
       ========================= */

    #masthead .main-navigation {
        position: static !important;
    }

    #masthead .menu-menu-principal-container {
        position: fixed !important;

        /* Debe coincidir con los 110px del header */
        top: 110px !important;

        left: 0 !important;
        right: auto !important;

        width: 100vw !important;
        max-width: 100vw !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;

        z-index: 99999 !important;
    }

    #masthead #primary-menu {
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #masthead #primary-menu > li {
        width: 100% !important;
        margin: 0 !important;
    }

    #masthead #primary-menu > li > a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/*----*/
@media (max-width: 991px) {

    /* HEADER BLANCO */
    #masthead.site-header {
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
    }

    /*
     * La barra superior conserva su altura.
     * El contenedor principal blanco mide 110px.
     */
    #masthead .st-header-container {
        height: 110px !important;
        min-height: 110px !important;
    }

    #masthead .st-header-container > .row {
        height: 110px !important;
        min-height: 110px !important;
        align-items: center !important;
    }

    /* LOGO */
    #masthead .site-logo {
        height: 110px !important;
        display: flex !important;
        align-items: center !important;
        overflow: visible !important;
    }

    #masthead .site-logo .logo,
    #masthead .custom-logo-link {
        display: flex !important;
        align-items: center !important;
        height: 100% !important;
    }

    #masthead .site-logo .custom-logo {
        width: 185px !important;
        max-width: 185px !important;
        height: auto !important;
        max-height: none !important;
        transform: none !important;
    }

    /* DERECHA */
    #masthead .st-nav-col {
        height: 110px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        transform: none !important;
    }

    #masthead .st-header-booking-button,
    #masthead .menu-toggle {
        transform: none !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* MENÚ DESPLEGABLE */
    #masthead .main-navigation {
        position: static !important;
    }

    #masthead .menu-menu-principal-container {
        position: fixed !important;

        /*
         * 35px barra superior
         * + 110px header blanco
         */
        top: 128px !important;

        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
        z-index: 99999 !important;
    }
}

/* LÍNEA INFERIOR DEL HEADER EN BLANCO */
#masthead {
    border-bottom-color: #ffffff !important;
}

/* =========================================================
   COLORES MENÚ PRINCIPAL
   ========================================================= */

/* Estado normal */
#masthead #site-navigation ul.nav-menu > li > a {
    color: #000000 !important;
}

/* Al pasar el ratón */
#masthead #site-navigation ul.nav-menu > li > a:hover,
#masthead #site-navigation ul.nav-menu > li:hover > a,
#masthead #site-navigation ul.nav-menu > li > a:focus {
    color: #9b6cae !important;
    text-decoration: none !important;
}

/* Página actual / opción seleccionada */
#masthead #site-navigation ul.nav-menu > li.current-menu-item > a,
#masthead #site-navigation ul.nav-menu > li.current_page_item > a {
    color: #9b6cae !important;
}

/* RESERVAR CITA — FONDO NEGRO AL PASAR EL RATÓN */
#masthead .st-header-booking-button:hover,
#masthead .st-header-booking-button:focus {
    background-color: #000000 !important;
}

/* =========================================================
   FOOTER — MÁS COMPACTO
   ========================================================= */

.site-footer-custom {
    padding-top: 28px !important;
    padding-bottom: 0 !important;
}

/* Reduce separación entre columnas y contenidos */
.site-footer-custom .footer-grid {
   
    /*padding-bottom: 22px !important;*/
	 padding-top: 0 !important;
    padding-bottom: 5px !important;
}

/* Títulos */
.site-footer-custom .footer-column h4 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

/* Párrafos */
.site-footer-custom .footer-column p {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

/* Listado de políticas */
.site-footer-custom .footer-links {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Parte inferior copyright */
.site-footer-custom .footer-bottom {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
	
	
    margin-top: 0 !important;

}


/* =========================================================
   POLÍTICAS — HOVER LILA
   ========================================================= */

.site-footer-custom .footer-links a:hover,
.site-footer-custom .footer-links a:focus {
    color: #9b6cae !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .site-footer-custom {
        padding-top: 20px !important;
    }

    .site-footer-custom .footer-grid {
        padding-bottom: 15px !important;
    }

    .site-footer-custom .footer-column {
        margin-bottom: 18px !important;
    }

    .site-footer-custom .footer-column h4 {
        margin-bottom: 8px !important;
    }

    .site-footer-custom .footer-column p {
        margin-bottom: 7px !important;
    }

    .site-footer-custom .footer-bottom {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}

.footer-developer a {
    color: #000000 !important;
    font-weight: 600;
    text-decoration: none !important;
    transition: color .25s ease;
}

.footer-developer a:hover {
    color: #9b6cae !important;
}

/* =========================================================
   MENÚ MÓVIL — QUITAR LÍNEAS VERDES
   ========================================================= */

@media (max-width: 991px) {

    /* Quitar línea horizontal superior del menú */
    #masthead .menu-menu-principal-container,
    #masthead #site-navigation,
    #masthead #primary-menu {
        border-top: none !important;
		box-shadow: none !important;
        -webkit-box-shadow: none !important;
    }

        

    /* Raya lila en la página seleccionada */
    #masthead #primary-menu > li.current-menu-item,
    #masthead #primary-menu > li.current_page_item,
    #masthead #primary-menu > li.current-menu-ancestor,
    #masthead #primary-menu > li.current_page_ancestor {
        border-left-color: #9b6cae !important;
    }

    /* Texto de la página seleccionada también lila */
    #masthead #primary-menu > li.current-menu-item > a,
    #masthead #primary-menu > li.current_page_item > a,
    #masthead #primary-menu > li.current-menu-ancestor > a,
    #masthead #primary-menu > li.current_page_ancestor > a {
        color: #9b6cae !important;
    }

   

    /* Hover también en lila */
    #masthead #primary-menu > li > a:hover,
    #masthead #primary-menu > li > a:focus {
        color: #9b6cae !important;
    }
}

/* =========================================================
   MENÚ MÓVIL — INDICADOR ACTIVO LILA
   ========================================================= */

@media (max-width: 991px) {

    /* Eliminar cualquier borde verde heredado */
    #masthead #primary-menu > li,
    #masthead #primary-menu > li > a {
        border-left-color: transparent !important;
    }

    /* Elemento activo */
    #masthead #primary-menu > li.current-menu-item,
    #masthead #primary-menu > li.current_page_item,
    #masthead #primary-menu > li.current-menu-ancestor,
    #masthead #primary-menu > li.current_page_ancestor {
        border-left: 4px solid #9b6cae !important;
    }

    /* Por si el tema coloca la raya directamente en el enlace */
    #masthead #primary-menu > li.current-menu-item > a,
    #masthead #primary-menu > li.current_page_item > a,
    #masthead #primary-menu > li.current-menu-ancestor > a,
    #masthead #primary-menu > li.current_page_ancestor > a {
        border-left-color: #9b6cae !important;
        color: #9b6cae !important;
    }

    /* Por si la raya está creada con ::before */
    #masthead #primary-menu > li.current-menu-item::before,
    #masthead #primary-menu > li.current_page_item::before,
    #masthead #primary-menu > li.current-menu-ancestor::before,
    #masthead #primary-menu > li.current_page_ancestor::before,
    #masthead #primary-menu > li.current-menu-item > a::before,
    #masthead #primary-menu > li.current_page_item > a::before {
        background-color: #9b6cae !important;
        border-color: #9b6cae !important;
    }
}


/* =========================================================
   MENÚ MÓVIL — SUBMENÚ ACTIVO LILA
   ========================================================= */

@media (max-width: 991px) {

    /* Quitar cualquier verde heredado en los submenús */
    #masthead #primary-menu .sub-menu > li,
    #masthead #primary-menu .sub-menu > li > a {
        border-left-color: transparent !important;
    }

    /* Raya lila en la opción activa del submenú */
    #masthead #primary-menu .sub-menu > li.current-menu-item,
    #masthead #primary-menu .sub-menu > li.current_page_item {
        border-left: 4px solid #9b6cae !important;
    }

    /* Texto activo en lila */
    #masthead #primary-menu .sub-menu > li.current-menu-item > a,
    #masthead #primary-menu .sub-menu > li.current_page_item > a {
        color: #9b6cae !important;
        border-left-color: #9b6cae !important;
    }

    /* Si el tema genera la raya mediante pseudo-elemento */
    #masthead #primary-menu .sub-menu > li.current-menu-item::before,
    #masthead #primary-menu .sub-menu > li.current_page_item::before,
    #masthead #primary-menu .sub-menu > li.current-menu-item > a::before,
    #masthead #primary-menu .sub-menu > li.current_page_item > a::before {
        background-color: #9b6cae !important;
        border-color: #9b6cae !important;
    }

    /* Hover de las opciones del submenú */
    #masthead #primary-menu .sub-menu > li > a:hover,
    #masthead #primary-menu .sub-menu > li > a:focus {
        color: #9b6cae !important;
    }
}

/* Línea inferior del menú hamburguesa → lila */
@media (max-width: 991px) {

    #masthead .menu-menu-principal-container,
    #masthead #primary-menu {
        border-bottom-color: #9b6cae !important;
    }
}



/* HOME QUOTE — CORRECCIÓN PARA ALTURA 200px */

.home-quote {
    position: relative !important;
    height: 200px !important;
    min-height: 200px !important;
    overflow: hidden !important;
	
	
}


.home-quote-overlay {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;

    width: 100% !important;
    height: 200px !important;
    min-height: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;
}

.home-quote-content {
    position: static !important;

    width: min(1200px, 86%) !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    transform: none !important;
}

.home-quote blockquote {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 !important;

    color: #fff !important;
    font-size: 23px !important;
    line-height: 1.35 !important;
	text-align:left;
}

.home-quote-author {
     max-width: 1100px !important;
    width: 100% !important;

    margin: 8px auto 0 !important;

    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    font-style: italic !important;

    text-align: right !important;
}

@media (max-width: 768px) {
    .home-quote {
        height: 320px;
    }
	.home-quote blockquote {
        font-size: 18px !important;
        line-height: 1.35 !important;
    }

    .home-quote-author {
               font-size: 15px !important;
        margin-top: 6px !important;
        text-align: right !important;
    }
}

/* CRÉDITO BYRAFA.DEV */
.site-footer-custom .footer-bottom .footer-developer {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
}

.site-footer-custom .footer-bottom .footer-developer a {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;

    color: #000000 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.site-footer-custom .footer-bottom .footer-developer a:hover,
.site-footer-custom .footer-bottom .footer-developer a:focus {
    color: #9b6cae !important;
}