/* =========================================
   GLOBAL E-COMMERCE TYPOGRAPHY
   Desktop + Tablet + Mobile
========================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: #1f2937;
    background: #ffffff;
}

img {
    max-width: 100%;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
}

button,
input,
textarea,
select {
    font-family: inherit;
}


/* =========================================
   HEADINGS
========================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 15px;
    color: #111827;
    line-height: 1.25;
}


/* Desktop */

h1 {
    font-size: 48px;
    font-weight: 700;
}

h2 {
    font-size: 36px;
    font-weight: 700;
}

h3 {
    font-size: 26px;
    font-weight: 600;
}

h4 {
    font-size: 22px;
    font-weight: 600;
}

h5 {
    font-size: 18px;
    font-weight: 600;
}

h6 {
    font-size: 16px;
    font-weight: 600;
}


/* =========================================
   PARAGRAPH
========================================= */

p {
    margin: 0 0 15px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    color: #64748b;
}


/* =========================================
   LINKS
========================================= */

a {
    font-size: 15px;
    font-weight: 500;
    transition: all 0.3s ease;
}


/* =========================================
   NAVBAR
========================================= */

.navbar a {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}

.navbar a.active {
    font-weight: 600;
}


/* =========================================
   BUTTONS
========================================= */

.btn,
button {
    min-height: 46px;
    padding: 0 22px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    border: none;
    border-radius: 8px;

    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    cursor: pointer;
    transition: all 0.3s ease;
}


/* Primary */

.btn-primary {
    background: #ff6b6b;
    color: #ffffff;
}

.btn-primary:hover {
    transform: translateY(-2px);
}


/* Secondary */

.btn-secondary {
    background: #f1f5f9;
    color: #1f2937;
}


/* Outline */

.btn-outline {
    background: transparent;
    border: 1px solid #ff6b6b;
    color: #ff6b6b;
}


/* =========================================
   PRODUCT CARD
========================================= */

.product-title {
    margin: 0 0 7px;

    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;

    color: #1f2937;
}

.product-description {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: #64748b;
}


/* =========================================
   PRODUCT PRICE
========================================= */

.product-price {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    color: #111827;
}

.old-price {
    margin-left: 7px;

    font-size: 14px;
    font-weight: 400;

    color: #94a3b8;
    text-decoration: line-through;
}


/* =========================================
   DISCOUNT / SALE
========================================= */

.sale-badge {
    display: inline-flex;
    align-items: center;

    padding: 5px 10px;

    border-radius: 5px;

    font-size: 11px;
    font-weight: 600;
    line-height: 1;

    text-transform: uppercase;
    letter-spacing: 0.3px;

    background: #fee2e2;
    color: #dc2626;
}


/* =========================================
   RATING
========================================= */

.rating {
    font-size: 13px;
    font-weight: 500;
}

.rating-count {
    font-size: 12px;
    font-weight: 400;
    color: #94a3b8;
}


/* =========================================
   FORM
========================================= */

label {
    display: block;
    margin-bottom: 7px;

    font-size: 14px;
    font-weight: 500;
    color: #374151;
}

input,
select,
textarea {
    width: 100%;

    padding: 12px 14px;

    border: 1px solid #e2e8f0;
    border-radius: 7px;

    outline: none;

    font-size: 14px;
    font-weight: 400;

    color: #1f2937;
    background: #ffffff;
}

input::placeholder,
textarea::placeholder {
    color: #94a3b8;
}


/* =========================================
   CART
========================================= */

.cart-item-title {
    font-size: 15px;
    font-weight: 600;
}

.cart-item-text {
    font-size: 13px;
    font-weight: 400;
    color: #64748b;
}

.cart-total {
    font-size: 21px;
    font-weight: 700;
    color: #111827;
}


/* =========================================
   CHECKOUT
========================================= */

.checkout-title {
    font-size: 24px;
    font-weight: 600;
}

.checkout-label {
    font-size: 14px;
    font-weight: 500;
}


/* =========================================
   FOOTER
========================================= */

.footer-title {
    margin-bottom: 15px;

    font-size: 17px;
    font-weight: 600;
}

.footer a {
    font-size: 14px;
    font-weight: 400;
}

.footer p {
    font-size: 14px;
}


/* =========================================
   TABLET
   769px - 1024px
========================================= */

@media (min-width: 769px) and (max-width: 1024px) {

    body {
        font-size: 15px;
    }

    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 32px;
    }

    h3 {
        font-size: 23px;
    }

    h4 {
        font-size: 20px;
    }

    h5 {
        font-size: 17px;
    }

    h6 {
        font-size: 15px;
    }

    p {
        font-size: 14px;
    }

    .navbar a {
        font-size: 13px;
    }

    .btn,
    button {
        min-height: 44px;
        padding: 0 19px;
        font-size: 13px;
    }

    .product-title {
        font-size: 16px;
    }

    .product-description {
        font-size: 13px;
    }

    .product-price {
        font-size: 18px;
    }

    .old-price {
        font-size: 13px;
    }

    .checkout-title {
        font-size: 22px;
    }
}


/* =========================================
   MOBILE
   0px - 768px
========================================= */

@media (max-width: 768px) {

    body {
        font-size: 14px;
    }


    /* Headings */

    h1 {
        font-size: 32px;
        line-height: 1.2;
    }

    h2 {
        font-size: 27px;
        line-height: 1.25;
    }

    h3 {
        font-size: 21px;
    }

    h4 {
        font-size: 18px;
    }

    h5 {
        font-size: 16px;
    }

    h6 {
        font-size: 15px;
    }


    /* Paragraph */

    p {
        font-size: 14px;
        line-height: 1.65;
    }


    /* Navbar */

    .navbar a {
        font-size: 14px;
        font-weight: 500;
    }


    /* Buttons */

    .btn,
    button {
        min-height: 44px;
        padding: 0 17px;

        font-size: 13px;
        font-weight: 600;

        border-radius: 7px;
    }


    /* Product */

    .product-title {
        font-size: 15px;
        line-height: 1.4;
    }

    .product-description {
        font-size: 13px;
        line-height: 1.55;
    }


    /* Price */

    .product-price {
        font-size: 17px;
    }

    .old-price {
        font-size: 12px;
    }


    /* Sale */

    .sale-badge {
        padding: 4px 8px;
        font-size: 10px;
    }


    /* Rating */

    .rating {
        font-size: 12px;
    }

    .rating-count {
        font-size: 11px;
    }


    /* Form */

    label {
        font-size: 13px;
    }

    input,
    select,
    textarea {
        padding: 11px 12px;
        font-size: 13px;
    }


    /* Cart */

    .cart-item-title {
        font-size: 14px;
    }

    .cart-item-text {
        font-size: 12px;
    }

    .cart-total {
        font-size: 19px;
    }


    /* Checkout */

    .checkout-title {
        font-size: 21px;
    }

    .checkout-label {
        font-size: 13px;
    }


    /* Footer */

    .footer-title {
        font-size: 16px;
    }

    .footer a,
    .footer p {
        font-size: 13px;
    }
}


/* =========================================
   EXTRA SMALL MOBILE
   0px - 480px
========================================= */

@media (max-width: 480px) {

    h1 {
        font-size: 28px;
    }

    h2 {
        font-size: 24px;
    }

    h3 {
        font-size: 19px;
    }

    h4 {
        font-size: 17px;
    }

    p {
        font-size: 13px;
    }

    .btn,
    button {
        min-height: 42px;
        padding: 0 15px;
        font-size: 12px;
    }

    .product-title {
        font-size: 14px;
    }

    .product-price {
        font-size: 16px;
    }

    .old-price {
        font-size: 11px;
    }
}


/* navbar */

/* ==============================
   RESET
================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Poppins", sans-serif;
    background: #ffffff;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}


/* ==============================
   HEADER
================================ */

.site-header {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 9999;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid #eeeeee;
    backdrop-filter: blur(15px);
}


/* ==============================
   NAVBAR
================================ */

.navbar {
    width: 92%;
    max-width: 1400px;
    min-height: 78px;
    margin: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}


/* ==============================
   LOGO
================================ */

.logo {
    display: flex;
    align-items: center;
    gap: 9px;

    font-size: 22px;
    font-weight: 800;
    color: #24324a;

    white-space: nowrap;
}

.logo span span {
    color: #ff7a59;
}

.logo-icon {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff1ec;
    border-radius: 12px;

    font-size: 21px;
}


/* ==============================
   NAV MENU
================================ */

.nav-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.nav-menu > li {
    position: relative;
}

.nav-menu > li > a {
    display: flex;
    align-items: center;
    gap: 5px;

    padding: 29px 12px;

    color: #374151;
    font-size: 20px;
    font-weight: 600;

    transition: 0.3s ease;
}

.nav-menu > li > a:hover,
.nav-menu > li > a.active {
    color: #ff6b4a;
}

.arrow {
    font-size: 17px;
    line-height: 1;
    transition: 0.3s ease;
}

.dropdown:hover .arrow {
    transform: rotate(180deg);
}


/* ==============================
   DROPDOWN
================================ */

.dropdown-menu {
    position: absolute;
    top: calc(100% - 5px);
    left: 0;

    min-width: 220px;

    padding: 10px;

    background: #ffffff;

    border: 1px solid #eeeeee;
    border-radius: 14px;

    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.10);

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);

    transition: 0.25s ease;
}

.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-menu li a {
    display: block;

    padding: 11px 13px;

    border-radius: 8px;

    color: #4b5563;
    font-size: 13px;
    font-weight: 500;

    transition: 0.25s ease;
}

.dropdown-menu li a:hover {
    background: #fff2ed;
    color: #ff6b4a;
    padding-left: 18px;
}


/* ==============================
   RIGHT ACTIONS
================================ */

.nav-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.action-btn,
.cart-btn {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #eeeeee;
    border-radius: 10px;

    background: #ffffff;

    color: #374151;

    cursor: pointer;

    transition: 0.3s ease;
}

.action-btn:hover,
.cart-btn:hover {
    background: #fff1ec;
    color: #ff6b4a;
    border-color: #ffd5c8;
}


/* ==============================
   CART
================================ */

.cart-btn {
    position: relative;
}

.cart-count {
    position: absolute;

    top: -6px;
    right: -6px;

    min-width: 18px;
    height: 18px;

    padding: 0 4px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ff6b4a;
    color: #ffffff;

    border-radius: 50%;

    font-size: 10px;
    font-weight: 700;
}


/* ==============================
   MOBILE TOGGLE
================================ */

.menu-toggle {
    width: 42px;
    height: 42px;

    display: none;

    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;

    border: 1px solid #eeeeee;
    background: #ffffff;

    border-radius: 10px;

    cursor: pointer;
}

.menu-toggle span {
    width: 20px;
    height: 2px;

    background: #374151;

    border-radius: 10px;

    transition: 0.3s ease;
}


/* ==============================
   TOGGLE ANIMATION
================================ */

.menu-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* ==============================
   TABLET
================================ */

@media (max-width: 1150px) {

    .navbar {
        width: 94%;
        gap: 15px;
    }

    .nav-menu {
        gap: 0;
    }

    .nav-menu > li > a {
        padding: 29px 7px;
        font-size: 13px;
    }

    .logo {
        font-size: 19px;
    }

    .logo-icon {
        width: 36px;
        height: 36px;
    }
}


/* ==============================
   MOBILE
================================ */

@media (max-width: 900px) {

    .navbar {
        min-height: 70px;
    }

    .nav-menu {
        position: absolute;

        top: 70px;
        left: 3%;
        width: 94%;

        display: flex;
        align-items: stretch;
        flex-direction: column;

        padding: 12px;

        background: #ffffff;

        border: 1px solid #eeeeee;
        border-radius: 14px;

        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.10);

        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);

        transition: 0.3s ease;

        max-height: calc(100vh - 90px);
        overflow-y: auto;
    }

    .nav-menu.active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .nav-menu > li > a {
        padding: 13px 14px;
        border-radius: 8px;
    }

    .nav-menu > li > a:hover {
        background: #fff5f1;
    }

    .dropdown-menu {
        position: static;

        width: 100%;

        display: none;

        margin: 3px 0 5px;

        padding: 5px;

        box-shadow: none;

        border: 1px solid #f1f1f1;

        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .dropdown.open .dropdown-menu {
        display: block;
    }

    .dropdown:hover .dropdown-menu {
        display: none;
    }

    .dropdown.open:hover .dropdown-menu {
        display: block;
    }

    .dropdown:hover .arrow {
        transform: none;
    }

    .dropdown.open .arrow {
        transform: rotate(180deg);
    }

    .menu-toggle {
        display: flex;
    }
}


/* ==============================
   SMALL MOBILE
================================ */

@media (max-width: 480px) {

    .navbar {
        width: 94%;
    }

    .logo {
        font-size: 17px;
    }

    .logo-icon {
        width: 34px;
        height: 34px;
        font-size: 18px;
    }

    .user-btn {
        display: none;
    }

    .action-btn,
    .cart-btn,
    .menu-toggle {
        width: 38px;
        height: 38px;
    }
}


/* hero section */


/* =========================================
   HERO
========================================= */

.story-hero {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    background: #fffdf7;
    display: flex;
    align-items: center;
    isolation: isolate;
}


/* =========================================
   CURVED PURPLE BACKGROUND
========================================= */

.story-hero::before {
    content: "";
    position: absolute;
    width: 115%;
    height: 590px;

    left: -7%;
    bottom: -210px;

    background: #c8b9e4;

    border-radius: 50% 50% 0 0;

    z-index: -3;
}


/* Second curved shape */

.story-hero::after {
    content: "";
    position: absolute;

    width: 800px;
    height: 800px;

    left: -500px;
    top: -470px;

    background: #c8b9e4;

    border-radius: 50%;

    z-index: -3;
}


/* =========================================
   CLOUDS
========================================= */

.cloud {
    position: absolute;
    background: #ffffff;
    border-radius: 100px;
    opacity: .8;
    z-index: -1;
}

.cloud-one {
    width: 150px;
    height: 45px;
    right: 20%;
    top: 80px;
}

.cloud-one::before,
.cloud-one::after {
    content: "";
    position: absolute;
    background: #fff;
    border-radius: 50%;
}

.cloud-one::before {
    width: 65px;
    height: 65px;
    left: 25px;
    top: -30px;
}

.cloud-one::after {
    width: 50px;
    height: 50px;
    right: 25px;
    top: -20px;
}


.cloud-two {
    width: 100px;
    height: 35px;
    left: 25%;
    top: 125px;
}

.cloud-two::before {
    content: "";
    position: absolute;
    width: 45px;
    height: 45px;
    background: white;
    border-radius: 50%;
    left: 20px;
    top: -20px;
}


/* =========================================
   STARS
========================================= */

.star {
    position: absolute;
    color: #f5b83d;
    font-size: 28px;

    animation: starFloat 3s ease-in-out infinite;
}

.star-1 {
    left: 16%;
    top: 19%;
}

.star-2 {
    right: 18%;
    top: 25%;
    color: #ff8066;
    animation-delay: .7s;
}

.star-3 {
    left: 43%;
    top: 12%;
    font-size: 18px;
    color: #7551a5;
    animation-delay: 1.2s;
}

.star-4 {
    right: 8%;
    bottom: 31%;
    color: #f5b83d;
    animation-delay: 1.8s;
}

@keyframes starFloat {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-12px) rotate(15deg);
    }
}


/* =========================================
   MAIN WRAPPER
========================================= */

.hero-wrapper {
    width: 94%;
    max-width: 1450px;
    margin: auto;

    min-height: 720px;

    display: grid;
    grid-template-columns: 1fr 1.45fr 1fr;

    align-items: center;

    gap: 20px;

    position: relative;
    z-index: 5;
}


/* =========================================
   CENTER
========================================= */

.hero-center {
    text-align: center;
    padding-bottom: 35px;
}


.welcome-badge {

    display: inline-flex;

    align-items: center;
    gap: 8px;

    background: white;

    color: #6d4b9e;

    padding: 9px 20px;

    border-radius: 50px;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 1px;

    box-shadow:
        0 8px 25px rgba(70, 40, 100, .09);

    margin-bottom: 18px;
}


.welcome-badge i {
    color: #ffb629;
}


/* =========================================
   HEADING
========================================= */

.hero-center h1 {

    font-family: "Baloo 2", cursive;

    font-size: clamp(70px, 7vw, 110px);

    line-height: .75;

    font-weight: 800;

    color: #51358a;

    letter-spacing: 2px;

    text-shadow:
        2px 3px 0 rgba(255,255,255,.8);

}


.hero-center h1 span {

    display: block;

    color: #f36b45;

    font-size: .66em;

    margin: 13px 0;

}


/* =========================================
   DESCRIPTION
========================================= */

.hero-text {

    max-width: 560px;

    margin: 25px auto 0;

    color: #45404d;

    font-size: 16px;

    line-height: 1.7;
}


/* =========================================
   BUTTONS
========================================= */

.hero-buttons {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 12px;

    margin-top: 27px;

    flex-wrap: wrap;
}


.hero-buttons a {

    text-decoration: none;

    font-size: 14px;

    font-weight: 700;

    padding: 14px 24px;

    border-radius: 50px;

    transition: .3s ease;
}


.shop-btn {

    background: #f36b45;

    color: white;

    box-shadow:
        0 12px 25px rgba(243,107,69,.25);
}


.shop-btn:hover {

    transform: translateY(-4px);

    box-shadow:
        0 16px 30px rgba(243,107,69,.35);
}


.explore-btn {

    background: white;

    color: #5a3a91;

    border: 2px solid #eadff6;
}


.explore-btn:hover {

    transform: translateY(-4px);

    background: #faf6ff;
}


/* =========================================
   INFO
========================================= */

.hero-info {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 18px;

    margin-top: 32px;
}


.hero-info div:not(.info-line) {

    display: flex;

    flex-direction: column;
}


.hero-info strong {

    font-family: "Baloo 2";

    font-size: 24px;

    color: #53378d;

    line-height: 1;
}


.hero-info span {

    font-size: 10px;

    color: #777;

    margin-top: 4px;
}


.info-line {

    height: 30px;

    width: 1px;

    background: rgba(80,50,130,.2);
}


/* =========================================
   CHARACTERS
========================================= */

.hero-character {

    position: relative;

    height: 540px;

    display: flex;

    align-items: center;

    justify-content: center;
}


/* Character background */

.character-bg {

    position: absolute;

    width: 350px;

    height: 350px;

    border-radius: 50%;

    background: rgba(255,255,255,.45);

    bottom: 45px;

    box-shadow:
        inset 0 0 50px rgba(255,255,255,.3);
}


/* Left character */

.character {

    position: relative;

    z-index: 3;

    font-size: 170px;

    transform: translateY(-20px);

    filter:
        drop-shadow(0 20px 10px rgba(70,40,80,.15));

    animation: animalMove 4s ease-in-out infinite;
}


@keyframes animalMove {

    0%,
    100% {
        transform: translateY(-20px) rotate(-3deg);
    }

    50% {
        transform: translateY(-35px) rotate(3deg);
    }
}


/* Book */

.reading-book {

    position: absolute;

    z-index: 5;

    width: 175px;

    height: 110px;

    bottom: 85px;

    left: 50%;

    transform:
        translateX(-50%)
        rotate(-8deg);

    background: #ffd452;

    border: 7px solid #f0ae2d;

    border-radius: 8px;

    box-shadow:
        8px 10px 0 rgba(60,30,70,.08);
}


.reading-book span {

    display: block;

    text-align: center;

    margin-top: 17px;

    font-family: "Baloo 2";

    font-size: 30px;

    font-weight: 800;

    color: #68409d;
}


.reading-book small {

    display: block;

    text-align: center;

    color: #765c38;

    font-size: 9px;

    font-weight: 700;
}


/* Little star */

.little-star {

    position: absolute;

    right: 50px;

    top: 130px;

    color: #ffba2f;

    font-size: 30px;

    animation: starFloat 2.5s infinite;
}


/* =========================================
   RIGHT ANIMAL
========================================= */

