﻿.section-full {
    min-height: 100vh;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
body {
    font-family: 'Inter';
    overflow-x: hidden; /* fuerza ocultar el scroll horizontal */
}
/* =========================================================
   DESIGN TOKENS
   ========================================================= */
:root {
    /* Primary Colors */
    --primary-500: #35B5A6;
    --primary-600: #2C9588;
    --primary-700: #22746B;
    --primary-300: #a9e3db;
    /* Text */
    --text-on-primary: #ffffff;
    /* Focus */
    --focus-ring: 0 0 0 3px rgba(43, 183, 166, 0.45);
    /* Sizes */
    --btn-height: 32px;
    --btn-radius: 4px;
    --btn-padding-x: 16px;
    --btn-gap: 10px;
    /* Animation */
    --transition-fast: 0.15s ease-in-out;
}

/* =========================================================
   BASE BUTTON
   ========================================================= */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--btn-gap);
    height: var(--btn-height);
    padding: 0 var(--btn-padding-x);
    border: none;
    border-radius: var(--btn-radius);
    background: transparent;
    font-family: 'Inter';
    font-size: 16px;
    letter-spacing: -1%;
    font-weight: 600;
    line-height: 115.99999999999999%;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    transition: background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

/* =========================================================
   PRIMARY BUTTON
   ========================================================= */
.btn--primary {
    background-color: var(--primary-500);
    color: var(--text-on-primary);
}

.btnlogin {
    width: 173px;
    height: 44px;
    border-radius: 4px;
    
    opacity: 1;
    padding-top: 13px;
    padding-right: 24px;
    padding-bottom: 13px;
    padding-left: 24px;
    gap: 10px;
}

.btnloginCar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /*gap: var(--btn-gap);*/
    /*height: var(--btn-height);*/
    /*padding: 0 var(--btn-padding-x);*/
    /*border: none;*/
    /*border-radius: var(--btn-radius);*/
    background: transparent;
    font-family: 'Inter';
    font-size: 14px;
    letter-spacing: -1%;
    font-weight: 600;
    line-height: 115.99999999999999%;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    transition: background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);


    background-color: #ffffff;
    color: #4D5B71;
    width: 173px;
    height: 44px;
    border-radius: 4px;
    opacity: 1;
    padding-top: 13px;
    padding-right: 24px;
    padding-bottom: 13px;
    padding-left: 24px;
    gap: 10px;
}

    /* =========================================================
   STATES
   ========================================================= */

    /* Hover */
    .btn--primary:hover:not(:disabled) {
        background-color: var(--primary-600);
        color: var(--text-on-primary);
    }

    /* Pressed / Active */
    .btn--primary:active:not(:disabled) {
        background-color: var(--primary-700);
        transform: translateY(1px);
        color: var(--text-on-primary);
    }

    /* Focus (keyboard accessibility) */
    .btn--primary:focus-visible {
        outline: none;
        box-shadow: var(--focus-ring);
    }

/* Disabled */
.btn:disabled,
.btn--disabled {
    background-color: var(--primary-300);
    color: var(--text-on-primary);
    cursor: not-allowed;
    opacity: 0.75;
    box-shadow: none;
}

/* =========================================================
   ICONS
   ========================================================= */
.btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 16px;
    line-height: 1;
}

/* =========================================================
   VARIANTS
   ========================================================= */

/* Icon Left */
.btn--icon-left {
    padding-left: 12px;
}

/* Icon Right */
.btn--icon-right {
    padding-right: 12px;
}

/* Icon Only */
.btn--icon-only {
    width: var(--btn-height);
    padding: 0;
}

    /* Prevent label space in icon-only */
    .btn--icon-only .btn__label {
        display: none;
    }

/*Favoritos*/

/* ===========================
   SECTION FULL WIDTH
   =========================== */

.favorites {
    width: 100%;
    padding: 80px 5%;
    background-color: #ffffff;
}

/* ===========================
   HEADER
   =========================== */

.favorites__header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 64px auto;
}

    .favorites__header h2 {
        font-size: 36px;
        font-weight: 700;
        color: #2f3e4e;
        margin-bottom: 16px;
    }

    .favorites__header p {
        font-size: 16px;
        color: #6b7b8c;
    }

/* ===========================
   GRID FULL WIDTH
   =========================== */

.favorites__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

/* ===========================
   CARD
   =========================== */

.favorite-card {
    position: relative;
    height: 520px;
    border-radius: 20px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
}

/* Overlay degradado */

.favorite-card__overlay {
    width: 100%;
    padding: 24px;
    background: linear-gradient( to top, rgba(0, 0, 0, 0.75) 20%, rgba(0, 0, 0, 0.35) 60%, rgba(0, 0, 0, 0.05) 100% );
}

/* Content */

