/* ===========================
   Newsletter
=========================== */

.newsletter {
    margin-top: 20px !important;
    margin-bottom: 10px !important;
}

.newsletter .container{

    width:min(99%,1400px);

    margin:0 auto;

    background:#061b49;
    border-radius:18px;

    padding:8px;

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

}

.newsletter-left{

    display:flex;
    align-items:center;
    gap:18px;

    flex:1;

}

.newsletter-icon img{

    width:64px;
    height:64px;
    object-fit:contain;

}

.newsletter-content h3{

    color:#fff;
    font-size:18px;
    margin:0 0 8px;

}

.newsletter-content p{

    color:#d7dceb;
    margin:0;font-size: 14px;

}

.newsletter-center {
    flex: 1;
    max-width: 380px;
    flex: 0 0 380px;
}

}

.newsletter-form{

    display:flex;
    background:#fff;
    border-radius:10px;
    overflow:hidden;

}

.newsletter-form input{

    flex:1;
    border:none;
    height:44px;
    padding:0 20px;
    font-size:15px;

}

.newsletter-form input:focus{

    outline:none;

}

.newsletter-form button{

    width:120px;
  height:44px;
    border:none;

    background:#f6a800;

    color:#fff;

    cursor:pointer;

    font-weight:700;

}

.newsletter-right{

    display:flex;
    gap:35px;

}

.newsletter-feature{

    display:flex;
    align-items:center;
    gap:12px;

}

.newsletter-feature img{

    width:40px;
    height:40px;

}

.newsletter-feature strong{

    display:block;
    color:#fff;
    font-size:16px;

}

.newsletter-feature span{

    color:#d7dceb;
    font-size:13px;

}


/* ===========================
   Footer
=========================== */

.footer {
    background: #061b49;
    color: #fff;
    max-width: 1400px;
    margin: 0 auto;
}
.footer .container{

    width:min(100%,1400px);

    margin:auto;

    padding:20px 15px 16px;

    box-sizing:border-box;

}

.footer-grid{

    display:grid;

    grid-template-columns:
        1.2fr
        1fr
        1fr
        1fr
        1.2fr;

    gap:24px;

}

.footer-column h4{

    margin:0 0 22px;
    font-size:20px;

}

.footer-column ul{

    margin:0;
    padding:0;
    list-style:none;

}

.footer-column li{

    margin-bottom:14px;

}

.footer-column a{

    color:#d8dceb;
    text-decoration:none;
    transition:.25s;

}

.footer-column a:hover{

    color:#f6a800;

}

.footer-column p{

    color:#d8dceb;
    line-height:2;

}

.footer-logo{

    height:60px;
    margin-bottom:28px;

}

.footer-contact{

    list-style:none;
    padding:0;
    margin:0;

}

.footer-contact li{

    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:16px;

}

.footer-contact img{

    width:18px;
    height:18px;

}

.footer-social{

    display:flex;
    gap:12px;
    margin-top:25px;

}

.footer-social img{

    width:32px;
    height:32px;
    transition:.3s;

}

.footer-social img:hover{

    transform:translateY(-4px);

}


/* ===========================
Bottom
=========================== */

.footer-bottom{

    background:#041433;

}

.footer-bottom .container{
width:min(100%,1400px);

margin:auto;

padding:12px 15px;

box-sizing:border-box;
    display:flex;
    align-items:center;

    position:relative;
}

.footer-payments img{

    height: 47px;
    width: 300px;

}

.footer-copy{
    position:absolute;
    left:50%;
    transform:translateX(-50%);

    text-align:center;
    color:#c8cfdd;
    font-size:14px;
    line-height:1.7;
}
.footer-payments{
    margin-left:auto;
}

.back-top{
    position: fixed;
    bottom: 25px;
    left: 25px;
    border: none;
    background: transparent;
    box-shadow: none;
    cursor: pointer;

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

    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);

    transition: all .3s ease;
    z-index: 9999;
    padding: 0;
}

.back-top:hover{
    transform: translateY(-4px) scale(1.08);
}