.big-animal {

    position: relative;

    z-index: 3;

    font-size: 190px;

    filter:
        drop-shadow(0 20px 12px rgba(70,40,80,.13));

    animation: animalMove 5s ease-in-out infinite;
}


.small-kid {

    position: absolute;

    z-index: 6;

    font-size: 55px;

    filter:
        drop-shadow(0 8px 5px rgba(50,30,50,.1));
}


.kid-one {

    top: 100px;

    right: 55px;

    transform: rotate(8deg);

    animation: kidFloat 3s infinite ease-in-out;
}


.kid-two {

    bottom: 115px;

    left: 35px;

    transform: rotate(-7deg);

    animation: kidFloat 3.5s infinite ease-in-out;
}


@keyframes kidFloat {

    0%,
    100% {
        transform: translateY(0) rotate(-5deg);
    }

    50% {
        transform: translateY(-12px) rotate(5deg);
    }
}


/* Open book */

.open-book {

    position: absolute;

    right: 20px;

    top: 180px;

    z-index: 6;

    font-size: 55px;

    transform: rotate(10deg);

    animation: bookMove 3s infinite ease-in-out;
}


@keyframes bookMove {

    0%,
    100% {
        transform: rotate(10deg) translateY(0);
    }

    50% {
        transform: rotate(-5deg) translateY(-15px);
    }
}


/* =========================================
   FLOATING BOOKS
========================================= */

.floating-book {

    position: absolute;

    z-index: 8;

    font-size: 42px;

    filter:
        drop-shadow(0 10px 8px rgba(40,20,60,.15));

    pointer-events: none;
}


.floating-one {

    left: 29%;

    bottom: 18%;

    animation: floatingBook 4s infinite ease-in-out;
}


.floating-two {

    right: 28%;

    bottom: 24%;

    animation: floatingBook 4.5s infinite ease-in-out;
}


.floating-three {

    left: 45%;

    top: 27%;

    font-size: 32px;

    animation: floatingBook 3.8s infinite ease-in-out;
}


.floating-four {

    right: 8%;

    top: 43%;

    font-size: 35px;

    animation: floatingBook 5s infinite ease-in-out;
}


@keyframes floatingBook {

    0%,
    100% {
        transform: translateY(0) rotate(-8deg);
    }

    50% {
        transform: translateY(-20px) rotate(8deg);
    }
}


/* =========================================
   SCROLL
========================================= */

.scroll-hint {

    position: absolute;

    bottom: 18px;

    left: 50%;

    transform: translateX(-50%);

    z-index: 10;

    display: flex;

    flex-direction: column;

    align-items: center;

    color: #65547b;

    font-size: 10px;

    gap: 5px;
}


.scroll-hint i {

    animation: scrollArrow 1.5s infinite;
}


@keyframes scrollArrow {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(6px);
    }
}


/* =========================================
   NEXT SECTION
========================================= */

.demo-section {

    min-height: 400px;

    background: white;

    padding: 90px 20px;

    text-align: center;
}


.section-title span {

    color: #f36b45;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 2px;
}


.section-title h2 {

    margin-top: 10px;

    font-family: "Baloo 2";

    color: #51358a;

    font-size: 45px;
}


.section-title p {

    color: #777;

    margin-top: 5px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .hero-wrapper {

        grid-template-columns:
            .8fr
            1.5fr
            .8fr;

    }

    .hero-character {

        height: 450px;
    }

    .character-bg {

        width: 260px;

        height: 260px;
    }

    .character {

        font-size: 125px;
    }

    .big-animal {

        font-size: 140px;
    }

    .small-kid {

        font-size: 42px;
    }

    .reading-book {

        width: 135px;

        height: 85px;

        bottom: 70px;
    }

    .reading-book span {

        font-size: 23px;

        margin-top: 10px;
    }

    .hero-text {

        font-size: 14px;
    }

    .hero-info {

        gap: 10px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    .story-hero {

        min-height: auto;

        padding:
            55px 0
            70px;
    }


    .story-hero::before {

        width: 160%;

        height: 700px;

        left: -30%;

        bottom: -430px;
    }


    .hero-wrapper {

        width: 92%;

        display: flex;

        flex-direction: column;

        min-height: auto;

        gap: 5px;
    }


    .hero-center {

        order: 1;

        padding-bottom: 0;

        width: 100%;
    }


    .hero-character.left-character {

        order: 2;

        height: 250px;

        width: 100%;
    }


    .hero-character.right-character {

        order: 3;

        height: 250px;

        width: 100%;
    }


    .welcome-badge {

        font-size: 10px;

        padding: 8px 15px;
    }


    .hero-center h1 {

        font-size: 64px;

        line-height: .75;
    }


    .hero-center h1 span {

        font-size: .65em;

        margin: 10px 0;
    }


    .hero-text {

        font-size: 13px;

        line-height: 1.6;

        max-width: 400px;

        margin-top: 20px;
    }


    .hero-buttons {

        margin-top: 22px;
    }


    .hero-buttons a {

        padding: 12px 18px;

        font-size: 12px;
    }


    .hero-info {

        margin-top: 25px;

        gap: 13px;
    }


    .hero-info strong {

        font-size: 19px;
    }


    .hero-info span {

        font-size: 8px;
    }


    .hero-character .character-bg {

        width: 220px;

        height: 220px;

        bottom: 0;
    }


    .character {

        font-size: 105px;

        transform:
            translateY(-10px);
    }


    .big-animal {

        font-size: 115px;
    }


    .reading-book {

        width: 115px;

        height: 72px;

        bottom: 25px;
    }


    .reading-book span {

        font-size: 20px;

        margin-top: 8px;
    }


    .reading-book small {

        font-size: 7px;
    }


    .little-star {

        right: 20%;

        top: 30px;

        font-size: 20px;
    }


    .small-kid {

        font-size: 35px;
    }


    .kid-one {

        right: 20%;
        top: 35px;
    }


    .kid-two {

        left: 18%;
        bottom: 20px;
    }


    .open-book {

        font-size: 40px;

        right: 20%;

        top: 90px;
    }


    .floating-one {

        left: 8%;

        bottom: 25%;
    }


    .floating-two {

        right: 8%;

        bottom: 17%;
    }


    .floating-three {

        top: 22%;

        left: 10%;
    }


    .floating-four {

        right: 5%;

        top: 42%;
    }


    .scroll-hint {

        display: none;
    }


    .cloud-one {

        right: 5%;

        top: 45px;

        transform: scale(.7);
    }


    .cloud-two {

        left: 5%;

        top: 100px;

        transform: scale(.7);
    }


    .star-1 {

        left: 8%;
    }


    .star-2 {

        right: 7%;
    }


    .star-3 {

        display: none;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .story-hero {

        padding-top: 45px;
    }


    .hero-center h1 {

        font-size: 55px;
    }


    .hero-text {

        font-size: 12px;

        padding: 0 8px;
    }


    .hero-buttons {

        gap: 8px;
    }


    .hero-buttons a {

        padding: 11px 15px;
    }


    .hero-info {

        gap: 8px;
    }


    .hero-info strong {

        font-size: 17px;
    }


    .hero-info span {

        font-size: 7px;
    }


    .character {

        font-size: 90px;
    }


    .big-animal {

        font-size: 100px;
    }


    .character-bg {

        width: 190px !important;

        height: 190px !important;
    }


    .floating-book {

        font-size: 28px;
    }
}

/*  delivey */
/* =========================================
   KIDS ECOMMERCE FEATURE STRIP
========================================= */

.kids-features {
    width: 100%;
    padding: 32px 7%;

    background: #ffffff;

    display: grid;
    grid-template-columns: repeat(4, 1fr);

    align-items: center;

    border-bottom: 1px solid #f0f0f0;
}


/* =========================================
   FEATURE
========================================= */

.kids-feature {
    display: flex;
    align-items: center;
    gap: 18px;

    padding: 10px 25px;

    position: relative;
}


/* Divider */

.kids-feature:not(:last-child)::after {
    content: "";

    position: absolute;

    right: 0;
    top: 12px;

    width: 1px;
    height: 65px;

    background: #eeeeee;
}


/* =========================================
   ICON
========================================= */

.feature-icon {
    width: 68px;
    height: 68px;

    min-width: 68px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 20px;

    background: #fff6e8;

    font-size: 34px;

    transition:
        transform .4s ease,
        background .4s ease;
}


/* Different icon backgrounds */

.kids-feature:nth-child(2) .feature-icon {
    background: #eaf7ff;
}

.kids-feature:nth-child(3) .feature-icon {
    background: #fff0f5;
}

.kids-feature:nth-child(4) .feature-icon {
    background: #eef9e9;
}


/* Hover */

.kids-feature:hover .feature-icon {
    transform:
        translateY(-7px)
        rotate(-5deg);

    background: #fff0d6;
}


/* =========================================
   TEXT
========================================= */

.feature-text h3 {
    margin: 0 0 7px;

    color: #222;

    font-size: 17px;

    font-weight: 700;
}

.feature-text p {
    margin: 0;

    color: #777;

    font-size: 13px;

    line-height: 1.5;

    max-width: 190px;
}


/* =========================================
   SCROLL ANIMATION
========================================= */

.reveal-feature {
    opacity: 0;

    transform:
        translateY(35px);

    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2,.8,.2,1);
}

.reveal-feature.active {
    opacity: 1;

    transform:
        translateY(0);
}


/* Stagger */

.reveal-feature:nth-child(1) {
    transition-delay: .05s;
}

.reveal-feature:nth-child(2) {
    transition-delay: .15s;
}

.reveal-feature:nth-child(3) {
    transition-delay: .25s;
}

.reveal-feature:nth-child(4) {
    transition-delay: .35s;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .kids-features {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
        padding: 35px 5%;
    }

    .kids-feature {
        padding: 10px;
    }

    .kids-feature:nth-child(2)::after {
        display: none;
    }

    .kids-feature:nth-child(4)::after {
        display: none;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .kids-features {
        grid-template-columns: 1fr;

        gap: 5px;

        padding: 25px 20px;
    }

    .kids-feature {
        padding: 15px 5px;

        gap: 15px;
    }

    .kids-feature::after {
        display: none !important;
    }

    .feature-icon {
        width: 58px;
        height: 58px;

        min-width: 58px;

        border-radius: 17px;

        font-size: 29px;
    }

    .feature-text h3 {
        font-size: 15px;
    }

    .feature-text p {
        font-size: 12px;
    }
}   

/* offer dicount */
/* ================================
   KIDS BOOKS SECTION
================================ */

.kids-books-section {
    position: relative;
    padding: 90px 5%;
    background: #fffdf7;
    overflow: hidden;
}

/* little decorative circles */

.kids-books-section::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    background: #e9f7cf;
    border-radius: 50%;
    top: -70px;
    left: -60px;
    opacity: .7;
}

.kids-books-section::after {
    content: "✦";
    position: absolute;
    font-size: 90px;
    color: #ffd85c;
    right: 4%;
    top: 30px;
    transform: rotate(15deg);
}


/* ================================
   HEADING
================================ */

.books-heading {
    position: relative;
    z-index: 2;
    max-width: 750px;
    margin-bottom: 55px;
}

.books-heading span {
    display: inline-block;
    padding: 9px 18px;
    background: #eaf4d8;
    color: #68a600;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 1px;
    border-radius: 4px;
    margin-bottom: 15px;
}

.books-heading h2 {
    margin: 0;
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.05;
    color: #171717;
    font-weight: 800;
    letter-spacing: -2px;
}

.books-heading h2 b {
    color: #72a900;
}

.books-heading p {
    margin-top: 18px;
    color: #777;
    font-size: 17px;
    line-height: 1.7;
}


/* ================================
   BOOK GRID
================================ */

.books-grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}


/* ================================
   BOOK CARD
================================ */

.book-card {
    display: grid;
    grid-template-columns: 180px 1fr;

    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;

    border: 1px solid #eeeeee;

    box-shadow: 0 8px 30px rgba(0, 0, 0, .06);

    transition:
        transform .4s ease,
        box-shadow .4s ease;

    opacity: 0;
    transform: translateY(60px);
}

.book-card.show {
    opacity: 1;
    transform: translateY(0);
}

.book-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
}


/* ================================
   BOOK IMAGE
================================ */

.book-image {
    position: relative;
    min-height: 240px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 20px;

    background:
        linear-gradient(
            145deg,
            #f1f8df,
            #fff8dc
        );

    overflow: hidden;
}

.book-image::before {
    content: "✦";
    position: absolute;
    top: 12px;
    left: 15px;
    font-size: 24px;
    color: #f7c63e;
}

.book-image::after {
    content: "●";
    position: absolute;
    bottom: 10px;
    right: 18px;
    color: #9ed34d;
    font-size: 28px;
}

.book-image img {
    width: 145px;
    height: 195px;
    object-fit: cover;

    border-radius: 6px;

    box-shadow:
        8px 10px 18px rgba(0, 0, 0, .18);

    transition: transform .5s ease;
}

.book-card:hover .book-image img {
    transform: rotate(-3deg) scale(1.06);
}


/* ================================
   BADGE
================================ */

.book-badge {
    position: absolute;
    top: 14px;
    right: 12px;

    background: #73ad00;
    color: #fff;

    padding: 6px 9px;

    font-size: 9px;
    font-weight: 800;

    border-radius: 20px;

    z-index: 3;
}

.book-badge.new {
    background: #ff9d38;
}


/* ================================
   BOOK INFO
================================ */

.book-info {
    padding: 25px 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.book-info h3 {
    margin: 0 0 8px;

    font-size: 21px;
    line-height: 1.3;

    color: #111;
}

.book-age {
    margin: 0 0 18px;

    color: #777;
    font-size: 13px;
}


/* ================================
   PRICE + RATING
================================ */

.book-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 18px;
}

.book-bottom strong {
    color: #70a900;
    font-size: 20px;
}

.rating {
    color: #f4b82e;
    font-size: 15px;
    letter-spacing: 1px;
}


/* ================================
   BUTTON
================================ */

.book-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    padding: 11px 15px;

    background: #171717;
    color: #fff;

    text-decoration: none;

    border-radius: 8px;

    font-size: 13px;
    font-weight: 700;

    transition: all .3s ease;
}

.book-btn span {
    font-size: 18px;
    transition: transform .3s ease;
}

.book-btn:hover {
    background: #72a900;
}

.book-btn:hover span {
    transform: translateX(5px);
}


/* ================================
   ALL BOOKS BUTTON
================================ */

.all-books {
    text-align: center;
    margin-top: 55px;
}

.all-books a {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    padding: 14px 28px;

    background: #72a900;
    color: white;

    border-radius: 30px;

    text-decoration: none;

    font-weight: 700;

    transition: .3s ease;
}

.all-books a:hover {
    background: #171717;
    transform: translateY(-3px);
}

.all-books span {
    font-size: 20px;
}


/* ================================
   TABLET
================================ */

@media (max-width: 1200px) {

    .books-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* ================================
   MOBILE
================================ */

@media (max-width: 700px) {

    .kids-books-section {
        padding: 65px 20px;
    }

    .books-heading {
        margin-bottom: 35px;
    }

    .books-heading h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }

    .books-heading p {
        font-size: 15px;
    }

    .books-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .book-card {
        grid-template-columns: 135px 1fr;
    }

    .book-image {
        min-height: 205px;
        padding: 15px;
    }

    .book-image img {
        width: 105px;
        height: 150px;
    }

    .book-info {
        padding: 18px 15px;
    }

    .book-info h3 {
        font-size: 17px;
    }

    .book-bottom {
        display: block;
    }

    .rating {
        margin-top: 5px;
    }

    .book-btn {
        padding: 9px 12px;
    }

}


/* ================================
   SMALL MOBILE
================================ */

@media (max-width: 420px) {

    .book-card {
        grid-template-columns: 115px 1fr;
    }

    .book-image {
        min-height: 190px;
    }

    .book-image img {
        width: 90px;
        height: 135px;
    }

    .book-info h3 {
        font-size: 15px;
    }

    .book-age {
        font-size: 11px;
    }

    .book-bottom strong {
        font-size: 17px;
    }

}



/* =========================================
   RESET
========================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Poppins", Arial, sans-serif;
    background: #fffaf0;
}


/* =========================================
   MAIN SECTION
========================================= */

.kids-sale-section {
    width: 100%;
    min-height: 630px;

    position: relative;
    overflow: hidden;

    padding: 8px 0;

    background: #fffaf0;
}


/* =========================================
   MAIN WRAPPER
========================================= */

.kids-sale-wrapper {
    width: 100%;
    min-height: 615px;

    display: grid;
    grid-template-columns: 1fr 1fr;

    overflow: hidden;
}


/* =========================================
   LEFT PARENT PANEL
========================================= */

.sale-parent-panel {
    position: relative;

    min-height: 615px;

    overflow: hidden;

    background: #fcebed;
}


/* Parent image */

.parent-image-wrap {
    position: absolute;

    inset: 0;

    overflow: hidden;
}

.parent-image {
    margin-top: 13px;
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transform: scale(1.04);

    transition:
        transform 1.2s cubic-bezier(.2,.7,.2,1);
}


/* image zoom when section active */

.kids-sale-section.active .parent-image {
    transform: scale(1);
}


/* soft overlay */

.parent-image-wrap::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(255,235,240,.08),
            rgba(255,235,240,.02)
        );
}


/* =========================================
   SALE CIRCLE
========================================= */

.sale-circle {
    position: absolute;

    z-index: 5;

    top: 50%;

    right: 7%;

    transform:
        translateY(-50%)
        scale(.85);

    width: 365px;
    height: 365px;

    border-radius: 50%;

    background: #fffdf8;

    border: 2px solid #151515;

    box-shadow:
        0 25px 60px rgba(0,0,0,.14);

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;

    opacity: 0;

    transition:
        transform .9s cubic-bezier(.16,1,.3,1),
        opacity .7s ease;
}


/* active animation */

.kids-sale-section.active .sale-circle {
    opacity: 1;

    transform:
        translateY(-50%)
        scale(1);
}


/* little bubble */

.sale-circle::before {
    content: "★";

    position: absolute;

    top: -16px;
    right: 30px;

    width: 62px;
    height: 62px;

    border-radius: 50%;

    background: #ffe36e;

    border: 2px solid #111;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 25px;

    transform: rotate(15deg);
}


/* sale text */

.sale-small {
    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1.5px;

    color: #555;

    margin-bottom: 10px;
}


.sale-circle h2 {
    font-size: 52px;

    line-height: .92;

    letter-spacing: 2px;

    font-weight: 900;

    color: #111;
}


.sale-off {
    margin-top: 12px;

    padding: 5px 14px;

    border-radius: 20px;

    background: #ffe36e;

    font-size: 14px;

    font-weight: 800;
}


/* =========================================
   BUTTON
========================================= */

.sale-btn {
    display: inline-flex;

    align-items: center;

    gap: 15px;

    margin-top: 20px;

    padding: 12px 22px;

    border: 1.5px solid #111;

    border-radius: 8px;

    background: #fff;

    color: #111;

    text-decoration: none;

    font-size: 14px;

    font-weight: 700;

    transition: all .3s ease;
}


.sale-btn:hover {
    background: #111;

    color: #fff;

    transform: translateY(-4px);
}


.sale-btn span {
    font-size: 20px;
}


/* =========================================
   CLOUDS
========================================= */

.cloud {
    position: absolute;

    z-index: 3;

    width: 120px;
    height: 38px;

    background: rgba(255,255,255,.8);

    border-radius: 50px;
}

.cloud::before,
.cloud::after {
    content: "";

    position: absolute;

    background: inherit;

    border-radius: 50%;
}

.cloud::before {
    width: 50px;
    height: 50px;

    left: 20px;
    bottom: 8px;
}

.cloud::after {
    width: 42px;
    height: 42px;

    right: 18px;
    bottom: 6px;
}

.cloud-one {
    top: 30px;
    left: 25px;
}

.cloud-two {
    bottom: 35px;
    left: 35px;

    transform: scale(.7);
}


/* =========================================
   RIGHT BOOK PANEL
========================================= */

.sale-books-panel {
    position: relative;

    min-height: 615px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #ffd94f,
            #ffcf32
        );
}


