/* =========================================================
   PINEAPPLE COSTA GROUP
   GLOBAL FOOTER — CLEAN VERSION
   ========================================================= */

:root{
    --pcg-navy:#10264a;
    --pcg-navy-dark:#081a34;
    --pcg-gold:#c9a24d;
    --pcg-ivory:#fbfaf7;
    --pcg-soft:#f4f1eb;
    --pcg-text:#647087;
    --pcg-line:#e4ded3;
}

/* =========================================================
   ROOT
   ========================================================= */

.pcg-footer,
.pcg-footer *{
    box-sizing:border-box;
}

.pcg-footer{
	outline:10px solid red !important;
    position:relative;
    width:100%;
    overflow:hidden;
    background:var(--pcg-ivory);
    color:var(--pcg-navy);
    font-family:Inter,Arial,Helvetica,sans-serif;
    border-top:1px solid rgba(201,162,77,.40);
}

/* =========================================================
   MAIN CONTAINER
   ========================================================= */

.pcg-footer__main{
    width:min(1320px,calc(100% - 80px));
    margin:0 auto;

    display:grid;
    grid-template-columns:1.35fr .72fr 1fr 1.12fr;
    gap:72px;
    align-items:start;

    padding:68px 0 58px;
}

/* =========================================================
   BRAND
   ========================================================= */

.pcg-footer__brand{
    max-width:390px;
}

.pcg-footer__logo{
    display:inline-block;
    text-decoration:none;
}

.pcg-footer__logo img{
    display:block;
    width:255px;
    max-width:100%;
    height:auto;
    margin:0 0 22px;
}

.pcg-footer__tagline{
    margin:0;
    color:#405777;
    font-family:Cardo,Georgia,"Times New Roman",serif;
    font-size:25px;
    line-height:1.25;
    font-style:italic;
    font-weight:400;
}

.pcg-footer__brand::after{
    content:"";
    display:block;
    width:44px;
    height:1px;
    background:var(--pcg-gold);
    margin:18px 0 14px;
}

.pcg-footer__descriptor{
    margin:0;
    max-width:300px;
    color:#8a93a2;
    font-size:10px;
    line-height:1.6;
}

/* =========================================================
   GROUPS / COLUMNS
   ========================================================= */

.pcg-footer__group{
    margin:0;
    padding:0;
    border:0;
}

.pcg-footer__group > summary{
    list-style:none;
    cursor:default;
    pointer-events:none;
}

.pcg-footer__group > summary::-webkit-details-marker{
    display:none;
}

.pcg-footer__group-body{
    display:block;
}

.pcg-footer__title,
.pcg-footer__group > summary{
    position:relative;
    margin:0 0 24px;
    padding:0 0 13px;

    color:var(--pcg-navy);
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2.2px;
}

.pcg-footer__title::after,
.pcg-footer__group > summary::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:34px;
    height:2px;
    background:var(--pcg-gold);
}

/* =========================================================
   LINKS
   ========================================================= */

