.review-card{
    background:#fff;
    border-radius:24px;
    padding:32px;
    box-shadow:0 10px 40px rgba(0,0,0,.08);
    max-width:900px;
    margin:auto;
}

.review-stars{
    color:#C8A35D;
    font-size:22px;
    margin-bottom:10px;
}

#reviewAuthor{
    font-weight:700;
    margin-bottom:10px;
}

#reviewTitle{
    margin-bottom:15px;
}


#reviewContent{
    line-height:1.8;
    overflow:hidden;
    max-height:10.8em;
    transition:max-height .35s ease;
}
#reviewContent.expandida{max-height:2000px;}
.review-toggle{
display:none;margin-top:16px;background:none;border:none;color:#b68a53;font-weight:700;cursor:pointer;font-size:.95rem;padding:0;
}
.review-toggle:hover{color:#8f6940;}


.review-nav{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:20px;
}





/* Enlace desplegable */

/* ===== Botón abrir formulario ===== */


.toggle-opinion{

display:flex;
align-items:center;
justify-content:center;
gap:14px;

width:100%;
max-width:560px;
margin:45px auto 0;

padding:20px 34px;

background:linear-gradient(135deg,#b78b55 0%,#d9bc87 50%,#b78b55 100%);

border:none;
border-radius:999px;

color:#fff;

font-family:Manrope,sans-serif;
font-size:18px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;

cursor:pointer;

box-shadow:
0 18px 40px rgba(183,139,85,.30);

transition:
transform .35s,
box-shadow .35s,
filter .35s;

position:relative;
overflow:hidden;

-webkit-appearance:none;
appearance:none;

touch-action:manipulation;

}

.toggle-opinion::before{

content:"";

position:absolute;

left:-120%;
top:0;

width:60%;
height:100%;

background:
linear-gradient(
120deg,
transparent,
rgba(255,255,255,.55),
transparent);

transition:.9s;

}

.toggle-opinion:hover::before{

left:140%;

}

.toggle-opinion:hover{

transform:translateY(-4px);

box-shadow:
0 26px 60px rgba(183,139,85,.40);

}

.toggle-opinion:active{

transform:scale(.98);

}


.toggle-opinion:hover{

    color:#b58b52;

    transform:translateY(-2px);
}


.flecha{

    font-size:18px;

    margin-left:8px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    transition:
        transform .35s ease,
        color .35s ease;

}

.flecha.abierta{

    transform:rotate(180deg);

}




/* Contenedor del formulario */

#opinionContainer{

    display:none;
    margin-top:30px;
}

#opinionContainer.visible{

    display:block;

    animation:desplegar .35s ease;
}

@keyframes desplegar{

    from{
        opacity:0;
        transform:translateY(-15px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}



/*======================================================
FORMULARIO PREMIUM
======================================================*/

#opinionContainer{

    display:none;

    margin:25px auto 0;

    max-width:1100px;

    padding:40px;

    border-radius:30px;

    background:#faf7f2;

    box-shadow:
        0 20px 60px rgba(0,0,0,.08);

    animation:desplegar .40s ease;
}

#opinionContainer.visible{

    display:block;
}

#formularioOpinion{

    display:flex;
    flex-direction:column;
    gap:18px;
}

#formularioOpinion input,
#formularioOpinion textarea,
#formularioOpinion select{

    width:100%;

    padding:18px 22px;

    border:none;

    border-radius:18px;

    background:#ffffff;

    font-size:16px;

    transition:.30s;
}

#formularioOpinion textarea{

    min-height:170px;

    resize:vertical;
}

#formularioOpinion input:focus,
#formularioOpinion textarea:focus,
#formularioOpinion select:focus{

    outline:none;

    box-shadow:
        0 0 0 3px rgba(197,154,99,.25);
}


/*======================================================
BOTÓN PREMIUM
======================================================*/