/* =========================================
   DECORATIVE CIRCLES
========================================= */

.yellow-circle {
    position: absolute;

    border-radius: 50%;

    background: rgba(255,255,255,.16);
}

.circle-a {
    width: 320px;
    height: 320px;

    right: -100px;
    top: -100px;
}

.circle-b {
    width: 180px;
    height: 180px;

    left: -70px;
    bottom: -80px;
}


/* =========================================
   CONTENT
========================================= */

.sale-content {
    position: relative;

    z-index: 4;

    padding: 85px 40px 50px 65px;

    width: 63%;
}


.sale-label {
    display: inline-block;

    padding: 8px 14px;

    border-radius: 30px;

    background: #111;

    color: #fff;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 18px;

    transform: translateY(25px);

    opacity: 0;

    transition:
        .7s ease .15s;
}


.kids-sale-section.active .sale-label {
    opacity: 1;

    transform: translateY(0);
}


.sale-content h1 {
    font-size: clamp(42px, 4vw, 67px);

    line-height: .95;

    font-weight: 900;

    letter-spacing: -2px;

    color: #111;

    transform: translateY(35px);

    opacity: 0;

    transition:
        .8s ease .25s;
}


.kids-sale-section.active .sale-content h1 {
    opacity: 1;

    transform: translateY(0);
}


.sale-content h1 span {
    color: #fff;

    -webkit-text-stroke: 2px #111;

    text-shadow:
        4px 4px 0 #111;
}


.sale-content p {
    margin-top: 22px;

    max-width: 410px;

    color: #302b1c;

    font-size: 15px;

    line-height: 1.7;

    transform: translateY(25px);

    opacity: 0;

    transition:
        .7s ease .4s;
}


.kids-sale-section.active .sale-content p {
    opacity: 1;

    transform: translateY(0);
}


/* =========================================
   OFFER ROW
========================================= */

.offer-row {
    display: flex;

    align-items: center;

    gap: 15px;

    margin-top: 20px;

    transform: translateY(20px);

    opacity: 0;

    transition:
        .7s ease .5s;
}


.kids-sale-section.active .offer-row {
    opacity: 1;

    transform: translateY(0);
}


.offer-box {
    width: 65px;
    height: 65px;

    flex-shrink: 0;

    border-radius: 14px;

    background: #111;

    color: #fff;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    transform: rotate(-5deg);
}


.offer-box strong {
    font-size: 22px;

    line-height: 1;
}


.offer-box span {
    font-size: 11px;

    font-weight: 700;
}


.offer-text {
    display: flex;

    flex-direction: column;

    gap: 3px;
}


.offer-text strong {
    font-size: 14px;
}


.offer-text small {
    font-size: 11px;

    color: #514819;
}


/* =========================================
   PRIMARY BUTTON
========================================= */

.primary-book-btn {
    display: inline-flex;

    align-items: center;

    gap: 18px;

    margin-top: 25px;

    padding: 14px 25px;

    border-radius: 9px;

    background: #111;

    color: #fff;

    text-decoration: none;

    font-size: 14px;

    font-weight: 700;

    box-shadow:
        0 12px 25px rgba(0,0,0,.18);

    transform: translateY(20px);

    opacity: 0;

    transition:
        opacity .7s ease .6s,
        transform .7s ease .6s,
        background .3s ease;
}


.kids-sale-section.active .primary-book-btn {
    opacity: 1;

    transform: translateY(0);
}


.primary-book-btn:hover {
    background: #fff;

    color: #111;

    transform:
        translateY(-4px) !important;
}


.primary-book-btn span {
    font-size: 21px;
}


/* =========================================
   BOOK STACK
========================================= */

.book-stack {
    position: absolute;

    right: 7%;

    bottom: 40px;

    width: 280px;

    height: 260px;

    z-index: 5;
}


.book {
    position: absolute;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    border-radius: 8px;

    box-shadow:
        12px 18px 25px rgba(0,0,0,.18);

    font-weight: 900;
}


.book-back {
    width: 130px;
    height: 175px;

    right: 20px;
    bottom: 20px;

    background: #ef6b64;

    transform:
        rotate(14deg);
}


.book-middle {
    width: 140px;
    height: 185px;

    right: 55px;
    bottom: 25px;

    background: #6ec6a4;

    transform:
        rotate(-7deg);
}


.book-front {
    width: 155px;
    height: 195px;

    right: 75px;
    bottom: 15px;

    background: #fffdf4;

    border: 3px solid #111;

    transform:
        rotate(5deg);

    z-index: 3;
}


.book-front::before {
    content: "";

    position: absolute;

    top: 20px;

    width: 80px;
    height: 45px;

    border-radius: 50%;

    background: #ffd94f;
}


.book-front span {
    position: relative;

    z-index: 2;

    margin-top: 30px;

    font-size: 24px;
}


.book-front small {
    position: relative;

    z-index: 2;

    margin-top: 8px;

    font-size: 9px;

    letter-spacing: 1px;
}


.book-middle span {
    font-size: 25px;
}


.book-back span {
    font-size: 23px;
}


/* =========================================
   PENCIL
========================================= */

.pencil {
    position: absolute;

    right: 38px;
    top: 55px;

    z-index: 6;

    font-size: 60px;

    transform:
        rotate(25deg);

    animation:
        pencilFloat 3s ease-in-out infinite;
}


@keyframes pencilFloat {

    0%, 100% {
        transform:
            translateY(0)
            rotate(25deg);
    }

    50% {
        transform:
            translateY(-12px)
            rotate(18deg);
    }
}


/* =========================================
   ABC BUBBLES
========================================= */

.abc-bubble {
    position: absolute;

    z-index: 6;

    width: 52px;
    height: 52px;

    border-radius: 50%;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 2px solid #111;

    font-size: 22px;

    font-weight: 900;

    box-shadow:
        5px 7px 0 rgba(0,0,0,.12);

    animation:
        bubbleFloat 3s ease-in-out infinite;
}


.bubble-a {
    right: 45%;
    top: 30px;

    background: #ff7f79;
}


.bubble-b {
    right: 30%;
    top: 110px;

    background: #7ed6b0;

    animation-delay: .5s;
}


.bubble-c {
    right: 8%;
    bottom: 45%;

    background: #fff;

    animation-delay: 1s;
}


@keyframes bubbleFloat {

    0%, 100% {
        transform:
            translateY(0)
            rotate(-5deg);
    }

    50% {
        transform:
            translateY(-10px)
            rotate(5deg);
    }
}


/* =========================================
   FLOATING STARS
========================================= */

.float-star {
    position: absolute;

    z-index: 20;

    color: #ffca28;

    font-size: 35px;

    pointer-events: none;

    animation:
        starFloat 4s ease-in-out infinite;
}


.star-1 {
    left: 3%;

    top: 8%;
}


.star-2 {
    left: 46%;

    bottom: 7%;

    animation-delay: 1s;
}


.star-3 {
    right: 3%;

    top: 15%;

    animation-delay: 2s;
}


@keyframes starFloat {

    0%, 100% {
        transform:
            translateY(0)
            rotate(0);
    }

    50% {
        transform:
            translateY(-15px)
            rotate(20deg);
    }
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .kids-sale-wrapper {
        grid-template-columns: 1fr 1fr;
    }

    .sale-circle {
        width: 300px;
        height: 300px;

        right: -35px;
    }

    .sale-circle h2 {
        font-size: 43px;
    }

    .sale-content {
        padding-left: 35px;

        width: 72%;
    }

    .sale-content h1 {
        font-size: 48px;
    }

    .book-stack {
        right: -15px;

        transform: scale(.8);
        transform-origin: bottom right;
    }

}


/* =========================================
   MOBILE / TABLET
========================================= */

@media (max-width: 800px) {

    .kids-sale-section {
        padding: 0;
    }

    .kids-sale-wrapper {
        grid-template-columns: 1fr;

        min-height: auto;
    }

    .sale-parent-panel {
        min-height: 500px;
    }

    .sale-circle {
        width: 290px;
        height: 290px;

        right: 50%;

        transform:
            translate(50%, -50%) scale(.85);
    }

    .kids-sale-section.active .sale-circle {
        transform:
            translate(50%, -50%) scale(1);
    }

    .sale-books-panel {
        min-height: 600px;
    }

    .sale-content {
        width: 100%;

        padding: 60px 25px 40px;

        text-align: center;
    }

    .sale-content p {
        margin-left: auto;
        margin-right: auto;
    }

    .offer-row {
        justify-content: center;
    }

    .primary-book-btn {
        margin-top: 22px;
    }

    .book-stack {
        right: 50%;

        bottom: 15px;

        transform:
            translateX(50%)
            scale(.7);

        transform-origin: bottom center;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .sale-parent-panel {
        min-height: 430px;
    }

    .sale-circle {
        width: 250px;
        height: 250px;
    }

    .sale-circle h2 {
        font-size: 36px;
    }

    .sale-small {
        font-size: 10px;
    }

    .sale-off {
        font-size: 11px;
    }

    .sale-btn {
        margin-top: 14px;

        padding: 9px 15px;

        font-size: 11px;
    }

    .sale-content {
        padding-top: 45px;
    }

    .sale-content h1 {
        font-size: 39px;

        letter-spacing: -1px;
    }

    .sale-content h1 span {
        -webkit-text-stroke: 1.5px #111;

        text-shadow:
            3px 3px 0 #111;
    }

    .sale-content p {
        font-size: 13px;
    }

    .offer-text {
        text-align: left;
    }

    .book-stack {
        transform:
            translateX(50%)
            scale(.58);
    }

    .pencil {
        font-size: 42px;

        right: 15px;
    }

    .abc-bubble {
        width: 42px;
        height: 42px;

        font-size: 18px;
    }

}/* =========================================
   SALE CONTENT - TEXT ALWAYS VISIBLE
========================================= */

.sale-content {
    position: relative;
    z-index: 20;

    width: 65%;
    padding: 80px 40px 50px 65px;

    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    transition:
        transform .8s ease,
        opacity .8s ease;
}


/* label */

.sale-label {
    display: inline-block;

    padding: 8px 14px;

    background: #111;
    color: #fff;

    border-radius: 30px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1px;

    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    transition: .6s ease;
}


/* heading */

.sale-content h1 {
    position: relative;
    z-index: 25;

    margin: 18px 0 0;

    font-size: clamp(40px, 4vw, 65px);

    line-height: .95;

    font-weight: 900;

    letter-spacing: -2px;

    color: #111;

    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    transition: .8s ease;
}


/* white highlighted text */

.sale-content h1 span {
    color: #fff;

    -webkit-text-stroke: 2px #111;

    text-shadow:
        4px 4px 0 #111;
}


/* paragraph */

.sale-content p {
    position: relative;
    z-index: 25;

    max-width: 420px;

    margin-top: 22px;

    color: #292510;

    font-size: 15px;

    line-height: 1.7;

    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    transition: .8s ease;
}


/* offer */

.offer-row {
    position: relative;
    z-index: 25;

    display: flex;

    align-items: center;

    gap: 15px;

    margin-top: 22px;

    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    transition: .8s ease;
}


/* button */

.primary-book-btn {
    position: relative;
    z-index: 30;

    display: inline-flex;

    align-items: center;

    gap: 18px;

    margin-top: 25px;

    padding: 14px 25px;

    border-radius: 9px;

    background: #111;

    color: #fff;

    text-decoration: none;

    font-size: 14px;

    font-weight: 700;

    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    transition:
        .3s ease;
}


.primary-book-btn:hover {
    background: #fff;
    color: #111;

    transform: translateY(-4px);
}


/* =========================================
   BOOK STACK - TEXT KE PEECHE
========================================= */

.book-stack {
    position: absolute;

    z-index: 8;

    right: 3%;
    bottom: 25px;

    pointer-events: none;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 800px) {

    .sale-content {
        width: 100%;

        padding: 55px 25px 30px;

        text-align: center;
    }

    .sale-content p {
        margin-left: auto;
        margin-right: auto;
    }

    .offer-row {
        justify-content: center;
    }

    .primary-book-btn {
        margin-top: 22px;
    }

}@media (min-width: 801px) {

    .sale-content {
        width: 68%;
    }

    .book-stack {
        right: -20px;
        bottom: 15px;
        transform: scale(.85);
        transform-origin: bottom right;
    }

    .sale-content h1 {
        font-size: 54px;
        max-width: 600px;
    }

}

/* add cart */
/* =========================================
   KIDS BOOK SECTION
========================================= */

.kids-books-section {
    position: relative;

    padding: 95px 0;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #fffdf8 0%,
            #fff8e8 100%
        );

    font-family:
        Poppins,
        Arial,
        sans-serif;
}


/* =========================================
   CONTAINER
========================================= */

.kids-container {
    position: relative;

    z-index: 5;

    width: min(92%, 1450px);

    margin: auto;
}


/* =========================================
   HEADER
========================================= */

.kids-section-header {
    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    gap: 30px;

    margin-bottom: 40px;
}


.kids-eyebrow {
    display: inline-block;

    padding: 8px 14px;

    margin-bottom: 12px;

    border-radius: 30px;

    background: #ffe26b;

    color: #171717;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1px;
}


.kids-heading h2 {
    margin: 0;

    max-width: 650px;

    color: #111;

    font-size: clamp(
        38px,
        4.2vw,
        58px
    );

    line-height: .98;

    letter-spacing: -2.5px;

    font-weight: 900;
}


.kids-heading h2 span {
    color: #8067c7;
}


.kids-heading p {
    max-width: 550px;

    margin-top: 16px;

    color: #777;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================
   FILTERS
========================================= */

.kids-filters {
    display: flex;

    align-items: center;

    gap: 4px;

    padding: 5px;

    border: 1px solid #222;

    border-radius: 50px;

    background: #fff;

    white-space: nowrap;
}


.kids-filter {
    border: 0;

    padding: 11px 17px;

    border-radius: 30px;

    background: transparent;

    color: #222;

    font-size: 12px;

    font-weight: 600;

    cursor: pointer;

    transition: .3s ease;
}


.kids-filter:hover,
.kids-filter.active {
    background: #111;

    color: #fff;
}


/* =========================================
   PRODUCT GRID
========================================= */

.kids-books-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 26px;
}


/* =========================================
   BOOK CARD
========================================= */

.kids-book-card {
    position: relative;

    overflow: hidden;

    background: #fff;

    border: 1px solid #eee8da;

    border-radius: 24px;

    box-shadow:
        0 8px 25px
        rgba(35,27,12,.06);

    opacity: 0;

    transform:
        translateY(55px);

    transition:
        opacity .7s ease,
        transform .7s
        cubic-bezier(.16,1,.3,1),
        box-shadow .35s ease;
}


.kids-book-card.visible {
    opacity: 1;

    transform:
        translateY(0);
}


.kids-book-card:hover {
    transform:
        translateY(-9px) !important;

    box-shadow:
        0 22px 45px
        rgba(35,27,12,.13);
}


/* =========================================
   BOOK IMAGE AREA
========================================= */

.kids-book-image {
    position: relative;

    height: 325px;

    display: flex;

    justify-content: center;

    align-items: flex-end;

    overflow: hidden;
}


.book-purple {
    background:
        linear-gradient(
            145deg,
            #aaa0df,
            #7564bb
        );
}


.book-yellow {
    background:
        linear-gradient(
            145deg,
            #ffe995,
            #f4ca45
        );
}


.book-blue {
    background:
        linear-gradient(
            145deg,
            #a9dfeb,
            #63bdd4
        );
}


.book-pink {
    background:
        linear-gradient(
            145deg,
            #f6adb9,
            #e87f96
        );
}


/* =========================================
   BOOK IMAGE
========================================= */

.kids-book-image img {
    position: relative;

    z-index: 4;

    width: 175px;

    height: 235px;

    object-fit: cover;

    border-radius: 7px;

    box-shadow:
        14px 17px 25px
        rgba(0,0,0,.22);

    transition:
        transform .55s
        cubic-bezier(.16,1,.3,1);
}


.kids-book-card:hover
.kids-book-image img {
    transform:
        translateY(-13px)
        rotate(-3deg)
        scale(1.04);
}


/* =========================================
   OFFER
========================================= */

.kids-offer {
    position: absolute;

    z-index: 10;

    top: 18px;

    left: 18px;

    padding: 9px 14px;

    border-radius: 30px;

    background: #fff;

    color: #111;

    font-size: 10px;

    font-weight: 900;

    box-shadow:
        0 5px 15px
        rgba(0,0,0,.08);
}


/* =========================================
   WISHLIST
========================================= */

.kids-wishlist {
    position: absolute;

    z-index: 10;

    top: 17px;

    right: 17px;

    width: 47px;

    height: 47px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 0;

    border-radius: 50%;

    background:
        rgba(0,0,0,.23);

    color: #fff;

    font-size: 18px;

    cursor: pointer;

    backdrop-filter: blur(5px);

    transition: .3s ease;
}


.kids-wishlist:hover {
    background: #111;

    transform:
        scale(1.1);
}


.kids-wishlist.liked {
    background: #ef6d85;

    transform:
        scale(1.08);
}


/* =========================================
   AGE
========================================= */

.kids-age {
    position: absolute;

    z-index: 8;

    bottom: 14px;

    left: 50%;

    transform:
        translateX(-50%);

    padding: 7px 14px;

    border-radius: 30px;

    background:
        rgba(255,255,255,.93);

    color: #222;

    font-size: 9px;

    font-weight: 800;

    white-space: nowrap;
}


/* =========================================
   DECORATIONS
========================================= */

.floating-letter {
    position: absolute;

    z-index: 2;

    width: 52px;

    height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #fff;

    color: #7564bb;

    font-size: 22px;

    font-weight: 900;

    animation:
        kidsFloat 3s ease-in-out infinite;
}


.letter-a {
    left: 18px;

    bottom: 65px;
}


.letter-b {
    right: 17px;

    top: 90px;

    background: #ffe268;

    color: #111;

    animation-delay: .7s;
}


.big-number {
    position: absolute;

    z-index: 2;

    left: 14px;

    bottom: 45px;

    color:
        rgba(255,255,255,.55);

    font-size: 90px;

    font-weight: 900;

    transform: rotate(-8deg);
}


.big-number.two {
    left: auto;

    right: 15px;

    top: 75px;

    font-size: 70px;

    transform: rotate(10deg);
}


.kids-cloud {
    position: absolute;

    z-index: 2;

    color:
        rgba(255,255,255,.7);

    font-size: 60px;

    animation:
        kidsFloat 4s ease-in-out infinite;
}


.cloud-one {
    left: 12px;

    top: 75px;
}


.cloud-two {
    right: 15px;

    bottom: 75px;

    font-size: 42px;

    animation-delay: 1s;
}


.kids-star {
    position: absolute;

    z-index: 2;

    right: 20px;

    bottom: 45px;

    color:
        rgba(255,255,255,.6);

    font-size: 80px;

    animation:
        starSpin 5s ease-in-out infinite;
}


@keyframes kidsFloat {

    0%,100% {
        transform:
            translateY(0)
            rotate(-7deg);
    }

    50% {
        transform:
            translateY(-10px)
            rotate(7deg);
    }

}


@keyframes starSpin {

    0%,100% {
        transform:
            rotate(-8deg)
            scale(1);
    }

    50% {
        transform:
            rotate(8deg)
            scale(1.08);
    }

}


/* =========================================
   CONTENT
========================================= */

.kids-book-content {
    padding:
        20px 20px 21px;
}


.kids-category {
    color: #8067c7;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: 1.2px;
}


.kids-book-content h3 {
    margin:
        7px 0 0;

    color: #161616;

    font-size: 19px;

    line-height: 1.2;

    font-weight: 850;
}


.kids-book-content p {
    margin-top: 8px;

    min-height: 38px;

    color: #777;

    font-size: 11px;

    line-height: 1.55;
}


/* =========================================
   PRICE + CART
========================================= */

.kids-product-bottom {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 8px;

    margin-top: 18px;
}


.kids-price {
    display: flex;

    align-items: center;

    gap: 7px;
}