.favorite-card__content {
    color: white;
}

.favorite-card__category {
    font-size: 12px;
    opacity: 0.8;
    text-transform: uppercase;
}

.favorite-card h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 8px 0;
}

.favorite-card p {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 16px;
    opacity: 0.9;
}

/* Tags */

.favorite-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

    .favorite-card__tags span {
        font-size: 12px;
        padding: 6px 12px;
        border-radius: 999px;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.8);
        color: #ffffff;
        font-weight: 500;
        backdrop-filter: blur(4px);
    }

/* Price */

.favorite-card__price {
    font-size: 14px;
    margin-bottom: 16px;
}

    .favorite-card__price strong {
        font-size: 18px;
    }

/* Button full width */

.w-100 {
    width: 100%;
}

/* ===========================
   RESPONSIVE
   =========================== */

@media (max-width: 1200px) {
    .favorites__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .favorites__grid {
        grid-template-columns: 1fr;
    }

    .favorite-card {
        height: 480px;
    }
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.how {
    width: 100%;
    padding: 120px 6%;
    background: #f6f8fb;
}

.how__container {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 80px;
}

/* ================= TITLE ================= */

.how__title {
    font-size: 44px;
    font-weight: 700;
    color: #2f3e4e;
    position: relative;
    display: inline-block;
    margin-bottom: 24px;
}

.how__brush {
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 60%;
    height: 10px;
    background: #2bb7a6;
    border-radius: 20px;
    filter: blur(1px);
}

/* ================= DESCRIPTION ================= */

.how__description {
    font-size: 18px;
    color: #6b7b8c;
    max-width: 620px;
    margin-bottom: 60px;
    line-height: 1.6;
}

/* ================= STEPS ================= */

.how__steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.how-card {
    background: #ffffff;
    border: 1.5px solid #2bb7a6;
    border-radius: 18px;
    padding: 32px;
    transition: all 0.3s ease;
}

    .how-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 15px 40px rgba(0,0,0,0.08);
    }

.how-card__icon {
    margin-bottom: 20px;
}

.how-card h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #2f3e4e;
}

.how-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #6b7b8c;
}

/* ================= CIRCLE IMAGE ================= */

.how__image {
    display: flex;
    justify-content: center;
}

.how__circle {
    width: 580px;
    height: 580px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1f877a, #2bb7a6);
    padding: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .how__circle img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%;
    }

/* ================= RESPONSIVE ================= */

@media (max-width: 1200px) {

    .how__container {
        grid-template-columns: 1fr;
    }

    .how__steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .how__circle {
        width: 420px;
        height: 420px;
    }
}

@media (max-width: 768px) {

    .how__steps {
        grid-template-columns: 1fr;
    }

    .how__title {
        font-size: 32px;
    }

    .how__circle {
        width: 320px;
        height: 320px;
    }
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* ===========================
   SECTION
   =========================== */

.why {
    width: 100%;
    padding: 120px 6%;
    background: #f6f8fb;
    position: relative;
}

/* ================= HEADER ================= */

.why__header {
    text-align: left;
    margin-bottom: 60px;
}

    .why__header h2 {
        font-size: 42px;
        font-weight: 700;
        color: #2f3e4e;
        margin-bottom: 20px;
    }

.why__tags {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

    .why__tags span {
        font-size: 13px;
        padding: 6px 14px;
        border-radius: 999px;
        border: 1px solid #d0d7de;
        background: white;
    }

/* ================= CONTENT ================= */

.why__content {
    position: relative;
    min-height: 600px;
}

/* ================= CAR ================= */

.why__car {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 80px;
    z-index: 2;
}

    .why__car img {
        width: 500px;
        max-width: 100%;
    }

/* ================= CARDS ================= */

.why-card {
    position: absolute;
    width: 360px;
    padding: 28px;
    border-radius: 18px;
    background: white;
    border: 1.5px solid #2bb7a6;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

    .why-card h3 {
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 12px;
        color: #2f3e4e;
    }

    .why-card p {
        font-size: 14px;
        color: #6b7b8c;
        line-height: 1.6;
    }

/* ================= POSITIONING ================= */

.why-card--left-top {
    left: 0;
    top: 40px;
    background: linear-gradient(135deg, #1f877a, #2bb7a6);
    color: white;
    border: none;
}

    .why-card--left-top h3,
    .why-card--left-top p {
        color: white;
    }

.why-card--left-bottom {
    left: 0;
    bottom: 0;
}

.why-card--right-top {
    right: 0;
    top: 0;
}

.why-card--right-bottom {
    right: 0;
    bottom: 40px;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 1200px) {

    .why__content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }

    .why-card,
    .why__car {
        position: static;
        transform: none;
        width: 100%;
        max-width: 500px;
    }

        .why__car img {
            width: 100%;
        }
}