#formularioOpinion button{

    width:320px;

    margin:25px auto 0;

    padding:18px 30px;

    border:none;

    border-radius:60px;

    background:
        linear-gradient(
            135deg,
            #b88a53,
            #d8b67d,
            #b88a53
        );

    color:#fff;

    font-weight:700;

    letter-spacing:.10em;

    text-transform:uppercase;

    cursor:pointer;

    position:relative;

    overflow:hidden;

    transition:
        transform .35s,
        box-shadow .35s;
}

#formularioOpinion button::before{

    content:"";

    position:absolute;

    left:-120%;

    top:0;

    width:60%;

    height:100%;

    background:
        linear-gradient(
            120deg,
            transparent,
            rgba(255,255,255,.55),
            transparent
        );

    transition:.8s;
}

#formularioOpinion button:hover{

    transform:translateY(-4px);

    box-shadow:
        0 18px 45px rgba(184,138,83,.40);
}

#formularioOpinion button:hover::before{

    left:150%;
}

#formularioOpinion button:active{

    transform:scale(.98);
}



.opinion-info{

    text-align:center;

    margin-top:18px;

    color:#8d8176;

    font-size:.92rem;

    font-style:italic;
}




@media (max-width:768px){
#opinionContainer{padding:24px 18px;border-radius:22px;margin-top:24px}
#formularioOpinion button{display:block;width:100%;max-width:100%;margin:24px 0 0;box-sizing:border-box;padding:18px 20px;font-size:14px;letter-spacing:.08em}
}

/*======================================================
VALORACIÓN PREMIUM
======================================================*/

.rating-card{

background:linear-gradient(
180deg,
#fffefc,
#faf6ef
);

border:1px solid rgba(197,154,76,.20);

border-radius:24px;

padding:28px;

margin:18px 0 30px;

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

transition:.35s;

}

.rating-card:hover{

box-shadow:
0 20px 55px rgba(0,0,0,.08);

}

.rating-header{

display:flex;

gap:15px;

align-items:flex-start;

margin-bottom:18px;

}

.rating-icon{

font-size:30px;

line-height:1;

}

.rating-title{

display:block;

font-size:1.12rem;

font-weight:700;

color:#433229;

margin-bottom:6px;

}

.required{

color:#C89A46;

}

.rating-subtitle{

font-size:.93rem;

color:#8a8177;

line-height:1.6;

margin:0;

}

.star-rating{

display:flex;

justify-content:center;

align-items:center;

gap:10px;

margin-top:18px;

}

.star-rating span{

font-size:44px;

cursor:pointer;

color:#e7d9bc;

transition:

color .25s,

transform .25s,

text-shadow .25s;

user-select:none;

}

.star-rating span:hover{

transform:translateY(-4px) scale(1.15);

}

.star-rating span.active{

color:#C89A46;

text-shadow:

0 0 12px rgba(200,154,70,.40);

transform:scale(1.18);

}

.rating-text{

margin-top:18px;

text-align:center;

font-weight:600;

font-size:16px;

color:#71532c;

min-height:24px;

transition:.30s;

}

/*====================================
RESPONSIVE
====================================*/

@media (max-width:768px){

.rating-card{

padding:20px;

}

.rating-header{

flex-direction:column;

align-items:center;

text-align:center;

}

.rating-title{

font-size:17px;

}

.rating-subtitle{

font-size:14px;

}

.star-rating{

gap:6px;

}

.star-rating span{

font-size:38px;

width:48px;

height:48px;

display:flex;

align-items:center;

justify-content:center;

}

.rating-text{

font-size:15px;

}

}