.kids-price strong {
    color: #111;

    font-size: 19px;

    font-weight: 900;
}


.kids-price del {
    color: #aaa;

    font-size: 10px;
}


.kids-add-cart {
    display: flex;

    align-items: center;

    gap: 6px;

    padding: 11px 14px;

    border: 0;

    border-radius: 30px;

    background: #111;

    color: #fff;

    font-size: 10px;

    font-weight: 800;

    cursor: pointer;

    white-space: nowrap;

    transition: .3s ease;
}


.kids-add-cart:hover {
    background: #8067c7;

    transform:
        translateY(-3px);
}


.kids-add-cart.added {
    background: #4cac78;
}


/* =========================================
   BACKGROUND SHAPES
========================================= */

.kids-bg-shape {
    position: absolute;

    z-index: 1;

    pointer-events: none;
}


.shape-one {
    top: 100px;

    left: 2%;

    color: #ffdc4d;

    font-size: 55px;

    animation:
        kidsFloat 4s ease-in-out infinite;
}


.shape-two {
    right: 3%;

    top: 300px;

    color: #f18b9e;

    font-size: 40px;

    animation:
        kidsFloat 3s ease-in-out infinite;
}


.shape-three {
    right: 8%;

    bottom: 100px;

    width: 20px;

    height: 20px;

    border-radius: 50%;

    background: #75c7ad;
}


/* =========================================
   CART OVERLAY
========================================= */

.kids-cart-overlay {
    position: fixed;

    inset: 0;

    z-index: 9998;

    background:
        rgba(20,15,5,.45);

    backdrop-filter:
        blur(5px);

    opacity: 0;

    visibility: hidden;

    transition: .35s ease;
}


.kids-cart-overlay.active {
    opacity: 1;

    visibility: visible;
}


/* =========================================
   CART DRAWER
========================================= */

.kids-cart-drawer {
    position: fixed;

    z-index: 9999;

    top: 0;

    right: 0;

    width: min(440px, 94vw);

    height: 100vh;

    display: flex;

    flex-direction: column;

    background: #fffdf8;

    box-shadow:
        -20px 0 60px
        rgba(0,0,0,.16);

    transform:
        translateX(105%);

    transition:
        transform .55s
        cubic-bezier(.16,1,.3,1);
}


.kids-cart-drawer.active {
    transform:
        translateX(0);
}


/* =========================================
   CART HEADER
========================================= */

.kids-cart-header {
    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 23px;

    background:
        linear-gradient(
            135deg,
            #fff2a7,
            #fffdf7
        );

    border-bottom:
        1px solid #eee7d8;
}


.kids-cart-header span {
    color: #8067c7;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: 1.2px;
}


.kids-cart-header h3 {
    margin-top: 3px;

    color: #111;

    font-size: 28px;

    line-height: 1;
}


.kids-cart-close {
    width: 40px;

    height: 40px;

    border: 0;

    border-radius: 50%;

    background: #111;

    color: #fff;

    cursor: pointer;

    transition: .3s ease;
}


.kids-cart-close:hover {
    background: #ef6d85;

    transform:
        rotate(90deg);
}


/* =========================================
   CART PRODUCTS
========================================= */

.kids-cart-products {
    flex: 1;

    overflow-y: auto;

    padding: 18px;
}


.kids-cart-products::-webkit-scrollbar {
    width: 5px;
}


.kids-cart-products::-webkit-scrollbar-thumb {
    background: #ddd3bd;

    border-radius: 20px;
}


/* =========================================
   CART ITEM
========================================= */

.kids-cart-item {
    display: grid;

    grid-template-columns:
        68px 1fr auto;

    gap: 12px;

    align-items: center;

    padding: 11px;

    margin-bottom: 12px;

    border:
        1px solid #eee8dc;

    border-radius: 16px;

    background: #fff;

    animation:
        cartIn .4s ease;
}


@keyframes cartIn {

    from {
        opacity: 0;

        transform:
            translateX(20px);
    }

    to {
        opacity: 1;

        transform:
            translateX(0);
    }

}


.kids-cart-item-image {
    width: 68px;

    height: 78px;

    overflow: hidden;

    border-radius: 10px;

    background: #ffe997;
}


.kids-cart-item-image img {
    width: 100%;

    height: 100%;

    object-fit: cover;
}


.kids-cart-item-info small {
    color: #8067c7;

    font-size: 8px;

    font-weight: 900;

    letter-spacing: 1px;
}


.kids-cart-item-info h4 {
    margin-top: 4px;

    color: #111;

    font-size: 13px;

    line-height: 1.25;
}


.kids-cart-item-price {
    margin-top: 5px;

    color: #111;

    font-size: 13px;

    font-weight: 900;
}


/* =========================================
   QUANTITY
========================================= */

.kids-quantity {
    display: flex;

    align-items: center;

    gap: 5px;

    margin-top: 7px;
}


.kids-quantity button {
    width: 24px;

    height: 24px;

    border:
        1px solid #ddd;

    border-radius: 6px;

    background: #fff;

    cursor: pointer;
}


.kids-quantity button:hover {
    background: #111;

    color: #fff;
}


.kids-quantity span {
    min-width: 18px;

    text-align: center;

    font-size: 11px;

    font-weight: 800;
}


.kids-remove {
    align-self: flex-start;

    border: 0;

    background: transparent;

    color: #aaa;

    cursor: pointer;
}


.kids-remove:hover {
    color: #ef6d85;
}


/* =========================================
   EMPTY CART
========================================= */

.kids-empty-cart {
    flex: 1;

    display: none;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    text-align: center;

    padding: 30px;
}


.kids-empty-cart.show {
    display: flex;
}


.empty-book-icon {
    width: 80px;

    height: 80px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #ffe574;

    font-size: 35px;

    animation:
        kidsFloat 3s ease-in-out infinite;
}


.kids-empty-cart h4 {
    margin-top: 17px;

    color: #111;

    font-size: 19px;
}


.kids-empty-cart p {
    max-width: 260px;

    margin-top: 7px;

    color: #777;

    font-size: 12px;

    line-height: 1.5;
}


.kids-empty-cart button {
    margin-top: 18px;

    padding: 12px 20px;

    border: 0;

    border-radius: 30px;

    background: #111;

    color: #fff;

    cursor: pointer;

    font-size: 11px;

    font-weight: 800;
}


/* =========================================
   CART FOOTER
========================================= */

.kids-cart-footer {
    padding: 18px 20px 20px;

    background: #fff;

    border-top:
        1px solid #eee7d8;
}


.kids-cart-footer.hidden {
    display: none;
}


.kids-total-row {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 14px;
}


.kids-total-row span {
    color: #777;

    font-size: 13px;
}


.kids-total-row strong {
    color: #111;

    font-size: 24px;

    font-weight: 900;
}


.kids-checkout {
    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    padding: 15px;

    border: 0;

    border-radius: 12px;

    background: #111;

    color: #fff;

    cursor: pointer;

    font-size: 11px;

    font-weight: 800;

    transition: .3s ease;
}


.kids-checkout:hover {
    background: #8067c7;

    transform:
        translateY(-2px);
}


.kids-cart-footer p {
    margin-top: 9px;

    text-align: center;

    color: #999;

    font-size: 9px;
}


.kids-cart-footer p i {
    color: #53aa79;

    margin-right: 4px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 1150px) {

    .kids-books-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .kids-section-header {
        align-items: flex-start;

        flex-direction: column;
    }

}


@media (max-width: 650px) {

    .kids-books-section {
        padding: 65px 0;
    }


    .kids-container {
        width: 90%;
    }


    .kids-books-grid {
        grid-template-columns: 1fr;

        gap: 22px;
    }


    .kids-heading h2 {
        font-size: 39px;
    }


    .kids-heading p {
        font-size: 13px;
    }


    .kids-filters {
        width: 100%;

        overflow-x: auto;

        justify-content: flex-start;

        border-radius: 20px;
    }


    .kids-filter {
        flex-shrink: 0;
    }


    .kids-book-image {
        height: 350px;
    }


    .kids-cart-drawer {
        width: 100%;
    }


    .kids-cart-item {
        grid-template-columns:
            62px 1fr auto;
    }


    .kids-cart-item-image {
        width: 62px;

        height: 72px;
    }


    .shape-one,
    .shape-two {
        display: none;
    }

}

/* prodeuct list */
:root {
    --sky-dark: #075a7a;
    --sky: #159fc2;
    --sky-light: #e8f8fc;

    --yellow: #ffd75a;
    --pink: #ff91a8;
    --cream: #fffaf0;

    --text: #163047;
    --muted: #72808c;

    --white: #ffffff;
    --border: #e2e9ed;

    --shadow:
        0 18px 50px rgba(26, 84, 105, .10);
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


body {
    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(255, 215, 90, .14),
            transparent 20%
        ),
        radial-gradient(
            circle at 95% 35%,
            rgba(255, 145, 168, .12),
            transparent 22%
        ),
        #fffdf9;

    color: var(--text);

    font-family: "Poppins", sans-serif;
}


/* =====================================
NAVBAR
===================================== */

.product-navbar {

    height: 76px;

    padding: 0 5%;

    display: flex;
    align-items: center;

    justify-content: space-between;

    background: rgba(255,255,255,.92);

    border-bottom: 1px solid var(--border);

    position: sticky;
    top: 0;

    z-index: 100;

    backdrop-filter: blur(14px);
}


.brand {

    display: flex;
    align-items: center;

    gap: 9px;

    color: var(--sky-dark);

    text-decoration: none;

    font-family: "Baloo 2", sans-serif;

    font-size: 24px;
    font-weight: 800;
}


.brand-icon {

    width: 39px;
    height: 39px;

    display: grid;
    place-items: center;

    background: #fff2a8;

    border-radius: 13px;

    font-size: 20px;
}


.product-navbar nav {

    display: flex;
    gap: 32px;
}


.product-navbar nav a {

    color: #465761;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    transition: .25s ease;
}


.product-navbar nav a:hover {
    color: var(--sky);
}


/* CART */

.cart-btn {

    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    position: relative;

    color: var(--sky-dark);

    background: var(--sky-light);

    border-radius: 50%;

    text-decoration: none;

    transition: .3s ease;
}


.cart-btn:hover {

    background: var(--sky);
    color: white;

    transform: translateY(-2px);
}


.cart-count {

    position: absolute;

    top: -3px;
    right: -2px;

    min-width: 21px;
    height: 21px;

    padding: 0 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--pink);

    color: white;

    border: 2px solid white;

    border-radius: 50%;

    font-size: 10px;
    font-weight: 800;
}


/* =====================================
BREADCRUMB
===================================== */

.breadcrumb {

    max-width: 1400px;

    margin: auto;

    padding: 22px 4% 5px;

    display: flex;
    align-items: center;

    gap: 9px;

    color: #89969e;

    font-size: 11px;
}


.breadcrumb a {
    color: var(--sky-dark);
    text-decoration: none;
    font-weight: 600;
}


/* =====================================
MAIN PRODUCT
===================================== */

.product-page {

    max-width: 1400px;

    margin: 0 auto;

    padding: 20px 4% 60px;

    display: grid;

    grid-template-columns:
        minmax(300px, 1fr)
        minmax(400px, 1.15fr)
        255px;

    gap: 28px;

    align-items: start;
}


/* =====================================
GALLERY
===================================== */

.product-gallery {
    position: relative;
}


.book-image-box {

    height: 510px;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    border: 1px solid #e4eaed;

    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            #e9faff,
            #fff6d5
        );

    box-shadow: var(--shadow);
}


.book-image-box::before {

    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    background: rgba(255,255,255,.55);

    border-radius: 50%;

    filter: blur(2px);
}


.book-image-box img {

    width: 70%;
    height: 75%;

    object-fit: cover;

    position: relative;
    z-index: 2;

    border-radius: 12px;

    box-shadow:
        0 20px 35px rgba(0,0,0,.15);

    transition: .6s cubic-bezier(.16,1,.3,1);
}


.book-image-box:hover img {

    transform:
        translateY(-8px)
        rotate(-2deg)
        scale(1.03);
}


.sale-badge {

    position: absolute;

    z-index: 10;

    top: 18px;
    left: 18px;

    padding: 8px 13px;

    background: var(--pink);

    color: white;

    border-radius: 20px;

    font-size: 9px;
    font-weight: 800;

    box-shadow: 0 8px 20px rgba(255,145,168,.25);
}


.age-badge {

    position: absolute;

    z-index: 5;

    bottom: 18px;
    right: 18px;

    padding: 8px 13px;

    background: white;

    color: var(--sky-dark);

    border-radius: 20px;

    font-size: 10px;
    font-weight: 800;

    box-shadow: 0 8px 20px rgba(0,0,0,.08);
}


.floating-shape {

    position: absolute;

    z-index: 3;

    color: var(--yellow);

    font-size: 27px;

    animation: floatShape 3s ease-in-out infinite;
}


.shape-one {
    top: 90px;
    left: 35px;
}


.shape-two {

    right: 35px;
    top: 150px;

    color: var(--pink);

    animation-delay: 1s;
}


@keyframes floatShape {

    0%,100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-12px) rotate(15deg);
    }
}


/* THUMBNAILS */

.thumbnail-row {

    display: flex;

    gap: 12px;

    margin-top: 15px;
}


.thumb {

    width: 76px;
    height: 76px;

    border: 1px solid var(--border);

    background: white;

    border-radius: 12px;

    padding: 5px;

    cursor: pointer;

    transition: .25s ease;
}


.thumb img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 8px;
}


.thumb.active {

    border: 2px solid var(--sky);
}


.thumb:hover {

    transform: translateY(-4px);
}


/* =====================================
PRODUCT INFO
===================================== */

.category-label {

    color: var(--sky);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.3px;

    margin-top: 4px;
}


.product-info h1 {

    margin-top: 6px;

    font-family: "Baloo 2", sans-serif;

    font-size: 39px;

    line-height: 1.05;

    color: #102d42;
}


.subtitle {

    margin-top: 5px;

    color: #7b8992;

    font-size: 13px;
}


.rating-row {

    display: flex;
    align-items: center;

    gap: 8px;

    margin-top: 14px;

    font-size: 11px;
}


.stars {

    color: #ff9c25;

    letter-spacing: 2px;
}


.rating-row span {
    color: #8a959d;
}


.divider {

    height: 1px;

    background: var(--border);

    margin: 18px 0;
}


.description {

    color: #687983;

    font-size: 12px;

    line-height: 1.75;
}


.price-row {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-top: 17px;
}


.price-row strong {

    font-size: 29px;

    color: #102b40;
}


.price-row del {

    color: #9ba5aa;

    font-size: 13px;
}


.discount {

    padding: 5px 9px;

    background: #e5f8ed;

    color: #21945c;

    border-radius: 6px;

    font-size: 9px;

    font-weight: 800;
}


.tax-text {

    margin-top: 4px;

    color: #8b969d;

    font-size: 9px;
}


/* =====================================
LEARNING BOX
===================================== */

.learning-box {

    margin-top: 19px;

    padding: 16px;

    background: #f0faff;

    border: 1px solid #d9f0f7;

    border-radius: 15px;
}


.learning-box h3 {

    font-size: 12px;

    color: var(--sky-dark);

    margin-bottom: 12px;
}


.learning-box h3 i {
    margin-right: 6px;
    color: #f2b900;
}


.learning-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;
}


.learning-grid span {

    display: flex;
    align-items: center;

    gap: 7px;

    color: #536a76;

    font-size: 10px;

    font-weight: 600;
}


.learning-grid i {
    color: var(--sky);
}


/* =====================================
PURCHASE
===================================== */

.purchase-row {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 20px;
}


.quantity {

    height: 46px;

    display: flex;

    align-items: center;

    gap: 17px;

    padding: 0 12px;

    border: 1px solid var(--border);

    border-radius: 25px;

    background: white;
}


.quantity button {

    border: none;

    background: transparent;

    cursor: pointer;

    font-size: 17px;

    color: var(--sky-dark);
}


.quantity span {

    min-width: 10px;

    text-align: center;

    font-size: 12px;

    font-weight: 700;
}


.add-to-cart {

    height: 46px;

    padding: 0 28px;

    border: none;

    border-radius: 25px;

    background: #000;;

    color: white;

    cursor: pointer;

    font-family: inherit;

    font-size: 11px;

    font-weight: 800;

    box-shadow:
        0 9px 20px rgba(14,145,180,.20);

    transition: .3s ease;
}


.add-to-cart:hover {

    transform: translateY(-3px);

    box-shadow:
        0 14px 25px rgba(14,145,180,.28);
}


.add-to-cart.added {

    background: #45ae82;
}


.wishlist {

    width: 46px;
    height: 46px;

    border: 1px solid #dce9ee;

    border-radius: 50%;

    background: #f2fbfd;

    color: var(--sky);

    cursor: pointer;

    transition: .3s ease;
}


.wishlist:hover {

    background: var(--pink);

    color: white;

    border-color: var(--pink);
}


.added-message {

    display: none;

    align-items: center;

    gap: 7px;

    margin-top: 10px;

    color: #2a9a68;

    font-size: 10px;

    font-weight: 700;
}


.added-message.show {
    display: flex;
}


/* =====================================
BENEFITS
===================================== */

.benefits {

    margin-top: 20px;

    padding-top: 18px;

    border-top: 1px solid var(--border);

    display: grid;

    grid-template-columns: 1fr 1fr 1fr;

    gap: 10px;
}


.benefits > div {

    display: flex;

    gap: 8px;
}


.benefits i {

    width: 30px;
    height: 30px;

    flex-shrink: 0;

    display: grid;
    place-items: center;

    background: #eaf8fc;

    color: var(--sky);

    border-radius: 50%;

    font-size: 11px;
}


.benefits strong {

    display: block;

    color: #334c5a;

    font-size: 9px;
}


.benefits small {

    display: block;

    margin-top: 2px;

    color: #8c979d;

    font-size: 7px;

    line-height: 1.3;
}


/* =====================================
SIDEBAR
===================================== */

.product-sidebar {

    overflow: hidden;

    background: #f4fbf8;

    border: 1px solid #dcebe5;

    border-radius: 20px;
}


.seller-card {

    padding: 15px;

    display: flex;

    gap: 10px;

    align-items: center;

    background: #e9f7fb;

    border-bottom: 1px solid #dcebe5;
}


.seller-icon {

    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    background: white;

    border-radius: 50%;
}


.seller-card small {

    display: block;

    color: #849097;

    font-size: 8px;
}


.seller-card strong {

    display: block;

    margin-top: 2px;

    color: var(--sky-dark);

    font-size: 11px;
}


.sidebar-item {

    padding: 15px;

    display: flex;

    gap: 10px;

    border-bottom: 1px solid #dcebe5;
}


.sidebar-item > i {

    width: 29px;
    height: 29px;

    flex-shrink: 0;

    display: grid;
    place-items: center;

    background: white;

    color: var(--sky);

    border-radius: 50%;

    font-size: 10px;
}


.sidebar-item strong {

    display: block;

    font-size: 9px;

    color: #36515d;
}


.sidebar-item p {

    margin-top: 3px;

    color: #77878e;

    font-size: 8px;

    line-height: 1.5;
}


.parent-note {

    margin: 13px;

    padding: 13px;

    display: flex;

    gap: 8px;

    background: #fff5d8;

    border-radius: 13px;
}


.parent-note span {
    font-size: 20px;
}


.parent-note strong {

    color: #65552a;

    font-size: 9px;
}


.parent-note p {

    margin-top: 4px;

    color: #806f42;

    font-size: 8px;

    line-height: 1.5;
}



/* =====================================
SCROLL REVEAL
===================================== */

.reveal-left,
.reveal-right,
.reveal-up {

    opacity: 0;

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.16,1,.3,1);
}


.reveal-left {
    transform: translateX(-50px);
}


.reveal-right {
    transform: translateX(50px);
}


.reveal-up {
    transform: translateY(45px);
}


.reveal-left.show,
.reveal-right.show,
.reveal-up.show {

    opacity: 1;

    transform: translate(0);
}


/* =====================================
RESPONSIVE
===================================== */