.back-top.show{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-top img{
    width: 42px;
    height: 42px;
    display: block;
}



/* ===========================
Responsive
=========================== */

@media(max-width:991px){

.newsletter .container{

    flex-direction:column;

}

.newsletter-right{

    flex-wrap:wrap;
    justify-content:center;

}

.footer-grid{

    grid-template-columns:1fr 1fr;

}

.footer-bottom .container{

    flex-direction:column;
    gap:20px;

}

}

@media(max-width:768px){

.footer-grid{

    grid-template-columns:1fr;

}

.newsletter-form{

    flex-direction:column;

}

.newsletter-form button{

    width:100%;
    height:52px;

}

.newsletter-content{

    text-align:center;

}

.newsletter-left{

    justify-content:center;
    flex-direction:column;

}

.newsletter-right{

    flex-direction:column;

}

}

.footer-column{

    position:relative;

}

.footer-column:not(:last-child)::after{

    content:"";

    position:absolute;

    left:0px;

    top:0;

    width:1px;

    height:100%;

    background:rgba(255,255,255,.08);

}
.newsletter-menu{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;justify-content:center}.newsletter-menu a{color:inherit;text-decoration:none;font-size:12px;opacity:.9}.newsletter-menu a:hover{opacity:1;color:#f6c344}



/* ==========================================================
   Fiona Kids – Footer premium layout
   Footer-only styling. Newsletter and other page sections
   retain their existing rules.
   ========================================================== */

.footer {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: hidden;
    color: #49334e;
    background:
        radial-gradient(circle at 8% 20%, rgba(255,255,255,.78) 0 2px, transparent 3px),
        radial-gradient(circle at 78% 72%, rgba(255,255,255,.62) 0 2px, transparent 3px),
        linear-gradient(112deg, #ffeaf4 0%, #fff3f8 48%, #ffe5f1 100%);
    border-top: 1px solid rgba(239, 153, 194, .35);
}

.footer::before,
.footer::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    height: 15px;
    pointer-events: none;
    background:
        radial-gradient(18px 13px at 18px 0, transparent 97%, #fff0f7 100%) 0 0 / 36px 15px repeat-x;
}

.footer::before { top: 0; }
.footer::after {
    bottom: 0;
    transform: rotate(180deg);
}

.footer .container {
    width: min(100%, 1400px);
    margin: 0 auto;
    padding: 34px 28px 30px;
    box-sizing: border-box;
}

.footer-grid {
    display: grid;
    direction: rtl;
    grid-template-columns: minmax(190px, 1.25fr) repeat(3, minmax(135px, .85fr)) minmax(190px, 1.1fr);
    gap: 25px;
    align-items: start;
}

.footer-column {
    position: relative;
    min-width: 0;
    padding: 8px 18px 8px 0;
    text-align: right;
}

.footer-column:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: -13px;
    width: 1px;
    background: repeating-linear-gradient(
        to bottom,
        rgba(237, 113, 173, .65) 0 4px,
        transparent 4px 8px
    );
}

.footer-column h4 {
    margin: 0 0 19px;
    color: #55245f;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 800;
}

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

.footer-column li {
    margin: 0 0 12px;
    line-height: 1.8;
}

.footer-column a {
    color: #725d78;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.footer-column a:hover {
    color: #e93691;
}

.footer-brand {
    padding-right: 0;
}

.footer-brand-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 70px;
    margin-bottom: 7px;
}

.footer-logo {
    display: block;
    width: auto;
    max-width: 185px;
    height: 68px;
    margin: 0;
    object-fit: contain;
    object-position: right center;
}

.footer-description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-width: 260px;
    margin: 5px 0 0;
    color: #735e79;
    font-size: 13px;
    line-height: 1.9;
}

.footer-social {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 17px;
}

.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 37px;
    height: 37px;
    border: 1px solid rgba(228, 115, 171, .34);
    border-radius: 50%;
    color: #8a3b9c;
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,228,241,.92));
    box-shadow: 0 5px 12px rgba(173, 91, 143, .12), inset 0 1px 0 #fff;
    font-size: 16px;
    transition: transform .22s ease, box-shadow .22s ease, color .22s ease;
}

.footer-social a:hover {
    color: #e93691;
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(173, 91, 143, .18);
}