summary.premium-opinion{display:inline-flex;align-items:center;gap:.5rem;padding:16px 34px;border-radius:999px;background:linear-gradient(135deg,#b08a5a,#e5c78a);color:#fff;font-weight:700;cursor:pointer;transition:.35s;box-shadow:0 10px 25px rgba(0,0,0,.15)}
summary.premium-opinion:hover{transform:translateY(-3px) scale(1.03);filter:brightness(1.05)}
.op-hint{margin-top:12px;opacity:.8;font-size:.9rem}

.toggle-content{
display:flex;
flex-direction:column;
align-items:flex-start;
flex:1;
text-align:left;
}

.toggle-title{
font-size:20px;
font-weight:800;
color:#fff;
line-height:1.2;
}

.toggle-subtitle{
margin-top:4px;
font-size:13px;
font-weight:500;
color:rgba(255,255,255,.90);
}

@media(max-width:768px){

.toggle-content{
align-items:center;
text-align:center;
}

.toggle-title{
font-size:17px;
}

.toggle-subtitle{
font-size:12px;
}

}
/*==================================================
FOOTER LEGAL MINIMAL PREMIUM
==================================================*/

.contact-clone-footer{

padding:60px 30px;

text-align:center;

background:#f7f3ec;

border-top:1px solid rgba(198,164,91,.18);

}

.footer-copy{

margin:28px 0 40px;

font-size:.95rem;

color:#7b7065;

line-height:1.8;

}

.footer-copy strong{

color:#3d3129;

}

.footer-legal{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:34px;

max-width:1200px;

margin:auto;

text-align:left;

}

.footer-legal-item{

position:relative;

padding-right:28px;

}

.footer-legal-item:not(:last-child)::after{

content:"";

position:absolute;

top:4px;

right:0;

width:1px;

height:85%;

background:rgba(198,164,91,.18);

}

.footer-legal-item h4{

margin:0 0 14px;

font-family:"Cormorant Garamond",serif;

font-size:24px;

font-weight:700;

color:#46372d;

}

.footer-legal-item p{

margin:0;

font-size:14px;

line-height:1.8;

color:#7a7067;

}

.footer-legal-item strong{

color:#46372d;

}

/* Tablet */

@media (max-width:992px){

.footer-legal{

grid-template-columns:repeat(2,1fr);

gap:40px;

}

.footer-legal-item::after{

display:none;

}

}

/* Móvil */

@media (max-width:768px){

.contact-clone-footer{

padding:45px 22px;

}

.footer-copy{

margin:24px 0 30px;

font-size:.90rem;

}

.footer-legal{

grid-template-columns:1fr;

gap:24px;

text-align:center;

}

.footer-legal-item{

padding:0 0 18px;

border-bottom:1px solid rgba(198,164,91,.15);

}

.footer-legal-item:last-child{

border-bottom:none;

padding-bottom:0;

}

.footer-legal-item h4{

font-size:22px;

margin-bottom:8px;

}

.footer-legal-item p{

font-size:14px;

}

}
/*==========================================
ENLACES LEGALES PREMIUM
==========================================*/

.footer-legal-item a{

    color:#4d3b30;

    font-weight:700;

    text-decoration:none;

    border-bottom:1px solid rgba(198,164,91,.35);

    transition:.30s ease;

}

.footer-legal-item a:hover{

    color:#b88a53;

    border-bottom-color:#b88a53;

}

.footer-legal-item strong{

    font-weight:700;

    color:#433229;

}

/* =====================================================
   GOOGLE REVIEWS
===================================================== */


.google-review-card{

    max-width:900px;

    margin:20px auto 0;

    padding:42px 38px;

    background:linear-gradient(180deg,#ffffff,#fcfaf6);

    border:1px solid rgba(198,164,91,.22);

    border-radius:26px;

    text-align:center;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}



.google-review-header{

    margin-bottom:30px;

}





.google-review-icon {

    color: #D4AF37;

    font-size: 32px;

    letter-spacing: 5px;

    margin-bottom: 18px;

}


.google-badge{

    display:inline-block;

    padding:10px 20px;

    border-radius:999px;

    background:#f5f5f5;

    color:#666;

    font-size:.78rem;

    font-weight:700;

    letter-spacing:.10em;

    text-transform:uppercase;

}



.google-review-card h3 {

    margin-bottom: 18px;

    color: #6f5533;

    font-size: 2rem;

}

.google-review-card p {

    color: #666;

    line-height: 1.75;

    max-width: 650px;

    margin: 0 auto 18px;

}

.google-review-thanks {

    margin-top: 20px;

    color: #b58a63;

    font-style: italic;

    font-weight: 600;

    font-size: 1.05rem;

}

.google-review-buttons {

    display:flex;

    justify-content:center;

    align-items:center;

    gap:22px;

    flex-wrap:wrap;

    margin:10px auto 42px;

}

.google-review-btn,
.google-profile-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 300px;

    min-height: 60px;

    padding: 16px 30px;

    border-radius: 999px;

    text-decoration: none;

    font-weight: 600;

    font-size: 1rem;

    transition:
        background-color .30s ease,
        color .30s ease,
        transform .30s ease,
        box-shadow .30s ease;

}

.google-review-btn {

    background: #c6a45b;

    color: #ffffff;

    box-shadow: 0 8px 20px rgba(181,138,99,.25);

}


.google-review-btn:hover{

    background:#b58a63;

    color:#ffffff;

    transform:translateY(-3px);

    box-shadow:0 16px 34px rgba(181,138,99,.35);

}

.google-profile-btn {

    background: linear-gradient(180deg,#ffffff,#fcfaf6);

    color: #6f5533;

    border: 2px solid #c6a45b;

    box-shadow: 0 12px 28px rgba(198,164,91,.14);

}

.google-profile-btn:hover {

    background: #faf7f2;

    color: #5b4328;

    transform: translateY(-3px);

    box-shadow: 0 16px 34px rgba(198,164,91,.20);

}


@media (max-width:768px) {

    .google-review-card {

        padding: 30px 22px;

    }

    .google-review-card h3 {

        font-size: 1.55rem;

    }

    .google-review-btn,
    .google-profile-btn {

        width: 100%;

        min-width: auto;

    }

}

.google-review-footer{

    margin-top:35px;

    padding-top:25px;

    border-top:1px solid rgba(198,164,91,.18);

}

.google-review-footer p{

    color:#8b7a69;

    font-size:.95rem;

    font-style:italic;

    margin:0;

}
.google-review-note{

    max-width:560px;

    margin:18px auto 0;

    color:#7a7a7a;

    font-size:.95rem;

    line-height:1.6;

}

.google-divider{

    margin:60px auto 25px;

    text-align:center;

}

.google-divider span{

    display:block;

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(2.8rem,5vw,3.8rem);

    font-weight:700;

    color:#3f2f22;

    line-height:1.1;

    text-align:center;

    max-width:1200px;

    margin:0 auto;

}

.web-review-info{

    margin:18px auto 18px;

    max-width:700px;

}

.web-review-title{

    margin:12px 0 18px;

    font-size:1.35rem;

    font-weight:700;

    color:#6f5533;

    text-align:center;

}

.web-review-title{
    margin-bottom:12px;
}

.web-review-text{
    margin:0 0 24px;
    line-height:1.8;
    color:#666;
    text-align:center;
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
    padding-bottom:8px;
}


.google-review-small{

    max-width:720px;

    margin:35px auto 0;

    color:#5f564d;

    font-size:1.15rem;

    font-weight:500;

    line-height:1.8;

    text-align:center;

}



/* =====================================================
   GOOGLE SECTION TITLE
===================================================== */
.google-section-title{

    margin:0 0 28px;

    padding:0;

    background:none;

    border:none;

    border-radius:0;

    color:#8a8177;

    font-family:"Manrope",sans-serif;

    font-size:.82rem;

    font-weight:700;

    letter-spacing:.20em;

    text-transform:uppercase;

    text-align:center;

}

/*======================================================
SEPARADOR GOOGLE
======================================================*/




.google-rating{

    margin:-8px 0 30px;

    text-align:center;

    color:#c6a45b;

    font-size:1.1rem;

    font-weight:600;

}

.google-rating strong{

    color:#4b392d;

}

.section-head.center{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.web-review-title{
    margin:16px 0 12px;
}

.web-review-text{
    display:block;
    width:100%;
    max-width:620px;
    margin:0 0 24px;
    padding-bottom:12px;
    line-height:1.8;
}

/* Oculta el botón flotante "Cookie Policy" */
.cc-revoke,
.cc-btn.cc-revoke {
    display: none !important;
}