@media(max-width:1100px) {

    .product-page {

        grid-template-columns:
            1fr 1.2fr;

    }

    .product-sidebar {

        grid-column: 1 / -1;

        display: grid;

        grid-template-columns: repeat(3, 1fr);
    }

    .seller-card {

        grid-column: 1 / -1;
    }

    .parent-note {

        margin: 10px;
    }
}


@media(max-width:800px) {

    .product-navbar nav {
        display: none;
    }

    .product-page {

        grid-template-columns: 1fr;

        padding-top: 10px;
    }

    .product-sidebar {

        display: block;
    }

    .book-image-box {
        height: 450px;
    }

    .review-grid {

        grid-template-columns: 1fr;
    }

    .review-heading {

        align-items: flex-start;

        gap: 15px;

        flex-direction: column;
    }
}


@media(max-width:520px) {

    .product-navbar {

        padding: 0 18px;
    }

    .brand {

        font-size: 20px;
    }

    .breadcrumb {

        padding-left: 18px;

        overflow: hidden;

        white-space: nowrap;
    }

    .product-page {

        padding: 10px 15px 45px;
    }

    .book-image-box {

        height: 380px;

        border-radius: 18px;
    }

    .product-info h1 {

        font-size: 32px;
    }

    .learning-grid {

        grid-template-columns: 1fr;
    }

    .purchase-row {

        flex-wrap: wrap;
    }

    .add-to-cart {

        flex: 1;

        min-width: 160px;
    }

    .benefits {

        grid-template-columns: 1fr;
    }

    .reviews-section {

        margin: 0 15px 50px;

        padding: 22px 17px;
    }
}


/* =========================================
   NURSERY RELATED BOOKS
========================================= */

.related-books-section {
    position: relative;
    padding: 95px 20px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 8% 20%,
            rgba(255, 222, 89, .16),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 75%,
            rgba(91, 203, 235, .15),
            transparent 30%
        ),
        #fffdf8;

    font-family:
        Poppins,
        Arial,
        sans-serif;
}


.related-books-container {
    width: min(1450px, 100%);
    margin: auto;
}


/* =========================================
   HEADER
========================================= */

.related-books-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;

    margin-bottom: 45px;
}


.related-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 10px;

    color: #3b8ea5;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1.8px;
}


.related-books-header h2 {
    margin: 0;

    color: #17243d;

    font-size: clamp(34px, 4vw, 54px);

    line-height: 1.05;

    letter-spacing: -2px;

    font-weight: 900;
}


.related-books-header h2 span {
    color: #f08b68;
}


.related-books-header p {
    max-width: 600px;

    margin: 15px 0 0;

    color: #7d8492;

    font-size: 14px;

    line-height: 1.7;
}


/* VIEW ALL */

.view-all-books {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    flex-shrink: 0;

    padding: 13px 20px;

    border: 1px solid #17243d;
    border-radius: 40px;

    color: #17243d;

    text-decoration: none;

    font-size: 12px;
    font-weight: 800;

    transition: .3s ease;
}


.view-all-books i {
    transition: .3s ease;
}


.view-all-books:hover {
    background: #17243d;
    color: #fff;

    transform: translateY(-3px);
}


.view-all-books:hover i {
    transform: translateX(5px);
}


/* =========================================
   GRID
========================================= */

.related-books-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 25px;
}


/* =========================================
   PRODUCT CARD
========================================= */

.nursery-product-card {
    position: relative;

    overflow: hidden;

    background: #fff;

    border: 1px solid rgba(23,36,61,.08);

    border-radius: 25px;

    box-shadow:
        0 12px 40px
        rgba(23,36,61,.07);

    transition:
        transform .45s
        cubic-bezier(.16,1,.3,1),
        box-shadow .45s ease;
}


.nursery-product-card:hover {
    transform:
        translateY(-10px);

    box-shadow:
        0 25px 55px
        rgba(23,36,61,.13);
}


/* =========================================
   IMAGE AREA
========================================= */

.book-image-box {
    position: relative;

    height: 330px;

    overflow: hidden;

    display: flex;

    align-items: center;
    justify-content: center;
}


.book-bg-yellow {
    background:
        linear-gradient(
            145deg,
            #fff0a9,
            #ffe16b
        );
}


.book-bg-blue {
    background:
        linear-gradient(
            145deg,
            #c9effb,
            #7bd0ea
        );
}


.book-bg-pink {
    background:
        linear-gradient(
            145deg,
            #ffd8dd,
            #f6a6b6
        );
}


.book-bg-green {
    background:
        linear-gradient(
            145deg,
            #d5f1d5,
            #9bd7a5
        );
}


/* BOOK IMAGE */

.book-image-box img {
    position: relative;

    z-index: 3;

    width: 67%;
    height: 78%;

    object-fit: cover;

    border-radius: 7px;

    box-shadow:
        12px 18px 25px
        rgba(0,0,0,.18);

    transition:
        transform .55s
        cubic-bezier(.16,1,.3,1);
}


.nursery-product-card:hover
.book-image-box img {
    transform:
        translateY(-8px)
        rotate(-3deg)
        scale(1.04);
}


/* =========================================
   BADGES
========================================= */

.book-sale {
    position: absolute;

    z-index: 8;

    top: 16px;
    left: 16px;

    padding: 7px 11px;

    border-radius: 20px;

    background: #fff;

    color: #17243d;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .5px;

    box-shadow:
        0 5px 15px
        rgba(0,0,0,.08);
}


.book-age {
    position: absolute;

    z-index: 8;

    top: 16px;
    right: 16px;

    padding: 7px 10px;

    border-radius: 20px;

    background: rgba(255,255,255,.75);

    backdrop-filter: blur(8px);

    color: #17243d;

    font-size: 9px;

    font-weight: 800;
}


/* =========================================
   WISHLIST
========================================= */

.book-wishlist {
    position: absolute;

    z-index: 10;

    right: 15px;
    bottom: 15px;

    width: 42px;
    height: 42px;

    border: 0;

    border-radius: 50%;

    background: #fff;

    color: #17243d;

    cursor: pointer;

    box-shadow:
        0 8px 20px
        rgba(0,0,0,.12);

    transition: .3s ease;
}


.book-wishlist:hover {
    background: #f08b68;
    color: #fff;

    transform:
        scale(1.1);
}


/* =========================================
   DECORATIVE SHAPES
========================================= */

.book-shape {
    position: absolute;

    border-radius: 50%;

    opacity: .45;
}


.book-shape.one {
    width: 80px;
    height: 80px;

    left: -20px;
    bottom: -20px;

    background: #fff;
}


.book-shape.two {
    width: 45px;
    height: 45px;

    top: 90px;
    right: 30px;

    background: #fff;
}


.book-shape.three {
    width: 100px;
    height: 100px;

    right: -30px;
    bottom: -30px;

    background: #fff;
}


/* =========================================
   CONTENT
========================================= */

.book-content {
    padding: 22px 20px 20px;
}


.book-category {
    display: inline-block;

    margin-bottom: 8px;

    color: #d99427;

    font-size: 9px;

    font-weight: 900;

    text-transform: uppercase;

    letter-spacing: 1px;
}


.book-category.blue {
    color: #3297b5;
}


.book-category.pink {
    color: #df7085;
}


.book-category.green {
    color: #4a9a5b;
}


.book-content h3 {
    min-height: 48px;

    margin: 0;

    color: #17243d;

    font-size: 17px;

    line-height: 1.4;

    font-weight: 800;
}


/* =========================================
   RATING
========================================= */

.book-rating {
    display: flex;

    align-items: center;

    gap: 8px;

    margin: 8px 0;
}


.book-rating span {
    color: #ffae35;

    font-size: 11px;

    letter-spacing: 1px;
}


.book-rating small {
    color: #9a9fab;

    font-size: 9px;
}


.book-content p {
    min-height: 43px;

    margin: 9px 0 18px;

    color: #818896;

    font-size: 11px;

    line-height: 1.6;
}


/* =========================================
   BOTTOM
========================================= */

.book-bottom {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    padding-top: 15px;

    border-top: 1px solid #edf0f3;
}


.book-price {
    display: flex;

    align-items: center;

    gap: 7px;
}


.book-price strong {
    color: #17243d;

    font-size: 21px;

    font-weight: 900;
}


.book-price del {
    color: #a6abb3;

    font-size: 10px;
}


/* =========================================
   ADD CART
========================================= */

.book-cart-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 11px 14px;

    border: 0;

    border-radius: 30px;

    background:#000;

    color: #fff;

    font-family: inherit;

    font-size: 10px;

    font-weight: 800;

    cursor: pointer;

    transition: .3s ease;
}


.book-cart-btn:hover {
    transform:
        translateY(-3px);

    box-shadow:
        0 9px 20px
        rgba(23,36,61,.2);
}


.book-cart-btn.added {
    background:
        linear-gradient(
            135deg,
            #58a66a,
            #398b52
        );
}


/* =========================================
   SCROLL REVEAL
========================================= */

.reveal-book {
    opacity: 0;

    transform:
        translateY(45px);

    transition:
        opacity .8s ease,
        transform .8s
        cubic-bezier(.16,1,.3,1);
}


.reveal-book.active {
    opacity: 1;

    transform:
        translateY(0);
}


.related-books-grid
.reveal-book:nth-child(2) {
    transition-delay: .12s;
}


.related-books-grid
.reveal-book:nth-child(3) {
    transition-delay: .24s;
}


.related-books-grid
.reveal-book:nth-child(4) {
    transition-delay: .36s;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1100px) {

    .related-books-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


@media (max-width: 700px) {

    .related-books-section {
        padding: 65px 15px;
    }

    .related-books-header {
        align-items: flex-start;

        flex-direction: column;

        margin-bottom: 30px;
    }

    .related-books-header h2 {
        font-size: 34px;
    }

    .view-all-books {
        width: 100%;
        justify-content: center;
    }

    .related-books-grid {
        grid-template-columns:
            repeat(2, 1fr);

        gap: 14px;
    }

    .book-image-box {
        height: 245px;
    }

    .book-content {
        padding: 17px 14px;
    }

    .book-content h3 {
        font-size: 14px;
    }

    .book-content p {
        font-size: 10px;
    }

    .book-bottom {
        align-items: stretch;

        flex-direction: column;
    }

    .book-cart-btn {
        width: 100%;
    }

}


@media (max-width: 480px) {

    .related-books-grid {
        grid-template-columns: 1fr;
    }

    .book-image-box {
        height: 310px;
    }

    .book-content h3 {
        min-height: auto;
    }

    .book-content p {
        min-height: auto;
    }

}


/* reviews */
/* =========================================
   BOOK DESCRIPTION + REVIEWS
========================================= */

.book-info-section {
    position: relative;
    padding: 75px 20px 100px;
    background: #fffdf8;
    font-family: Poppins, Arial, sans-serif;
}


.book-info-container {
    width: min(1200px, 100%);
    margin: auto;

    background: #fff;

    border: 1px solid #e7ebef;

    border-radius: 24px;

    overflow: hidden;

    box-shadow:
        0 15px 50px rgba(31, 52, 72, .06);
}


/* =========================================
   TABS
========================================= */

.book-info-tabs {
    min-height: 72px;

    display: flex;
    align-items: center;

    gap: 8px;

    padding: 0 25px;

    border-bottom: 1px solid #e8edf0;
}


.info-tab {
    padding: 10px 20px;

    border: 0;
    border-radius: 30px;

    background: transparent;

    color: #7b8490;

    font-family: inherit;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;

    transition: .3s ease;
}


.info-tab span {
    font-size: 10px;
}


.info-tab.active {
    background: #238ca8;
    color: #fff;

    box-shadow:
        0 7px 18px rgba(35,140,168,.2);
}


.verified-badge {
    margin-left: auto;

    display: flex;
    align-items: center;
    gap: 7px;

    padding: 10px 15px;

    border-radius: 12px;

    background: #f1faef;

    color: #4c9a5b;

    font-size: 10px;
    font-weight: 800;
}


.verified-badge i {
    font-size: 13px;
}


/* =========================================
   PANELS
========================================= */

.info-panel {
    display: none;

    padding: 45px;
}


.info-panel.active {
    display: block;

    animation:
        panelShow .5s ease;
}


@keyframes panelShow {

    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================
   DESCRIPTION
========================================= */

.description-grid {
    display: grid;

    grid-template-columns:
        1.4fr .8fr;

    gap: 60px;
}


.section-mini-title {
    display: inline-block;

    margin-bottom: 10px;

    color: #238ca8;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: 1.8px;
}


.description-content h2 {
    margin: 0 0 18px;

    color: #17243d;

    font-size: 34px;

    line-height: 1.15;

    letter-spacing: -1px;
}


.description-content h2 span {
    color: #f08b68;
}


.description-content > p {
    max-width: 720px;

    margin: 0 0 15px;

    color: #737d89;

    font-size: 15px;

    line-height: 1.8;
}


/* =========================================
   LEARNING POINTS
========================================= */

.learning-points {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;

    margin-top: 28px;
}


.learning-point {
    display: flex;

    align-items: center;

    gap: 12px;

    padding: 15px;

    border: 1px solid #edf0f2;

    border-radius: 15px;

    background: #fff;

    transition: .3s ease;
}


.learning-point:hover {
    transform: translateY(-4px);

    box-shadow:
        0 10px 25px rgba(31,52,72,.08);
}


.point-icon {
    width: 40px;
    height: 40px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    font-size: 14px;
}


.point-icon.yellow {
    background: #fff3c4;
    color: #d99c20;
}


.point-icon.blue {
    background: #dff5fb;
    color: #238ca8;
}


.point-icon.pink {
    background: #ffe3e8;
    color: #df7187;
}


.point-icon.green {
    background: #e2f6e3;
    color: #4d9c5a;
}


.learning-point strong {
    display: block;

    color: #17243d;

    font-size: 15px;
}


.learning-point small {
    display: block;

    margin-top: 3px;

    color: #8c949e;

    font-size: 14px;
}


/* =========================================
   BOOK DETAILS
========================================= */

.book-spec-card {
    padding: 25px;

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            #f0faff,
            #f7fcf9
        );

    border: 1px solid #e1eff2;
}


.spec-card-top {
    display: flex;

    justify-content: space-between;

    align-items: center;

    padding-bottom: 17px;

    border-bottom: 1px solid #dcecef;

    color: #17243d;

    font-size: 15px;
    font-weight: 900;

    letter-spacing: 1px;
}


.spec-card-top i {
    color: #238ca8;
    font-size: 17px;
}


.spec-row {
    display: flex;

    justify-content: space-between;

    gap: 15px;

    padding: 13px 0;

    border-bottom: 1px dashed #dce7ea;

    font-size: 15px;
}


.spec-row span {
    color: #7c8790;
}


.spec-row strong {
    color: #17243d;
}


.parent-note {
    display: flex;

    gap: 12px;

    margin-top: 20px;

    padding: 15px;

    border-radius: 14px;

    background: #fff;

    box-shadow:
        0 5px 20px rgba(0,0,0,.04);
}


.parent-note > i {
    color: #ed8198;

    font-size: 19px;
}


.parent-note strong {
    color: #17243d;

    font-size: 11px;
}


.parent-note p {
    margin: 4px 0 0;

    color: #818b95;

    font-size: 9px;

    line-height: 1.5;
}


/* =========================================
   REVIEWS LAYOUT
========================================= */

.reviews-layout {
    display: grid;

    grid-template-columns:
        .75fr 1.25fr;

    gap: 50px;
}


/* =========================================
   REVIEW SUMMARY
========================================= */

.review-summary {
    padding: 30px;

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            #f5fbff,
            #fff9f3
        );
}


.big-rating {
    margin-top: 8px;

    color: #17243d;

    font-size: 58px;

    line-height: 1;

    font-weight: 900;
}


.stars,
.review-stars {
    color: #ffae35;

    letter-spacing: 2px;
}


.review-summary > p {
    margin: 6px 0 25px;

    color: #89929b;

    font-size: 10px;
}


/* RATING BARS */

.rating-bars {
    display: flex;

    flex-direction: column;

    gap: 10px;
}


.rating-line {
    display: grid;

    grid-template-columns:
        15px 1fr 25px;

    align-items: center;

    gap: 8px;

    color: #737e89;

    font-size: 9px;
}


.rating-line div {
    height: 6px;

    overflow: hidden;

    border-radius: 20px;

    background: #e7eaec;
}


.rating-line i {
    display: block;

    height: 100%;

    border-radius: 20px;

    background: #ffb13b;
}


/* =========================================
   REVIEW FORM
========================================= */

.review-form-card {
    padding: 30px;

    border: 1px solid #e7edf0;

    border-radius: 20px;

    background: #fff;
}


.review-form-heading {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 20px;
}


.review-form-heading h3 {
    margin: 0;

    color: #17243d;

    font-size: 24px;
}


.review-smile {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fff4c9;

    font-size: 24px;
}


.review-form-card label {
    display: block;

    margin-bottom: 7px;

    color: #17243d;

    font-size: 10px;

    font-weight: 800;
}


/* STAR SELECTOR */

.rating-selector {
    display: flex;

    gap: 4px;
}


.rating-selector button {
    padding: 0;

    border: 0;

    background: transparent;

    color: #d9dde1;

    font-size: 27px;

    cursor: pointer;

    transition: .2s ease;
}


.rating-selector button:hover,
.rating-selector button.selected {
    color: #ffad35;

    transform: scale(1.1);
}


.rating-message {
    display: block;

    margin: 3px 0 17px;

    color: #9ba3ab;

    font-size: 9px;
}


/* INPUT */

.review-field {
    margin-bottom: 15px;
}


.review-field input,
.review-field textarea {
    width: 100%;

    box-sizing: border-box;

    padding: 13px 14px;

    outline: none;

    border: 1px solid #e3e8eb;

    border-radius: 12px;

    background: #fbfcfc;

    color: #17243d;

    font-family: inherit;

    font-size: 11px;

    transition: .3s ease;
}


.review-field textarea {
    resize: vertical;

    min-height: 105px;
}


.review-field input:focus,
.review-field textarea:focus {
    border-color: #65b8cb;

    background: #fff;

    box-shadow:
        0 0 0 4px rgba(101,184,203,.1);
}


/* SUBMIT */

.submit-review-btn {
    width: 100%;

    padding: 14px;

    border: 0;

    border-radius: 30px;

    background:
        linear-gradient(
            135deg,
            #17243d,
            #238ca8
        );

    color: #fff;

    font-family: inherit;

    font-size: 11px;

    font-weight: 800;

    cursor: pointer;

    transition: .3s ease;
}


.submit-review-btn:hover {
    transform: translateY(-3px);

    box-shadow:
        0 10px 25px
        rgba(35,140,168,.22);
}


.review-note {
    margin: 12px 0 0;

    text-align: center;

    color: #9aa2aa;

    font-size: 8px;
}


.review-note i {
    color: #55a56b;
}


/* =========================================
   CUSTOMER REVIEWS
========================================= */

.customer-reviews {
    margin-top: 45px;

    padding-top: 30px;

    border-top: 1px solid #e8edf0;
}


.reviews-title {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 20px;
}


.reviews-title h3 {
    margin: 0;

    color: #17243d;

    font-size: 21px;
}


.reviews-title span {
    color: #7c8791;

    font-size: 10px;
}


/* REVIEW */

.single-review {
    display: flex;

    gap: 15px;

    padding: 22px 0;

    border-bottom: 1px solid #edf0f2;
}


.review-avatar {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffe5a4;

    color: #7d5b18;

    font-size: 14px;

    font-weight: 900;
}


.review-avatar.avatar-blue {
    background: #d9f3fa;

    color: #238ca8;
}


.review-body {
    flex: 1;
}


.review-user {
    display: flex;

    justify-content: space-between;

    gap: 20px;
}


.review-user strong {
    display: block;

    color: #17243d;

    font-size: 12px;
}


.review-user small {
    display: block;

    margin-top: 2px;

    color: #55a56b;

    font-size: 8px;
}


.review-user > span {
    color: #9aa2aa;

    font-size: 9px;
}