.pcg-footer__links{
    list-style:none;
    margin:0;
    padding:0;

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

.pcg-footer__links li{
    margin:0;
    padding:0;
}

.pcg-footer__links a{
    color:#405777;
    text-decoration:none;
    font-size:13px;
    line-height:1.35;
    transition:color .2s ease,transform .2s ease;
}

.pcg-footer__links a:hover{
    color:var(--pcg-gold);
}

.pcg-footer__quote-link{
    color:var(--pcg-gold)!important;
    font-weight:700;
}

.pcg-footer__quote-link span{
    display:inline-block;
    margin-left:8px;
    transition:transform .2s ease;
}

.pcg-footer__quote-link:hover span{
    transform:translateX(4px);
}

/* =========================================================
   CONTACT
   ========================================================= */

.pcg-footer__contact{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.pcg-footer__contact-row{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:12px;
    align-items:center;

    color:#405777;
    font-size:12.5px;
    line-height:1.35;
    text-decoration:none;
}

a.pcg-footer__contact-row:hover{
    color:var(--pcg-gold);
}

.pcg-footer__icon,
.pcg-footer__contact-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:28px;
    height:28px;
    flex:0 0 28px;

    color:var(--pcg-gold);
    border:1px solid rgba(201,162,77,.55);
    border-radius:50%;
}

.pcg-footer__icon svg,
.pcg-footer__contact-icon svg{
    width:14px;
    height:14px;
    display:block;
    fill:none;
    stroke:currentColor;
}

.pcg-footer__contact-row small{
    display:block;
    margin-top:2px;
    color:#9ba2ae;
    font-size:9px;
    line-height:1.2;
}

/* =========================================================
   CONTACT BUTTON
   ========================================================= */

.pcg-footer__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    width:max-content;
    margin-top:7px;
    padding:13px 20px;

    border:1px solid rgba(201,162,77,.70);
    background:transparent;

    color:var(--pcg-navy);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:1.2px;
    font-size:9.5px;
    font-weight:700;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.pcg-footer__button:hover{
    background:var(--pcg-gold);
    border-color:var(--pcg-gold);
    color:#fff;
}

/* =========================================================
   SIGNATURE ROW
   ========================================================= */

.pcg-footer__signature{
    border-top:1px solid var(--pcg-line);
}

.pcg-footer__signature-inner{
    width:min(1320px,calc(100% - 80px));
    min-height:66px;
    margin:0 auto;

    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:30px;
}

.pcg-footer__signature-place,
.pcg-footer__script{
    margin:0;

    color:var(--pcg-gold);
    font-family:Cardo,Georgia,"Times New Roman",serif;
    font-style:italic;
    font-size:18px;
    line-height:1;
}

.pcg-footer__signature-line{
    display:none;
}

.pcg-footer__smallcaps{
    margin:0;
    text-align:right;

    color:#9299a4;
    font-size:8px;
    line-height:1.4;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
}

/* =========================================================
   BOTTOM BAR
   ========================================================= */

.pcg-footer__bottom{
    background:var(--pcg-navy);
    color:#fff;
}

.pcg-footer__bottom-inner{
    width:min(1320px,calc(100% - 80px));
    min-height:58px;
    margin:0 auto;

    display:grid;
    grid-template-columns:1fr auto auto;
    gap:28px;
    align-items:center;
}

.pcg-footer__copyright{
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:9px;
    line-height:1.4;
}

.pcg-footer__legal{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
}

.pcg-footer__legal a{
    color:rgba(255,255,255,.78);
    text-decoration:none;
    font-size:9px;
    white-space:nowrap;
}

.pcg-footer__legal a:hover{
    color:var(--pcg-gold);
}

.pcg-footer__legal span{
    color:rgba(255,255,255,.30);
}

/* =========================================================
   UTILITIES / LANGUAGES / SOCIALS
   ========================================================= */

.pcg-footer__utilities{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}

.pcg-footer__langs{
    display:flex;
    align-items:center;
    gap:8px;
}

.pcg-footer__langs a{
    color:#fff;
    text-decoration:none;
    font-size:9px;
    font-weight:600;
}

.pcg-footer__langs img{
    width:18px;
    height:auto;
    display:block;
}

.pcg-footer__socials{
    display:flex;
    align-items:center;
    gap:7px;
}

.pcg-footer__socials a{
    display:flex;
    align-items:center;
    justify-content:center;

    width:27px;
    height:27px;

    border:1px solid rgba(201,162,77,.65);
    border-radius:50%;

    color:#fff;
    text-decoration:none;
    font-size:8px;
    text-transform:lowercase;

    transition:background .2s ease,color .2s ease;
}

.pcg-footer__socials a:hover{
    background:var(--pcg-gold);
    color:var(--pcg-navy);
}

/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1100px){

    .pcg-footer__main{
        width:min(920px,calc(100% - 56px));
        grid-template-columns:1.25fr 1fr 1fr;
        gap:45px;
    }

    .pcg-footer__brand{
        grid-row:span 2;
    }

    .pcg-footer__group--contact{
        grid-column:2 / 4;
    }

    .pcg-footer__signature-inner,
    .pcg-footer__bottom-inner{
        width:calc(100% - 56px);
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:767px){

    .pcg-footer__main{
        width:calc(100% - 40px);
        display:block;
        padding:44px 0 36px;
    }

    .pcg-footer__brand{
        max-width:none;
        text-align:center;
        margin-bottom:38px;
    }

    .pcg-footer__logo img{
        width:190px;
        margin:0 auto 18px;
    }

    .pcg-footer__tagline{
        font-size:21px;
    }

    .pcg-footer__brand::after{
        margin:17px auto 14px;
    }

    .pcg-footer__descriptor{
        max-width:290px;
        margin:0 auto;
        font-size:9.5px;
    }

    .pcg-footer__group{
        border-top:1px solid var(--pcg-line);
    }

    .pcg-footer__group:last-child{
        border-bottom:1px solid var(--pcg-line);
    }

    .pcg-footer__group > summary{
        pointer-events:auto;
        cursor:pointer;

        margin:0;
        padding:18px 32px 18px 0;

        font-size:11px;
    }

    .pcg-footer__group > summary::after{
        width:28px;
    }

    .pcg-footer__group > summary::before{
        content:"+";
        position:absolute;
        right:2px;
        top:50%;
        transform:translateY(-50%);

        color:var(--pcg-gold);
        font-size:19px;
        line-height:1;
        font-weight:400;
    }

    .pcg-footer__group[open] > summary::before{
        content:"−";
    }

    .pcg-footer__group-body{
        padding:4px 0 24px;
    }

    .pcg-footer__title{
        display:none;
    }

    .pcg-footer__links{
        gap:12px;
    }

    .pcg-footer__links a{
        font-size:13px;
    }

    .pcg-footer__contact-row{
        font-size:12px;
    }

    .pcg-footer__button{
        width:100%;
        margin-top:12px;
        padding:14px 18px;
    }

    .pcg-footer__signature-inner{
        width:calc(100% - 40px);
        min-height:auto;
        padding:18px 0;

        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:9px;
    }

    .pcg-footer__signature-place,
    .pcg-footer__script{
        font-size:17px;
    }

    .pcg-footer__smallcaps{
        text-align:center;
        font-size:7px;
    }

    .pcg-footer__bottom-inner{
        width:calc(100% - 40px);
        min-height:auto;
        padding:20px 0;

        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:15px;
    }

    .pcg-footer__copyright{
        order:3;
        text-align:center;
    }

    .pcg-footer__legal{
        order:2;
    }

    .pcg-footer__utilities{
        order:1;
        justify-content:center;
        flex-wrap:wrap;
    }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:420px){

    .pcg-footer__main,
    .pcg-footer__signature-inner,
    .pcg-footer__bottom-inner{
        width:calc(100% - 32px);
    }

    .pcg-footer__logo img{
        width:170px;
    }

    .pcg-footer__tagline{
        font-size:19px;
    }

    .pcg-footer__legal{
        gap:7px;
    }

    .pcg-footer__socials a{
        width:26px;
        height:26px;
    }
}