.footer-contact-column {
    padding-right: 18px;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-contact li {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0;
    color: #725d78;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.footer-contact li a {
    color: #725d78;
}

.footer-contact-icon {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    color: #e93691;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(236, 151, 192, .45);
    box-shadow: 0 4px 10px rgba(173, 91, 143, .08);
}

.footer-bottom {
    position: relative;
    z-index: 1;
    background: #071a3d;
}

.footer-bottom .container {
    width: min(100%, 1400px);
    margin: 0 auto;
    padding: 12px 22px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    min-height: 72px;
}

.footer-payments {
    margin-left: auto;
}

.footer-payments img {
    display: block;
    width: 300px;
    max-width: 100%;
    height: 47px;
    object-fit: contain;
    object-position: right center;
}

.footer-copy {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #e9dce9;
    font-size: 13px;
    line-height: 1.8;
}

.back-top {
    position: fixed;
    bottom: 25px;
    left: 25px;
    z-index: 9999;
}

/* Floating WhatsApp shortcut, separate from footer columns. */
.footer-whatsapp-float {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9997;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border: 3px solid rgba(255,255,255,.96);
    border-radius: 50%;
    color: #fff !important;
    background: linear-gradient(145deg, #35d879, #13a957);
    box-shadow: 0 8px 22px rgba(19, 169, 87, .28), inset 0 1px 0 rgba(255,255,255,.35);
    font-size: 31px;
    text-decoration: none !important;
    transition: transform .22s ease, box-shadow .22s ease;
}

.footer-whatsapp-float:hover {
    color: #fff !important;
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 12px 26px rgba(19, 169, 87, .34);
}

@media (max-width: 1100px) {
    .footer-grid {
        grid-template-columns: minmax(180px, 1.1fr) repeat(3, minmax(120px, .85fr)) minmax(170px, 1fr);
        gap: 13px;
    }

    .footer-column {
        padding-right: 12px;
    }

    .footer-column h4 {
        font-size: 16px;
    }
}

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 28px;
    }

    .footer-brand {
        grid-column: 1 / -1;
        text-align: center;
        padding: 0;
    }

    .footer-brand-link {
        justify-content: center;
    }

    .footer-logo {
        object-position: center;
    }

    .footer-description {
        margin-right: auto;
        margin-left: auto;
    }

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

    .footer-column:nth-child(2),
    .footer-column:nth-child(3),
    .footer-column:nth-child(4) {
        border-left: 0;
    }

    .footer-column:nth-child(4)::after {
        display: none;
    }

    .footer-contact-column {
        grid-column: 1 / -1;
        border-top: 1px dashed rgba(237, 113, 173, .5);
        padding: 22px 0 0;
    }

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

    .footer-contact {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    .footer-contact li {
        justify-content: center;
    }
}

@media (max-width: 600px) {
    .footer .container {
        padding: 28px 18px 24px;
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 14px;
    }

    .footer-brand,
    .footer-contact-column {
        grid-column: 1 / -1;
    }

    .footer-column {
        padding: 0 8px 0 0;
    }

    .footer-column:not(:last-child)::after {
        left: -7px;
    }

    .footer-column h4 {
        margin-bottom: 12px;
        font-size: 15px;
    }

    .footer-column li {
        margin-bottom: 8px;
        font-size: 13px;
    }

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

    .footer-contact li {
        justify-content: flex-start;
    }

    .footer-bottom .container {
        flex-direction: column;
        justify-content: center;
        gap: 10px;
        padding: 14px 16px;
    }

    .footer-payments {
        margin: 0 auto;
    }

    .footer-payments img {
        width: 260px;
        height: auto;
    }

    .footer-copy {
        position: static;
        transform: none;
        order: 2;
    }

    .back-top {
        bottom: 92px;
        left: 14px;
    }

    .footer-whatsapp-float {
        right: 15px;
        bottom: 15px;
        width: 54px;
        height: 54px;
        font-size: 29px;
    }
}


/* Final visual corrections: restore reliable image icons and improve contrast. */
.footer-description {
    color: #684b68 !important;
    opacity: 1 !important;
}

.footer-social a {
    overflow: hidden;
}

.footer-social a img {
    display: block;
    width: 22px;
    height: 22px;
    object-fit: contain;
    filter: none;
}

.footer-bottom {
    background: #f4d4e5 !important;
    border-top: 1px solid rgba(218, 128, 171, .28);
}

.footer-copy {
    color: #684b68 !important;
}

.footer-whatsapp-float svg {
    display: block;
    width: 34px;
    height: 34px;
    fill: currentColor;
}


/* Inline SVG icons: independent of icon fonts and external image files. */
.footer-social a {
    color: #a53b83 !important;
    background: linear-gradient(145deg, #fff 0%, #ffe4f1 100%) !important;
}

.footer-social a svg {
    display: block;
    width: 21px;
    height: 21px;
    color: inherit;
    fill: currentColor;
}

.footer-social a:hover {
    color: #e52d8c !important;
}

.footer-contact-icon {
    color: #d8328b !important;
    background: linear-gradient(145deg, #fff 0%, #ffe4f1 100%) !important;
    border: 1px solid rgba(226, 117, 172, .55) !important;
    box-shadow: 0 5px 13px rgba(180, 84, 140, .14), inset 0 1px 0 #fff !important;
}

.footer-contact-icon svg {
    display: block;
    width: 19px;
    height: 19px;
    color: inherit;
}

/* Fiona Kids: decorative scalloped edge only. No footer markup or layout changes. */
.footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 20px;
    z-index: 2;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2296%22%20height%3D%2220%22%20viewBox%3D%220%200%2096%2020%22%3E%3Cpath%20d%3D%22M0%200H96V10C84%2010%2084%2019%2072%2019S60%2010%2048%2010%2036%2019%2024%2019%2012%2010%200%2010Z%22%20fill%3D%22%23f8b3d8%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: repeat-x;
    background-position: top left;
    background-size: 96px 20px;
}