.review-stars {
    margin: 6px 0;

    font-size: 10px;
}


.review-body p {
    margin: 0;

    color: #737e89;

    font-size: 11px;

    line-height: 1.7;
}


/* =========================================
   NEW REVIEW ANIMATION
========================================= */

.new-review {
    animation:
        newReview .6s
        cubic-bezier(.16,1,.3,1);
}


@keyframes newReview {

    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 850px) {

    .info-panel {
        padding: 30px 22px;
    }

    .description-grid,
    .reviews-layout {
        grid-template-columns: 1fr;

        gap: 30px;
    }

}


@media (max-width: 600px) {

    .book-info-section {
        padding: 50px 12px;
    }

    .book-info-tabs {
        padding: 10px;

        min-height: auto;

        flex-wrap: wrap;
    }

    .verified-badge {
        width: 100%;

        justify-content: center;

        margin: 5px 0 0;
    }

    .description-content h2 {
        font-size: 28px;
    }

    .learning-points {
        grid-template-columns: 1fr;
    }

    .review-summary,
    .review-form-card {
        padding: 20px;
    }

    .review-user {
        flex-direction: column;

        gap: 4px;
    }

}

/* footer */

/* =========================================
   KIDS FOOTER
========================================= */

.kids-footer {

    position: relative;

    overflow: hidden;

    padding: 80px 20px 0;

    background:
        linear-gradient(
            145deg,
            #fffaf0 0%,
            #f4fbff 48%,
            #f8fff4 100%
        );

    font-family:
        Poppins,
        Arial,
        sans-serif;

    color: #17243d;
}


/* =========================================
   DECORATIONS
========================================= */

.footer-cloud {

    position: absolute;

    font-size: 70px;

    opacity: .45;

    pointer-events: none;

    animation:
        footerCloud 5s
        ease-in-out
        infinite;
}


.cloud-1 {

    top: 25px;
    left: 5%;

}


.cloud-2 {

    top: 85px;
    right: 5%;

    font-size: 55px;

    animation-delay: 1.5s;

}


@keyframes footerCloud {

    0%,
    100% {
        transform:
            translateY(0);
    }

    50% {
        transform:
            translateY(-10px);
    }

}


.footer-stars {

    position: absolute;

    inset: 0;

    pointer-events: none;

}


.footer-stars span {

    position: absolute;

    color: #f5bd38;

    font-size: 24px;

    animation:
        footerStar 3s
        ease-in-out
        infinite;

}


.footer-stars span:nth-child(1) {

    top: 150px;
    left: 18%;

}


.footer-stars span:nth-child(2) {

    top: 210px;
    right: 15%;

    animation-delay: .8s;

}


.footer-stars span:nth-child(3) {

    bottom: 130px;
    left: 8%;

    color: #ef8ba0;

    animation-delay: 1.2s;

}


.footer-stars span:nth-child(4) {

    bottom: 170px;
    right: 7%;

    color: #69b9cf;

    animation-delay: 1.7s;

}


@keyframes footerStar {

    0%,
    100% {

        transform:
            scale(1)
            rotate(0);

    }

    50% {

        transform:
            scale(1.3)
            rotate(20deg);

    }

}


/* =========================================
   PARENT CTA
========================================= */

.footer-parent-box {

    position: relative;

    z-index: 5;

    width: min(1100px, 100%);

    margin: 0 auto 65px;

    padding: 28px 32px;

    display: flex;

    align-items: center;

    gap: 24px;

    border-radius: 25px;

    background:
        linear-gradient(
            135deg,
            #dff7ff,
            #fff1c7
        );

    border: 1px solid rgba(35,140,168,.12);

    box-shadow:
        0 20px 50px
        rgba(39,78,96,.09);

}


.parent-illustration {

    width: 70px;
    height: 70px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 20px;

    background: #fff;

    font-size: 35px;

    box-shadow:
        0 8px 20px
        rgba(0,0,0,.08);

    animation:
        bookFloat 3s
        ease-in-out
        infinite;

}


@keyframes bookFloat {

    0%,
    100% {
        transform:
            translateY(0)
            rotate(-2deg);
    }

    50% {
        transform:
            translateY(-7px)
            rotate(2deg);
    }

}


.parent-content {

    flex: 1;

}


.footer-mini-title {

    display: block;

    margin-bottom: 5px;

    color: #238ca8;

    font-size: 8px;

    font-weight: 900;

    letter-spacing: 1.5px;

}


.parent-content h2 {

    margin: 0;

    color: #17243d;

    font-size: 27px;

    line-height: 1.2;

}


.parent-content h2 span {

    color: #ed8198;

}


.parent-content p {

    max-width: 650px;

    margin: 7px 0 0;

    color: #6d7a84;

    font-size: 10px;

    line-height: 1.6;

}


.footer-shop-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 13px 20px;

    flex-shrink: 0;

    border-radius: 30px;

    background: #17243d;

    color: #fff;

    text-decoration: none;

    font-size: 10px;

    font-weight: 800;

    transition: .3s ease;

}


.footer-shop-btn:hover {

    transform:
        translateY(-3px);

    background: #238ca8;

    box-shadow:
        0 10px 25px
        rgba(35,140,168,.2);

}


.footer-shop-btn i {

    transition: .3s ease;

}


.footer-shop-btn:hover i {

    transform:
        translateX(4px);

}


/* =========================================
   MAIN FOOTER
========================================= */

.footer-container {

    position: relative;

    z-index: 5;

    width: min(1100px, 100%);

    margin: auto;

    padding-bottom: 55px;

    display: grid;

    grid-template-columns:
        1.5fr
        1fr
        1fr
        1fr;

    gap: 55px;

}


/* =========================================
   BRAND
========================================= */

.kids-footer-logo {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    color: #17243d;

    text-decoration: none;

    font-size: 25px;

    font-weight: 700;

}


.kids-footer-logo b {

    color: #238ca8;

}


.footer-logo-icon {

    width: 43px;
    height: 43px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #ffe59a,
            #f8a5b8
        );

    font-size: 21px;

    box-shadow:
        0 7px 18px
        rgba(0,0,0,.08);

}


.footer-brand > p {

    max-width: 300px;

    margin: 18px 0;

    color: #77828d;

    font-size: 10px;

    line-height: 1.8;

}


/* =========================================
   PARENT TRUST
========================================= */

.parent-trust {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 20px;

}


.trust-icon {

    width: 35px;
    height: 35px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffe3e9;

    color: #e4778d;

    font-size: 13px;

}


.parent-trust strong {

    display: block;

    color: #17243d;

    font-size: 10px;

}


.parent-trust small {

    display: block;

    margin-top: 2px;

    color: #89939c;

    font-size: 8px;

}


/* =========================================
   SOCIAL
========================================= */

.footer-socials {

    display: flex;

    gap: 8px;

}


.footer-socials a {

    width: 34px;
    height: 34px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fff;

    border: 1px solid #e4eaed;

    color: #238ca8;

    text-decoration: none;

    font-size: 11px;

    transition: .3s ease;

}


.footer-socials a:hover {

    color: #fff;

    background: #238ca8;

    transform:
        translateY(-4px);

    border-color: #238ca8;

}


/* =========================================
   COLUMNS
========================================= */

.footer-column h3 {

    margin: 8px 0 20px;

    color: #17243d;

    font-size: 13px;

}


.footer-column a {

    display: flex;

    align-items: center;

    gap: 7px;

    width: fit-content;

    margin-bottom: 13px;

    color: #75818b;

    text-decoration: none;

    font-size: 9px;

    transition: .25s ease;

}


.footer-column a i {

    color: #238ca8;

    font-size: 7px;

}


.footer-column a:hover {

    color: #238ca8;

    transform:
        translateX(4px);

}


/* =========================================
   TRUST STRIP
========================================= */

.footer-trust {

    position: relative;

    z-index: 5;

    width: min(1100px, 100%);

    margin: auto;

    padding: 24px 0;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 20px;

    border-top:
        1px solid #e2e9ec;

    border-bottom:
        1px solid #e2e9ec;

}


.trust-item {

    display: flex;

    align-items: center;

    gap: 10px;

}


.trust-item > span {

    width: 38px;
    height: 38px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #fff;

    color: #238ca8;

    box-shadow:
        0 5px 15px
        rgba(0,0,0,.05);

}


.trust-item strong {

    display: block;

    color: #17243d;

    font-size: 9px;

}


.trust-item small {

    display: block;

    margin-top: 3px;

    color: #8b959d;

    font-size: 7px;

    line-height: 1.4;

}


/* =========================================
   BOTTOM
========================================= */

.footer-bottom {

    position: relative;

    z-index: 5;

    width: min(1100px, 100%);

    margin: auto;

    min-height: 70px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

}


.footer-bottom p {

    margin: 0;

    color: #8a949c;

    font-size: 8px;

}


.footer-bottom p span {

    color: #ef8196;

}


.footer-payment {

    display: flex;

    align-items: center;

    gap: 10px;

    color: #8a949c;

    font-size: 8px;

}


.footer-payment i {

    color: #5e6d79;

    font-size: 18px;

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 850px) {

    .footer-container {

        grid-template-columns:
            1.3fr 1fr 1fr;

        gap: 35px;

    }

    .footer-brand {

        grid-column: span 3;

    }

    .footer-brand > p {

        max-width: 500px;

    }

    .footer-trust {

        grid-template-columns:
            repeat(2, 1fr);

    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .kids-footer {

        padding-top: 55px;

    }


    .footer-parent-box {

        flex-direction: column;

        text-align: center;

        padding: 25px 18px;

        margin-bottom: 50px;

    }


    .parent-content p {

        margin-left: auto;
        margin-right: auto;

    }


    .footer-shop-btn {

        width: 100%;

    }


    .footer-container {

        grid-template-columns:
            repeat(2, 1fr);

        gap: 30px 20px;

    }


    .footer-brand {

        grid-column: span 2;

    }


    .footer-column h3 {

        margin-top: 0;

    }


    .footer-trust {

        grid-template-columns: 1fr;

        gap: 14px;

    }


    .trust-item {

        padding: 7px 0;

    }


    .footer-bottom {

        flex-direction: column;

        justify-content: center;

        text-align: center;

        padding: 20px 0;

    }


    .footer-payment {

        flex-wrap: wrap;

        justify-content: center;

    }


    .footer-cloud {

        font-size: 45px;

    }

}
/* =========================================================
   KIDS CART — PURPLE + ORANGE + LIME GREEN THEME
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700&display=swap');

* {
    box-sizing: border-box;
}

.kids-cart-section {
    position: relative;
    overflow: hidden;
    padding: 90px 20px;

    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(177, 112, 255, .16),
            transparent 26%
        ),
        radial-gradient(
            circle at 90% 18%,
            rgba(255, 154, 72, .14),
            transparent 25%
        ),
        radial-gradient(
            circle at 85% 85%,
            rgba(181, 255, 82, .18),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #fffaff 0%,
            #fffaf3 45%,
            #f8fff1 100%
        );

    font-family: "Poppins", sans-serif;
    color: #332044;
}

.cart-container {
    width: min(1180px, 100%);
    margin: auto;
}


/* =========================================================
   HEADING
========================================================= */

.cart-heading {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 55px;
}

.cart-badge {
    display: inline-flex;
    padding: 8px 17px;
    border-radius: 50px;

    background: #f0ddff;
    color: #7839a8;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 15px;

    box-shadow:
        0 6px 18px rgba(140, 70, 200, .08);
}

.cart-heading h1 {
    margin: 0;

    font-family: "Baloo 2", cursive;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1;

    color: #39204d;
}

.cart-heading h1 span {
    color: #f28738;
}

.cart-heading p {
    margin: 18px auto 0;
    max-width: 600px;

    color: #817488;
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   LAYOUT
========================================================= */

.cart-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(320px, .8fr);

    gap: 30px;
    align-items: start;
}


/* =========================================================
   CART LEFT
========================================================= */

.cart-items {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cart-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.cart-top h2 {
    margin: 0;

    font-family: "Baloo 2", cursive;
    font-size: 28px;
    color: #3a224b;
}

.cart-top p {
    margin: 3px 0 0;
    color: #948a98;
    font-size: 13px;
}

.items-count {
    padding: 8px 14px;

    border-radius: 30px;

    background: #ffffff;
    border: 1px solid #eee1f5;

    color: #70438d;

    font-size: 12px;
    font-weight: 600;

    box-shadow:
        0 5px 18px rgba(100, 55, 130, .05);
}


/* =========================================================
   BOOK CARD
========================================================= */

.book-card {
    display: flex;
    gap: 22px;

    padding: 18px;

    background: rgba(255, 255, 255, .92);

    border: 1px solid #eee3f5;
    border-radius: 25px;

    box-shadow:
        0 12px 35px rgba(84, 42, 105, .07);

    transition: .35s ease;
}

.book-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 20px 45px rgba(84, 42, 105, .13);

    border-color: #e1c8f1;
}


/* =========================================================
   BOOK IMAGE
========================================================= */

.book-image {
    position: relative;

    width: 145px;
    min-width: 145px;
    height: 185px;

    overflow: hidden;

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            #f0dcff,
            #efffd5
        );
}

.book-image img {
    width: 100%;
    height: 76%;

    object-fit: cover;

    transition: .5s ease;
}

.book-card:hover .book-image img {
    transform: scale(1.07);
}


/* =========================================================
   BOOK TAGS
========================================================= */

.book-tag {
    position: absolute;

    top: 10px;
    left: 10px;

    padding: 5px 9px;

    border-radius: 20px;

    background: #ff913f;
    color: white;

    font-size: 8px;
    font-weight: 700;

    box-shadow:
        0 5px 12px rgba(255, 145, 63, .25);
}

.book-tag.learning {
    background: #7ccf38;

    box-shadow:
        0 5px 12px rgba(124, 207, 56, .25);
}

.book-tag.adventure {
    background: #9255d6;

    box-shadow:
        0 5px 12px rgba(146, 85, 214, .25);
}


/* =========================================================
   DETAILS
========================================================= */

.book-details {
    flex: 1;

    display: flex;
    flex-direction: column;
}

.book-category {
    color: #7f48a6;

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .8px;
}

.book-details h3 {
    margin: 6px 0;

    font-family: "Baloo 2", cursive;
    font-size: 25px;
    line-height: 1.15;

    color: #392044;
}

.book-details p {
    margin: 0;
    max-width: 600px;

    color: #8b7e91;

    font-size: 12px;
    line-height: 1.7;
}

.book-meta {
    display: flex;
    gap: 18px;

    margin-top: 12px;

    font-size: 11px;
    color: #7d7182;
}


/* =========================================================
   BOOK BOTTOM
========================================================= */

.book-bottom {
    display: flex;
    align-items: center;
    gap: 22px;

    margin-top: auto;
    padding-top: 14px;
}

.book-price {
    font-family: "Baloo 2", cursive;

    font-size: 25px;

    color: #ef7734;
}


/* =========================================================
   QUANTITY
========================================================= */

.quantity {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 5px 8px;

    border: 1px solid #e5d9eb;
    border-radius: 30px;

    background: #fcfaff;
}

.quantity button {
    width: 28px;
    height: 28px;

    border: 0;
    border-radius: 50%;

    cursor: pointer;

    background: #e6ffc5;
    color: #537d27;

    font-size: 17px;

    transition: .25s;
}

.quantity button:hover {
    background: #caff82;

    transform: scale(1.1);
}

.quantity span {
    min-width: 12px;

    text-align: center;

    color: #4b3558;

    font-size: 13px;
    font-weight: 700;
}


/* =========================================================
   REMOVE
========================================================= */

.remove-btn {
    border: 0;
    background: transparent;

    color: #a59ca9;

    cursor: pointer;

    font-family: inherit;
    font-size: 11px;

    transition: .25s;
}

.remove-btn:hover {
    color: #ed654f;
}


/* =========================================================
   CONTINUE SHOPPING
========================================================= */

.continue-shopping {
    width: max-content;

    margin-top: 5px;

    color: #75449a;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    transition: .25s;
}

.continue-shopping:hover {
    color: #ef7835;
    transform: translateX(-5px);
}


/* =========================================================
   SUMMARY
========================================================= */

.cart-summary {
    position: sticky;
    top: 30px;

    padding: 30px;

    border-radius: 30px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(202, 255, 88, .13),
            transparent 32%
        ),
        radial-gradient(
            circle at 0% 100%,
            rgba(185, 103, 255, .18),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #49215f,
            #351541
        );

    color: white;

    box-shadow:
        0 25px 60px rgba(70, 28, 91, .22);

    overflow: hidden;
}

.summary-decoration {
    position: absolute;

    top: -25px;
    right: -15px;

    width: 90px;
    height: 90px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: rgba(202, 255, 88, .10);

    font-size: 30px;
}

.cart-summary h2 {
    position: relative;

    margin: 0;

    font-family: "Baloo 2", cursive;

    font-size: 30px;
}

.summary-subtitle {
    margin: 3px 0 28px;

    color: #d2c3d8;

    font-size: 12px;
}


/* =========================================================
   SUMMARY ROW
========================================================= */

.summary-row {
    display: flex;
    justify-content: space-between;

    padding: 12px 0;

    color: #d4c9d9;

    font-size: 13px;

    border-bottom:
        1px solid rgba(255,255,255,.08);
}

.summary-row strong {
    color: white;
}

.summary-row .free {
    color: #baff62;
}

.summary-row .discount {
    color: #ffad68;
}


/* =========================================================
   COUPON
========================================================= */

.coupon-box {
    display: flex;

    margin-top: 22px;
    padding: 5px;

    background: rgba(255,255,255,.08);

    border:
        1px solid rgba(255,255,255,.12);

    border-radius: 13px;
}

.coupon-box input {
    width: 100%;
    min-width: 0;

    padding: 11px;

    border: 0;
    outline: 0;

    color: white;
    background: transparent;

    font-family: inherit;
    font-size: 12px;
}

.coupon-box input::placeholder {
    color: #c5b8cb;
}

.coupon-box button {
    padding: 0 15px;

    border: 0;
    border-radius: 9px;

    background: #caff58;
    color: #3a2147;

    cursor: pointer;

    font-weight: 700;
    font-size: 11px;

    transition: .25s;
}

.coupon-box button:hover {
    background: #dcff8c;
    transform: translateY(-1px);
}

#coupon-message {
    min-height: 16px;

    margin: 7px 2px;

    color: #caff58;

    font-size: 10px;
}


/* =========================================================
   TOTAL
========================================================= */

.summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;

    margin-top: 17px;
    padding-top: 20px;

    border-top:
        1px dashed rgba(255,255,255,.2);
}

.summary-total span {
    color: #ded5e2;
    font-size: 13px;
}

.summary-total strong {
    font-family: "Baloo 2", cursive;

    font-size: 32px;

    color: #caff58;
}


/* =========================================================
   CHECKOUT
========================================================= */

.checkout-btn {
    width: 100%;

    margin-top: 20px;
    padding: 15px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border: 0;
    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #caff58,
            #a8ed4b
        );

    color: #3b2148;

    cursor: pointer;

    font-family: inherit;
    font-weight: 700;

    transition: .3s;
}

.checkout-btn:hover {
    transform: translateY(-3px);

    box-shadow:
        0 10px 25px rgba(202,255,88,.22);
}

.checkout-btn span {
    font-size: 20px;
}


/* =========================================================
   SECURE
========================================================= */

.secure-checkout {
    text-align: center;

    margin: 15px 0;

    color: #b9aabd;

    font-size: 10px;
}


/* =========================================================
   PARENT NOTE
========================================================= */

.parent-note {
    display: flex;
    gap: 12px;

    padding: 15px;
    margin-top: 20px;

    border-radius: 17px;

    background:
        rgba(202,255,88,.07);

    border:
        1px solid rgba(202,255,88,.08);
}

.note-icon {
    width: 34px;
    height: 34px;

    flex-shrink: 0;

    display: grid;
    place-items: center;

    border-radius: 10px;

    background:
        rgba(202,255,88,.12);

    color: #caff58;
}

.parent-note strong {
    font-size: 11px;
}

.parent-note p {
    margin: 3px 0 0;

    color: #c7bacd;

    font-size: 9px;
    line-height: 1.5;
}


/* =========================================================
   FLOATING DECOR
========================================================= */

.float-star,
.float-cloud {
    position: absolute;
    pointer-events: none;
}

.float-star {
    color: #ffae45;

    animation:
        floating 4s ease-in-out infinite;
}

.star-one {
    top: 15%;
    left: 4%;

    font-size: 28px;
}

.star-two {
    right: 5%;
    top: 38%;

    font-size: 20px;

    animation-delay: 1s;
}

.float-cloud {
    right: 3%;
    top: 10%;

    color: #a96de0;

    opacity: .35;

    font-size: 45px;

    animation:
        floating 6s ease-in-out infinite;
}

@keyframes floating {

    0%, 100% {
        transform:
            translateY(0)
            rotate(0);
    }

    50% {
        transform:
            translateY(-12px)
            rotate(5deg);
    }
}


/* =========================================================
   SCROLL REVEAL
========================================================= */

.reveal {
    opacity: 0;

    transform:
        translateY(45px);

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2,.8,.2,1);
}

.reveal.show {
    opacity: 1;

    transform:
        translateY(0);
}

.book-card:nth-child(2) {
    transition-delay: .1s;
}

.book-card:nth-child(3) {
    transition-delay: .2s;
}

.book-card:nth-child(4) {
    transition-delay: .3s;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .cart-layout {
        grid-template-columns: 1fr;
    }

    .cart-summary {
        position: relative;
        top: auto;
    }
}


@media (max-width: 600px) {

    .kids-cart-section {
        padding: 60px 14px;
    }

    .cart-heading {
        margin-bottom: 35px;
    }

    .cart-heading h1 {
        font-size: 40px;
    }

    .cart-top {
        align-items: flex-start;
    }

    .cart-top h2 {
        font-size: 23px;
    }

    .book-card {
        padding: 12px;
        gap: 13px;
        border-radius: 20px;
    }

    .book-image {
        width: 105px;
        min-width: 105px;
        height: 145px;
    }

    .book-details h3 {
        font-size: 19px;
    }

    .book-details p {
        display: none;
    }

    .book-meta {
        gap: 8px;
        font-size: 9px;
    }

    .book-bottom {
        flex-wrap: wrap;
        gap: 10px;
    }

    .book-price {
        font-size: 22px;
    }

    .remove-btn {
        margin-left: auto;
    }

    .cart-summary {
        padding: 23px;
        border-radius: 24px;
    }

    .float-cloud,
    .float-star {
        display: none;
    }
}


@media (max-width: 400px) {

    .book-image {
        width: 85px;
        min-width: 85px;
        height: 120px;
    }

    .book-details h3 {
        font-size: 17px;
    }

    .quantity {
        gap: 7px;
    }
}

/* chekout */
/* =====================================================
   SANGATI CHECKOUT
   UNIQUE CSS — NO COMMON CLASS NAMES
===================================================== */

.sg-checkout {
    width: 100%;
    padding: 85px 20px;

    background:
        linear-gradient(
            180deg,
            #fbfefb 0%,
            #f5faf6 100%
        );

    box-sizing: border-box;

    font-family:
        "Poppins",
        Arial,
        sans-serif;
}

.sg-checkout *,
.sg-checkout *::before,
.sg-checkout *::after {
    box-sizing: border-box;
}


/* =====================================================
   CONTAINER
===================================================== */

.sg-checkout-container {
    width: min(1160px, 100%);
    margin: 0 auto;
}


/* =====================================================
   HEADING
===================================================== */

.sg-checkout-heading {
    width: 100%;
    max-width: 720px;

    margin: 0 auto 48px;

    text-align: center;
}

.sg-checkout-label {
    display: inline-block;

    padding: 7px 14px;

    border-radius: 50px;

    background: #eaf7ed;

    border: 1px solid #d8ecdB;

    color: #31904a;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.sg-checkout-heading h1 {
    margin: 16px 0 10px;

    color: #183c24;

    font-size: clamp(34px, 5vw, 52px);

    line-height: 1.1;

    font-weight: 800;
}

.sg-checkout-heading h1 span {
    color: #43a758;
}

.sg-checkout-heading p {
    max-width: 600px;

    margin: 0 auto;

    color: #718078;

    font-size: 13px;

    line-height: 1.8;
}


/* =====================================================
   MAIN GRID
===================================================== */

.sg-checkout-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        360px;

    gap: 25px;

    align-items: start;
}


/* =====================================================
   LEFT BOX
===================================================== */

.sg-checkout-left {
    width: 100%;
}


/* =====================================================
   CHECKOUT BOX
===================================================== */

.sg-checkout-box {
    width: 100%;

    margin-bottom: 20px;

    padding: 27px;

    background: #ffffff;

    border: 1px solid #e3ebe4;

    border-radius: 17px;

    box-shadow:
        0 8px 28px rgba(35, 76, 43, .055);
}


/* =====================================================
   BOX HEADING
===================================================== */

.sg-checkout-box-head {
    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 22px;

    padding-bottom: 18px;

    border-bottom: 1px solid #edf2ed;
}

.sg-checkout-icon {
    width: 43px;
    height: 43px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: #edf8ef;

    color: #34964c;

    font-size: 16px;
}

.sg-checkout-box-head h2 {
    margin: 0 0 3px;

    color: #274330;

    font-size: 16px;

    font-weight: 750;
}

.sg-checkout-box-head p {
    margin: 0;

    color: #89938c;

    font-size: 10px;
}


/* =====================================================
   FORM
===================================================== */

.sg-checkout-form {
    width: 100%;
}

.sg-checkout-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 15px;
}

.sg-checkout-field {
    width: 100%;

    margin-bottom: 16px;
}

.sg-checkout-field label {
    display: block;

    margin-bottom: 7px;

    color: #46534a;

    font-size: 11px;

    font-weight: 700;
}

.sg-checkout-field input,
.sg-checkout-field textarea,
.sg-checkout-field select {
    display: block;

    width: 100%;

    margin: 0;

    padding: 12px 13px;

    border: 1px solid #dfe8e1;

    border-radius: 9px;

    outline: none;

    background: #fbfdfb;

    color: #344239;

    font-family: inherit;

    font-size: 12px;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.sg-checkout-field input,
.sg-checkout-field select {
    height: 44px;
}

.sg-checkout-field textarea {
    min-height: 95px;

    resize: vertical;
}

.sg-checkout-field input::placeholder,
.sg-checkout-field textarea::placeholder {
    color: #a4aca6;
}

.sg-checkout-field input:focus,
.sg-checkout-field textarea:focus,
.sg-checkout-field select:focus {
    border-color: #64ad72;

    background: #ffffff;

    box-shadow:
        0 0 0 3px rgba(66, 166, 87, .08);
}


/* =====================================================
   PAYMENT
===================================================== */

.sg-payment-list {
    display: grid;

    gap: 11px;
}

.sg-payment-item {
    display: block;

    width: 100%;

    cursor: pointer;
}

.sg-payment-item > input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}

.sg-payment-content {
    display: flex;

    align-items: center;

    gap: 12px;

    width: 100%;

    padding: 14px;

    border: 1px solid #e1e9e2;

    border-radius: 11px;

    background: #ffffff;

    transition:
        border-color .25s ease,
        background .25s ease;
}

.sg-payment-item > input:checked
+ .sg-payment-content {
    border-color: #61ad70;

    background: #f1faf3;
}


/* RADIO */

.sg-payment-radio {
    width: 17px;
    height: 17px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid #b9c9bc;

    border-radius: 50%;
}

.sg-payment-radio span {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: transparent;
}

.sg-payment-item > input:checked
+ .sg-payment-content
.sg-payment-radio {
    border-color: #42a456;
}

.sg-payment-item > input:checked
+ .sg-payment-content
.sg-payment-radio span {
    background: #42a456;
}


/* PAYMENT ICON */

.sg-payment-icon {
    width: 37px;
    height: 37px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 9px;

    color: #3d9852;

    background: #edf8ef;
}

.sg-payment-content strong {
    display: block;

    margin-bottom: 3px;

    color: #37483c;

    font-size: 12px;
}

.sg-payment-content small {
    display: block;

    color: #8c958e;

    font-size: 9px;
}


/* =====================================================
   ORDER SUMMARY
===================================================== */

.sg-order-box {
    position: sticky;

    top: 25px;

    width: 100%;

    padding: 24px;

    background: #ffffff;

    border: 1px solid #dfe9e0;

    border-radius: 17px;

    box-shadow:
        0 12px 35px rgba(30, 72, 38, .075);
}


/* ORDER HEADING */

.sg-order-heading {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    padding-bottom: 17px;

    border-bottom: 1px solid #edf1ed;
}

.sg-order-heading span {
    display: block;

    margin-bottom: 3px;

    color: #4a9b5a;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.2px;
}

.sg-order-heading h2 {
    margin: 0;

    color: #203e29;

    font-size: 19px;
}

.sg-item-count {
    padding: 5px 9px;

    border-radius: 20px;

    color: #488154;

    background: #edf8ef;

    font-size: 9px;

    font-weight: 700;
}


/* =====================================================
   PRODUCTS
===================================================== */

.sg-order-product {
    display: flex;

    align-items: center;

    gap: 12px;

    padding: 16px 0;

    border-bottom: 1px solid #edf1ed;
}

.sg-product-img {
    width: 57px;
    height: 57px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #f0f8ef;

    color: #4a9c5b;

    font-size: 20px;
}

.sg-product-details {
    min-width: 0;

    flex: 1;
}

.sg-product-details h3 {
    margin: 0 0 4px;

    color: #34443a;

    font-size: 11px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}

.sg-product-details p {
    margin: 0 0 5px;

    color: #909991;

    font-size: 9px;
}

.sg-product-details strong {
    color: #2f863f;

    font-size: 12px;
}


/* =====================================================
   COUPON
===================================================== */

.sg-coupon {
    display: flex;

    gap: 7px;

    margin: 18px 0;
}

.sg-coupon input {
    width: 100%;

    min-width: 0;

    height: 40px;

    padding: 0 11px;

    border: 1px solid #dfe8e0;

    border-radius: 8px;

    outline: none;

    color: #344239;

    font-family: inherit;

    font-size: 11px;
}

.sg-coupon input:focus {
    border-color: #66ad72;
}

.sg-coupon button {
    flex-shrink: 0;

    height: 40px;

    padding: 0 13px;

    border: 0;

    border-radius: 8px;

    background: #edf8ef;

    color: #378249;

    font-family: inherit;

    font-size: 10px;

    font-weight: 700;

    cursor: pointer;
}


/* =====================================================
   TOTAL
===================================================== */

.sg-total {
    padding-top: 3px;

    border-top: 1px solid #edf1ed;
}

.sg-total > div {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding: 8px 0;

    color: #78827b;

    font-size: 11px;
}

.sg-total > div strong {
    color: #4a554d;

    font-size: 11px;
}

.sg-total .sg-discount {
    color: #3e9b50;
}


/* GRAND TOTAL */

.sg-grand-total {
    margin-top: 5px;

    padding-top: 14px !important;

    border-top: 1px solid #e5ece6;

    color: #24442c !important;

    font-size: 14px !important;
}

.sg-grand-total strong {
    color: #27823c !important;

    font-size: 19px !important;
}


/* =====================================================
   PLACE ORDER
===================================================== */

.sg-place-order {
    width: 100%;

    height: 46px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-top: 17px;

    border: 0;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #329448,
            #58b765
        );

    color: #ffffff;

    font-family: inherit;

    font-size: 12px;

    font-weight: 750;

    cursor: pointer;

    box-shadow:
        0 9px 22px rgba(52, 148, 72, .18);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.sg-place-order:hover {
    transform: translateY(-2px);

    box-shadow:
        0 13px 28px rgba(52, 148, 72, .25);
}

.sg-place-order i {
    transition: transform .25s ease;
}

.sg-place-order:hover i {
    transform: translateX(4px);
}


/* =====================================================
   SECURITY
===================================================== */

.sg-secure-note {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 6px;

    margin-top: 12px;

    color: #8b948e;

    font-size: 9px;
}

.sg-secure-note i {
    color: #4da35c;
}


/* =====================================================
   SUCCESS MESSAGE
===================================================== */

.sg-order-message {
    display: none;

    margin-top: 12px;

    padding: 10px;

    border-radius: 8px;

    text-align: center;

    background: #eef9f0;

    border: 1px solid #d6edd9;

    color: #398048;

    font-size: 10px;
}


/* =====================================================
   SCROLL REVEAL
===================================================== */

.sg-reveal {
    opacity: 0;

    transform: translateY(35px);

    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2, .7, .2, 1);
}

.sg-reveal.sg-show {
    opacity: 1;

    transform: translateY(0);
}


/* STAGGER */

.sg-checkout-box:nth-child(1) {
    transition-delay: .05s;
}

.sg-checkout-box:nth-child(2) {
    transition-delay: .12s;
}

.sg-checkout-box:nth-child(3) {
    transition-delay: .19s;
}

.sg-order-box {
    transition-delay: .12s;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 900px) {

    .sg-checkout {
        padding: 65px 18px;
    }

    .sg-checkout-grid {
        grid-template-columns: 1fr;
    }

    .sg-order-box {
        position: relative;

        top: auto;

        max-width: 600px;

        margin: 0 auto;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 550px) {

    .sg-checkout {
        padding: 50px 14px;
    }

    .sg-checkout-heading {
        margin-bottom: 32px;
    }

    .sg-checkout-heading h1 {
        font-size: 34px;
    }

    .sg-checkout-heading p {
        font-size: 12px;
    }

    .sg-checkout-box {
        padding: 20px 17px;

        border-radius: 14px;
    }

    .sg-checkout-row {
        grid-template-columns: 1fr;

        gap: 0;
    }

    .sg-checkout-box-head {
        margin-bottom: 18px;
    }

    .sg-order-box {
        padding: 19px;

        border-radius: 14px;
    }

}

/* img logo */
/* ==============================
   GUNGUN LOGO RESPONSIVE
================================ */

img[src="./images/gungun.png"] {
    display: block;
    width: 100%;
    max-width: 320px;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
}

/* ==============================
   DESKTOP
================================ */

@media (min-width: 992px) {
    img[src="./images/gungun.png"] {
        max-width: 148px;
    }
}

/* ==============================
   TABLET
================================ */

@media (max-width: 991px) {
    img[src="./images/gungun.png"] {
        max-width: 260px;
    }
}

/* ==============================
   MOBILE
================================ */

@media (max-width: 767px) {
    img[src="./images/gungun.png"] {
        width: 75%;
        max-width: 230px;
        height: auto;
        margin: 0 auto;
    }
}

/* ==============================
   SMALL MOBILE
================================ */

@media (max-width: 480px) {
    img[src="./images/gungun.png"] {
        width: 70%;
        max-width: 190px;
    }
}

/* ==============================
   VERY SMALL SCREEN
================================ */

@media (max-width: 360px) {
    img[src="./images/gungun.png"] {
        width: 65%;
        max-width: 165px;
    }
}
* {
    box-sizing: border-box;
}

.math-book-product {
    width: 100%;
    padding: 50px 20px;
    background: #fff;
    font-family: Arial, sans-serif;
}

.math-product-container {
    max-width: 1250px;
    margin: auto;
    display: grid;
    grid-template-columns: 48% 52%;
    gap: 55px;
    align-items: start;
}


/* =====================
   LEFT IMAGE SECTION
===================== */

.math-product-gallery {
    width: 100%;
}

.math-main-image {
    width: 100%;
    height: 500px;
    background: #f8f8f8;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 20px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.math-main-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: 0.3s ease;
}


/* THUMBNAILS */

.math-thumbnails {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 15px;
}

.math-thumb {
    width: 100%;
    height: 125px;
    object-fit: contain;
    background: #fafafa;

    border: 2px solid #eee;
    border-radius: 8px;
    padding: 8px;

    cursor: pointer;
    transition: 0.25s ease;
}

.math-thumb:hover {
    border-color: #ff9f00;
}

.math-thumb.active {
    border-color: #ff9f00;
}


/* =====================
   RIGHT CONTENT
===================== */

.math-product-info {
    padding-top: 5px;
}

.math-category {
    color: #777;
    font-size: 14px;
    margin-bottom: 10px;
}

.math-product-info h1 {
    font-size: 28px;
    line-height: 1.35;
    color: #212121;
    margin: 0 0 15px;
}


/* RATING */

.math-rating-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.math-rating {
    background: #388e3c;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 10px;
    border-radius: 5px;
}

.math-reviews {
    color: #777;
    font-size: 14px;
}


/* PRICE */

.special-price {
    color: #388e3c;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 7px;
}

.math-price {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;
}

.current-price {
    font-size: 32px;
    font-weight: 700;
    color: #212121;
}

.old-price {
    color: #888;
    font-size: 17px;
    text-decoration: line-through;
}

.discount {
    color: #388e3c;
    font-weight: 600;
    font-size: 16px;
}


/* OFFERS */

.math-offers {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 20px 0;
}

.math-offers h3,
.math-description h3 {
    font-size: 18px;
    margin: 0 0 15px;
    color: #222;
}

.math-offers p {
    margin: 11px 0;
    font-size: 14px;
    color: #444;
    line-height: 1.5;
}

.math-offers p span {
    margin-right: 6px;
}

.math-offers strong {
    color: #222;
    margin-right: 5px;
}


/* DESCRIPTION */

.math-description {
    padding: 22px 0;
}

.math-description p {
    font-size: 15px;
    color: #555;
    line-height: 1.7;
    margin-bottom: 15px;
}

.math-description ul {
    padding-left: 20px;
    margin: 0;
}

.math-description li {
    font-size: 14px;
    color: #555;
    margin-bottom: 9px;
    line-height: 1.5;
}


/* =====================
   BUTTONS
===================== */

.math-action-buttons {
    display: flex;
    gap: 15px;
    margin-top: 5px;
}

.math-action-buttons button {
    flex: 1;
    height: 58px;

    border: none;
    border-radius: 5px;

    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;

    cursor: pointer;
    transition: 0.25s;
}

.math-add-cart {
    background: #ff9f00;
}

.math-add-cart:hover {
    background: #e99000;
}

.math-buy-now {
    background: #fb641b;
}

.math-buy-now:hover {
    background: #e95612;
}


/* =====================
   RESPONSIVE
===================== */

@media (max-width: 850px) {

    .math-product-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .math-main-image {
        height: 430px;
    }

}


@media (max-width: 500px) {

    .math-book-product {
        padding: 25px 15px;
    }

    .math-main-image {
        height: 350px;
    }

    .math-thumb {
        height: 90px;
    }

    .math-product-info h1 {
        font-size: 22px;
    }

    .current-price {
        font-size: 27px;
    }

    .math-action-buttons {
        flex-direction: column;
    }

    .math-action-buttons button {
        flex: none;
        width: 100%;
    }
}


/* =====================================================
   PREMIUM LITTLE BOOKS
   Prefix: plb-
   Unique classes to avoid CSS conflicts
===================================================== */

.plb-books-section{
    width: 100%;
    padding: 75px 20px;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fffdf9 100%
        );
}

.plb-books-section *,
.plb-books-section *::before,
.plb-books-section *::after{
    box-sizing: border-box;
}


/* CONTAINER */

.plb-books-container{
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}


/* =========================================
   HEADING
========================================= */

.plb-main-heading{
    max-width: 700px;
    margin: 0 auto 42px;
    text-align: center;
}

.plb-main-heading > span{
    display: inline-block;
    margin-bottom: 10px;

    color: #f08a3c;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.plb-main-heading h2{
    margin: 0;

    color: #20242c;

    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    line-height: 1.15;
}

.plb-main-heading p{
    max-width: 620px;

    margin: 15px auto 0;

    color: #72757d;

    font-size: 15px;
    line-height: 1.8;
}


/* =========================================
   GRID
========================================= */

.plb-books-grid{
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 28px;
}


/* =========================================
   CARD
========================================= */

.plb-card{
    position: relative;

    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid #eee9e3;

    border-radius: 20px;

    overflow: hidden;

    box-shadow:
        0 8px 30px rgba(34, 29, 25, 0.06);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.plb-card:hover{
    transform: translateY(-8px);

    border-color: #ead9ca;

    box-shadow:
        0 18px 45px rgba(34, 29, 25, 0.12);
}


/* =========================================
   IMAGE
========================================= */

.plb-card-image{
    position: relative;

    width: 100%;
    height: 285px;

    padding: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            #fff9f2,
            #f9f7f4
        );

    overflow: hidden;
}

.plb-card-image::after{
    content: "";

    position: absolute;
    width: 150px;
    height: 150px;

    right: -55px;
    bottom: -65px;

    background: rgba(240, 138, 60, .08);

    border-radius: 50%;
}

.plb-card-image img{
    position: relative;
    z-index: 2;

    width: 100%;
    height: 100%;

    object-fit: contain;

    transition: transform .45s ease;
}

.plb-card:hover .plb-card-image img{
    transform: scale(1.055);
}


/* BADGE */

.plb-badge{
    position: absolute;

    top: 16px;
    left: 16px;

    z-index: 5;

    padding: 7px 11px;

    background: #ff8057;

    color: #ffffff;

    border-radius: 50px;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: .6px;

    box-shadow:
        0 4px 12px rgba(255,128,87,.22);
}

.plb-blue{
    background: #587cf5;
}

.plb-green{
    background: #41a875;
}


/* =========================================
   CONTENT
========================================= */

.plb-card-content{
    flex: 1;

    display: flex;
    flex-direction: column;

    padding: 24px;
}


/* CATEGORY */

.plb-category{
    margin-bottom: 9px;

    color: #f08a3c;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;

    text-transform: uppercase;
}


/* TITLE */

.plb-card-content h3{
    margin: 0 0 10px;

    color: #23262d;

    font-size: 20px;
    font-weight: 750;
    line-height: 1.35;
}


/* DESCRIPTION */

.plb-description{
    margin: 0;

    color: #71747b;

    font-size: 13px;
    line-height: 1.75;
}


/* =========================================
   FEATURE CHIPS
========================================= */

.plb-features{
    display: flex;
    flex-wrap: wrap;

    gap: 7px;

    margin-top: 17px;
}

.plb-features span{
    padding: 7px 10px;

    background: #f8f7f5;

    border: 1px solid #efebe6;

    border-radius: 50px;

    color: #575a62;

    font-size: 10px;
    font-weight: 600;
}


/* =========================================
   META
========================================= */

.plb-meta{
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-top: 18px;
    padding: 13px 0;

    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
}

.plb-meta span{
    color: #686b72;

    font-size: 11px;
    font-weight: 600;
}


/* =========================================
   PRICE
========================================= */

.plb-price-row{
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 18px;
}

.plb-price-row > div{
    display: flex;
    align-items: center;
    gap: 8px;
}

.plb-price-row strong{
    color: #20242b;

    font-size: 23px;
    font-weight: 800;
}

.plb-price-row del{
    color: #9b9da2;

    font-size: 12px;
}

.plb-rating{
    padding: 6px 10px;

    background: #eef9f2;

    color: #258a51;

    border-radius: 7px;

    font-size: 11px;
    font-weight: 800;
}


/* =========================================
   BUTTON
========================================= */

.plb-button{
    width: 100%;

    margin-top: 18px;
    padding: 13px 16px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: #25282e;

    color: #ffffff;

    border-radius: 10px;

    text-decoration: none;

    font-size: 13px;
    font-weight: 700;

    transition:
        background .3s ease,
        transform .3s ease;
}

.plb-button span{
    font-size: 18px;

    transition: transform .3s ease;
}

.plb-button:hover{
    background: #f08a3c;
}

.plb-button:hover span{
    transform: translateX(5px);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px){

    .plb-books-grid{
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 650px){

    .plb-books-section{
        padding: 50px 14px;
    }

    .plb-main-heading{
        margin-bottom: 30px;
    }

    .plb-main-heading h2{
        font-size: 28px;
    }

    .plb-main-heading p{
        font-size: 13px;
    }

    .plb-books-grid{
        grid-template-columns: 1fr;

        gap: 22px;
    }

    .plb-card{
        border-radius: 16px;
    }

    .plb-card-image{
        height: 270px;

        padding: 20px;
    }

    .plb-card-content{
        padding: 20px;
    }

    .plb-card-content h3{
        font-size: 19px;
    }

    .plb-description{
        font-size: 12.5px;
    }

}


/* VERY SMALL MOBILE */

@media (max-width: 390px){

    .plb-card-image{
        height: 235px;
    }

    .plb-meta{
        align-items: flex-start;
        flex-direction: column;

        gap: 6px;
    }

}

/* contact */
/* =========================================
   GUNGUN FOOTER
========================================= */

.gpub-footer-section {
    position: relative;
    width: 100%;
    padding: 75px 20px 65px;
    overflow: hidden;

    background:
        linear-gradient(
            110deg,
            #fffdf7 0%,
            #f7fcff 48%,
            #f2fffb 100%
        );
}

.gpub-footer-container {
    position: relative;
    z-index: 5;

    width: 100%;
    max-width: 1400px;
    margin: auto;

    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 75px;
    align-items: start;
}


/* ================= LEFT BRAND ================= */

.gpub-footer-brand {
    max-width: 390px;
}

.gpub-footer-logo {
    display: inline-flex;
    margin-bottom: 35px;
}

.gpub-footer-logo img {
    width: 157px;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}


.gpub-footer-description {
    margin: -40px 0 28px;

    color: #657585;
    font-size: 14px;
    line-height: 1.8;
    font-weight: 400;
}


/* ================= LOVED ================= */

.gpub-footer-loved {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 26px;
}

.gpub-footer-heart {
    width: 46px;
    height: 46px;
    min-width: 46px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffe0e8;
    color: #ed7894;

    font-size: 16px;
}

.gpub-footer-loved h4 {
    margin: 0 0 5px;

    color: #17233b;
    font-size: 14px;
    font-weight: 700;
}

.gpub-footer-loved p {
    margin: 0;

    color: #87929e;
    font-size: 11px;
}


/* ================= SOCIAL ================= */

.gpub-footer-socials {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gpub-footer-socials a {
    width: 43px;
    height: 43px;

    border: 1px solid #dae5e9;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,0.8);
    color: #219bbc;

    text-decoration: none;
    font-size: 16px;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        color 0.3s ease,
        box-shadow 0.3s ease;
}

.gpub-footer-socials a:hover {
    transform: translateY(-4px);
    background: #21a8c9;
    color: #ffffff;

    box-shadow: 0 8px 18px rgba(33,168,201,0.2);
}


/* ================= COLUMNS ================= */

.gpub-footer-column h3 {
    margin: 0 0 27px;

    color: #132038;
    font-size: 17px;
    font-weight: 800;
}

.gpub-footer-column ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gpub-footer-column li {
    margin-bottom: 19px;
}

.gpub-footer-column a {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: #647482;
    text-decoration: none;

    font-size: 15px;
    font-weight: 500;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}

.gpub-footer-column a span {
    color: #20a5cb;
    font-size: 20px;
    line-height: 1;
}

.gpub-footer-column a:hover {
    color: #20a5cb;
    transform: translateX(5px);
}


/* ================= DECORATIONS ================= */

.gpub-footer-star {
    position: absolute;
    z-index: 1;

    font-size: 31px;
}

.gpub-footer-star-one {
    top: 170px;
    left: 15%;
    color: #ffc23c;
}

.gpub-footer-star-two {
    top: 250px;
    right: 12%;
    color: #ffc13a;
}

.gpub-footer-star-three {
    bottom: 15px;
    right: 3%;
    color: #62bdd1;
}


.gpub-footer-cloud {
    position: absolute;
    z-index: 1;

    width: 80px;
    height: 35px;

    background: linear-gradient(
        180deg,
        #ffffff,
        #eae9f5
    );

    border-radius: 40px;
    opacity: 0.85;
}

.gpub-footer-cloud::before,
.gpub-footer-cloud::after {
    content: "";
    position: absolute;

    background: inherit;
    border-radius: 50%;
}

.gpub-footer-cloud::before {
    width: 45px;
    height: 45px;

    left: 14px;
    top: -20px;
}

.gpub-footer-cloud::after {
    width: 48px;
    height: 48px;

    right: 3px;
    top: -26px;
}

.gpub-footer-cloud-one {
    top: 70px;
    left: 2%;
}

.gpub-footer-cloud-two {
    top: 110px;
    right: 2%;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .gpub-footer-container {
        grid-template-columns: 1.4fr 1fr 1fr;
        gap: 50px;
    }

    .gpub-footer-brand {
        grid-column: span 3;
        max-width: 550px;
    }

    .gpub-footer-logo img {
        width: 190px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .gpub-footer-section {
        padding: 55px 22px 45px;
    }

    .gpub-footer-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 45px 25px;
    }

    .gpub-footer-brand {
        grid-column: 1 / -1;
        max-width: 100%;
        text-align: center;
    }

    .gpub-footer-logo {
        width: 100%;
        justify-content: center;
        margin-bottom: 25px;
    }

    .gpub-footer-logo img {
        width: 175px;
    }

    .gpub-footer-description {
        max-width: 430px;
        margin: 0 auto 25px;

        font-size: 13px;
        line-height: 1.7;
    }

    .gpub-footer-loved {
        justify-content: center;
    }

    .gpub-footer-socials {
        justify-content: center;
    }

    .gpub-footer-column h3 {
        font-size: 15px;
        margin-bottom: 21px;
    }

    .gpub-footer-column li {
        margin-bottom: 15px;
    }

    .gpub-footer-column a {
        font-size: 11px;
    }

    .gpub-footer-cloud {
        transform: scale(0.7);
    }

    .gpub-footer-star {
        font-size: 22px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .gpub-footer-section {
        padding: 45px 18px 35px;
    }

    .gpub-footer-container {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .gpub-footer-brand {
        grid-column: auto;
    }

    .gpub-footer-column {
        text-align: center;
    }

    .gpub-footer-column ul {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .gpub-footer-column h3 {
        font-size: 17px;
    }

    .gpub-footer-column a {
        font-size: 13px;
    }

    .gpub-footer-logo img {
        width: 165px;
    }

    .gpub-footer-socials a {
        width: 40px;
        height: 40px;
    }

    .gpub-footer-cloud-one {
        left: -20px;
    }

    .gpub-footer-cloud-two {
        right: -20px;
    }
}



.gg-container {
    width: min(1180px, 92%);
    margin: auto;
}



/* =========================
   HERO
========================= */

.gg-contact-hero {
    min-height: 318px;

    display: flex;
    align-items: center;

    text-align: center;

    position: relative;
    overflow: hidden;

   

    background:
        linear-gradient(
            135deg,
            #f5f1ff,
            #fff7e5,
            #eefaff
        );
}


.gg-hero-content {
    max-width: 780px;
    margin: auto;
    position: relative;
    z-index: 2;
}


.gg-small-title {
    display: inline-block;

    color: var(--purple);

    background: #fff;

    padding: 10px 20px;

    border-radius: 50px;

    font-weight: 800;

    margin-bottom: 20px;

    box-shadow:
        0 8px 30px rgba(60, 40, 130, 0.08);
}


.gg-hero-content h1 {
  

    font-size: clamp(38px, 6vw, 66px);

    line-height: 1.08;

    margin-bottom: 20px;

    font-weight: 700;
}


.gg-hero-content h1 span {
    display: block;
    color: var(--purple);
}


.gg-hero-content p {
    font-size: 18px;

    line-height: 1.8;

    color: var(--text);

    max-width: 650px;

    margin: auto;
}



.gg-shape {
    position: absolute;

    border-radius: 50%;

    opacity: 0.7;
}


.shape-one {
    width: 140px;
    height: 140px;

    background: #ffe385;

    left: -30px;
    top: 60px;
}


.shape-two {
    width: 180px;
    height: 180px;

    background: #e0d9ff;

    right: -40px;
    bottom: -20px;
}


.shape-three {
    width: 70px;
    height: 70px;

    background: #b9edff;

    right: 15%;
    top: 35px;
}



/* =========================
   CONTACT SECTION
========================= */

.gg-contact-section {
    padding: 90px 0;
    background: white;
}



.gg-contact-cards {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 24px;

    margin-bottom: 50px;
}



.gg-info-card {
    display: flex;

    gap: 18px;

    align-items: center;

    padding: 25px;

    background: white;

    border: 1px solid #eceaf7;

    border-radius: 20px;

    transition: 0.3s;

    box-shadow:
        0 12px 35px rgba(40, 35, 80, 0.06);
}


.gg-info-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(40, 35, 80, 0.12);
}


.gg-info-card .gg-icon {
    width: 62px;
    height: 62px;

    border-radius: 18px;

    display: grid;
    place-items: center;

    font-size: 23px;

    flex-shrink: 0;
}


.address-icon {
    background: #fff0db;
    color: #e5901b;
}


.phone-icon {
    background: #e8f8ef;
    color: #2baa65;
}


.mail-icon {
    background: #eeeaff;
    color: var(--purple);
}


.gg-info-card span {
    font-size: 13px;

    color: var(--text);

    text-transform: uppercase;

    font-weight: 800;
}


.gg-info-card h3 {
    font-family: "Fredoka", sans-serif;

    margin: 3px 0 5px;

    font-size: 20px;
}


.gg-info-card p,
.gg-info-card a {
    font-size: 14px;

    line-height: 1.6;

    color: var(--text);

    text-decoration: none;
}



/* =========================
   FORM WRAPPER
========================= */

.gg-contact-wrapper {
    display: grid;

    grid-template-columns:
        1.1fr 0.9fr;

    border-radius: 28px;

    overflow: hidden;

    box-shadow:
        0 20px 60px rgba(43, 35, 90, 0.12);

    background: white;
}



/* FORM */

.gg-form-area {
    padding: 55px;
}


.gg-heading span {
    color: var(--purple);

    font-weight: 800;

    text-transform: uppercase;

    font-size: 13px;

    letter-spacing: 1px;
}


.gg-heading h2 {
   

    font-size: 38px;

    margin: 7px 0 10px;
}


.gg-heading p {
    color: var(--text);

    line-height: 1.7;

    margin-bottom: 35px;
}



.gg-form-row {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 18px;
}


.gg-form-group {
    margin-bottom: 20px;
}


.gg-form-group label {
    display: block;

    font-weight: 700;

    font-size: 14px;

    margin-bottom: 8px;
}



.gg-input-box {
    position: relative;
}


.gg-input-box i {
    position: absolute;

    left: 17px;
    top: 50%;

    transform: translateY(-50%);

    color: #9992c0;
}


.gg-input-box input,
.gg-input-box select,
.gg-input-box textarea {
    width: 100%;

    border: 1.5px solid #e6e3f2;

    outline: none;

    background: #fbfaff;

    border-radius: 13px;

    padding: 15px 15px 15px 47px;

    font-family: inherit;

    font-size: 14px;

    transition: 0.3s;
}


.gg-input-box textarea {
    resize: none;
}


.gg-message-box i {
    top: 19px;

    transform: none;
}


.gg-input-box input:focus,
.gg-input-box select:focus,
.gg-input-box textarea:focus {
    border-color: var(--purple);

    background: white;

    box-shadow:
        0 0 0 4px rgba(108, 76, 255, 0.07);
}



.gg-submit-btn {
    border: 0;

    background:
        linear-gradient(
            135deg,
            var(--purple),
            var(--dark-purple)
        );

    color: white;

    padding: 16px 30px;

    border-radius: 50px;

    font-family: inherit;

    font-size: 15px;

    font-weight: 800;

    cursor: pointer;

    display: inline-flex;

    align-items: center;

    gap: 10px;

    box-shadow:
        0 10px 25px rgba(108, 76, 255, 0.28);

    transition: 0.3s;
}


.gg-submit-btn:hover {
    transform: translateY(-3px);

    box-shadow:
        0 15px 30px rgba(108, 76, 255, 0.35);
}



.gg-success-message {
    display: none;

    margin-top: 18px;

    padding: 14px 17px;

    border-radius: 10px;

    background: #eafaf1;

    color: #198754;

    font-weight: 700;

    font-size: 14px;
}



/* =========================
   RIGHT CONTENT
========================= */

.gg-contact-right {
    background:
        linear-gradient(
            145deg,
            #6c4cff,
            #4e32ce
        );

    color: white;

    padding: 60px 50px;

    position: relative;

    overflow: hidden;

    display: flex;
    align-items: center;
}


.gg-right-content {
    position: relative;
    z-index: 2;
}


.gg-mini-text {
    display: inline-block;

    background: rgba(255,255,255,0.13);

    padding: 9px 15px;

    border-radius: 50px;

    font-size: 13px;

    margin-bottom: 18px;
}


.gg-right-content h2 {
   

    font-size: 42px;

    line-height: 1.1;

    margin-bottom: 18px;
}


.gg-right-content h2 span {
    color: #ffd75e;
}


.gg-right-content > p {
    color: rgba(255,255,255,0.8);

    line-height: 1.8;

    margin-bottom: 35px;
}



.gg-feature {
    display: flex;

    gap: 14px;

    align-items: center;

    margin-bottom: 22px;
}


.gg-feature > div {
    width: 50px;
    height: 50px;

    background: rgba(255,255,255,0.14);

    border-radius: 15px;

    display: grid;

    place-items: center;

    font-size: 24px;
}


.gg-feature strong,
.gg-feature small {
    display: block;
}


.gg-feature strong {
    font-size: 16px;
}


.gg-feature small {
    margin-top: 3px;

    color: rgba(255,255,255,0.72);
}



.gg-book-decoration {
    position: absolute;

    font-size: 100px;

    right: -20px;

    bottom: -30px;

    transform: rotate(-20deg);

    opacity: 0.12;
}


.gg-star-decoration {
    position: absolute;

    font-size: 55px;

    right: 20px;

    top: 15px;

    opacity: 0.2;
}



/* =========================
   MAP
========================= */

.gg-map-section {
    padding: 10px 0 100px;

    background: #f8f7ff;
}


.gg-map-heading {
    text-align: center;

    max-width: 650px;

    margin: 0 auto 35px;
}


.gg-map-heading span {
    color: var(--purple);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 1px;
}


.gg-map-heading h2 {
    

    font-size: 38px;

    margin: 8px 0 10px;
}


.gg-map-heading p {
    color: var(--text);

    line-height: 1.7;
}


.gg-map {
    border-radius: 25px;

    padding: 8px;

    background: white;

    box-shadow:
        0 15px 45px rgba(50, 40, 100, 0.1);

    overflow: hidden;
}


.gg-map iframe {
    display: block;

    border: 0;

    width: 100%;

    height: 430px;

    border-radius: 20px;
}



/* =========================
   RESPONSIVE
========================= */

@media(max-width: 950px) {

    .gg-contact-cards {
        grid-template-columns: 1fr;
    }


    .gg-contact-wrapper {
        grid-template-columns: 1fr;
    }


    .gg-contact-right {
        min-height: 500px;
    }

}



@media(max-width: 650px) {

    .gg-contact-hero {
        min-height: auto;

        padding: 70px 0;
    }


    .gg-hero-content h1 {
        font-size: 40px;
    }


    .gg-hero-content p {
        font-size: 15px;
    }


    .gg-contact-section {
        padding: 55px 0;
    }


    .gg-info-card {
        padding: 20px;
    }


    .gg-form-area {
        padding: 30px 20px;
    }


    .gg-heading h2 {
        font-size: 31px;
    }


    .gg-form-row {
        grid-template-columns: 1fr;

        gap: 0;
    }


    .gg-contact-right {
        min-height: auto;

        padding: 45px 25px;
    }


    .gg-right-content h2 {
        font-size: 34px;
    }


    .gg-map-section {
        padding: 60px 0 70px;
    }


    .gg-map-heading h2 {
        font-size: 31px;
    }


    .gg-map iframe {
        height: 330px;
    }


    .gg-submit-btn {
        width: 100%;

        justify-content: center;
    }

}