@font-face {
    font-family: 'RotondaC';
    font-weight: normal;
    font-style: normal;
    src: url(../fonts/ROTONDAC_REGULAR.otf) format("opentype");
}

@font-face {
    font-family: 'RotondaC';
    font-weight: 700;
    font-style: normal;
    src: url(../fonts/ROTONDAC_BOLD.otf) format("opentype");
}

body {
    font-family: 'RotondaC';
    color: #000000;
    background: #eee;
}

h1 {
    font-family: 'RotondaC';
    font-weight: 700;
    font-size: 2rem;
    color: #025980;
}

h2 {
    font-family: 'RotondaC';
    font-weight: 700;
    font-size: 1.5rem;
    color: #025980;
}

strong {
    font-family: 'RotondaC';
    font-weight: 700;
}

a {
    font-family: 'RotondaC';
    color: #2080D8;
    text-decoration: none;
}

a:hover {
    --bs-link-color-rgb: none;
    color: #025980;
}

.aligncenter {
    width: 100% !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.aligncenter {
    display: flex !important;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.text-primary {
    color: #025980 !important;
}

.text-secondary {
    color: #fa0096 !important;
}

.bg-primary {
    background-color: rgba(2, 89, 128, 1) !important;
}

.bg-secondary {
    background-color: rgba(250, 0, 150, 1) !important;
}

.border-primary {
    border-color: #025980 !important;
}

.border-secondary {
    border-color: #fa0096 !important;
}

/* Sizes */
.fs-1 {
    font-size: 2rem !important;
}

.fs-2 {
    font-size: 1.75rem !important;
}

.fs-3 {
    font-size: 1.5rem !important;
}

.fs-4 {
    font-size: 1.35rem !important;
}

.fs-5 {
    font-size: 1.25rem !important;
}

.fs-6 {
    font-size: 1.25rem !important;
}

.fs-7 {
    font-size: .85rem !important;
}

/** 
 * BTN
 */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #3BB9C2;
    --bs-btn-border-color: #3BB9C2;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #212529;
    --bs-btn-focus-shadow-rgb: 240, 65, 55;

    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #3BB9C2;
    --bs-btn-active-border-color: #3BB9C2;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #3BB9C2;
    --bs-btn-disabled-border-color: #3BB9C2;

    padding: .375rem 1rem;
    border-radius: 25px;
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #FA0096;
    --bs-btn-border-color: #FA0096;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #212529;
    --bs-btn-focus-shadow-rgb: 240, 65, 55;

    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #FA0096;
    --bs-btn-active-border-color: #FA0096;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #FA0096;
    --bs-btn-disabled-border-color: #FA0096;

    padding: .375rem 1rem;
    border-radius: 25px;
    font-weight: bolder;
}


/* Navbar */
.navbar-toggler,
.navbar-toggler:hover,
.navbar-toggler:focus {
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.header-menu-wrap {
    /*overflow: hidden;*/
    position: relative;
}

#header-menu .menu-item {
    display: flex;
    justify-content: flex-start !important;
    font-size: 1rem;
    color: #212529;
}

@media (min-width: 992px) {
    #header-menu .menu-item {
        display: flex;
        justify-content: space-between !important;
    }
}

#header-menu .menu-item:before {
    font-weight: 300;
    font-size: 1.65rem;
    padding: 0.5rem 0;
}

#header-menu .nav-link {
    padding: 1rem 1rem 1rem .5rem;
}

#header-menu .nav-link:focus,
#header-menu .nav-link:hover {
    color: #212529;
}

#header-menu .nav-link.active,
#header-menu .show>.nav-link {
    color: #212529;
    text-decoration: underline;
}

.text-bg-primary {
    background-color: #3BB9C2 !important;
}

/**
 * Header
 */
/*.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    height: 100%;
    width: 100%;
}*/

.hero-bg:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(238, 238, 238, 0.6);
    z-index: 1;
}

.hero-bg-img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

#barbie-bg{
  position: relative;
  z-index: 0; /* creates base stacking context */
}

#barbie-bg .hero-bg{
  z-index: -1 !important;     /* push background behind all */
  pointer-events: none;        /* so it never blocks clicks */
}


/**
 * Slick slider
 */

/* Slick arrows [common]*/
.slick-arrow i {
    line-height: 1.5;
}

/* Slick dots [common]*/
.slick-dots {
    /*position: absolute;*/
    /*bottom: -25px;*/
    display: block !important;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:before {
    font-family: 'slick';
    font-size: 10px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    font-family: "Font Awesome 6 Pro";
    content: '\f111';
    font-weight: 400;
    text-align: center;
    opacity: 1;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 0.8;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}

.slick-dots li.slick-active button:before {
    color: #FA0096;
    font-size: 12px;
    font-weight: 700;
}



/**
 * Home page
 */

/* Home main on home page */
#home-main-carousel {
    height: 250px;
}

.home-main-slide {
    height: 250px;
}

@media (min-width: 992px) {
    #home-main-carousel {
        height: 550px;
    }

    .home-main-slide {
        height: 550px;
    }
}

/* Home main slider navigation */
#home-main-nav-controls {}

#home-main-prev,
#home-main-next {
    /*display: block !important;*/
    display: inline-block !important;
    padding: 6px 8px 4px 8px !important;
    position: absolute;
    bottom: calc(250px / 2 - 70px / 2);
}

@media (min-width: 992px) {

    #home-main-prev,
    #home-main-next {
        bottom: calc(550px / 2 - 70px / 2);
    }
}

#home-main-prev {
    left: 0;
}

#home-main-next {
    right: 0;
}


/* Home inner on home page */
#home-inner-carousel {
    height: 450px;
}

.home-inner-slide {
    height: 450px;
}

@media (min-width: 992px) {
    #home-inner-carousel {
        height: 550px;
    }

    .home-inner-slide {
        height: 550px;
    }
}

/* Home inner slider navigation */
#home-inner-nav-controls {}

#home-inner-prev,
#home-inner-next {
    /*display: block !important;*/
    color: #fff;
    display: inline-block !important;
    padding: 0 !important;
    position: absolute;
    bottom: calc(450px / 2 - 72px / 2);
    background-color: transparent !important;
}

@media (min-width: 992px) {

    #home-inner-prev,
    #home-inner-next {
        color: #3C3C3C;
        bottom: calc(550px / 2 - 72px / 2);
    }
}

#home-inner-prev {
    left: 0;
}

#home-inner-next {
    right: 0;
}

@media (min-width: 992px) {

    #home-inner-prev {
        left: -20px;
    }

    #home-inner-next {
        right: -20px;
    }
}


/* ===================== DOLLS SEARCH (combobox) ===================== */

/* Safety: dropdown can be clipped by background wrappers on this page */
body.archive.category-dolls #barbie-bg{
  overflow: visible !important;
}

/* Wrapper */
.dolls-search{
  width: 100%;
  max-width: 920px;
  margin: 0 auto 28px;
  position: relative;
  z-index: 50;
}

/* Input container like in макете */
.dolls-search__box{
  position: relative;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Search icon */
.dolls-search__icon{
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #E4007F;
  font-size: 18px;
  pointer-events: none;
}

/* Input */
.dolls-search__input{
  width: 100%;
  height: 54px;
  border: 0;
  outline: none;
  background: transparent;
  border-radius: 999px;
  padding: 0 56px 0 52px; /* left icon + right toggle */
  font-size: 16px;
  color: #1b1b1b;
}

/* Toggle */
.dolls-search__toggle{
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1b1b1b;
  cursor: pointer;
}

/* Rotate chevron when open */
.dolls-search__box.is-open .dolls-search__toggle i{
  transform: rotate(180deg);
  transition: transform .15s ease;
}

/* Dropdown: IMPORTANT — default hidden, open shows */
.dolls-search__dropdown{
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 12px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
  z-index: 9999;
  overflow: hidden;
}

.dolls-search__box.is-open .dolls-search__dropdown{
  display: block;
}

/* Scroll area */
.dolls-search__list{
  max-height: 360px;
  overflow-y: auto;
  padding: 12px;
}

/* Item rows (ONLY names) */
.dolls-search__item{
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 14px 14px;
  border-radius: 14px;
  cursor: pointer;
}

.dolls-search__item:hover{
  background: rgba(0,0,0,.04);
}

/* Reset row check icon (as in screenshot) */
.dolls-search__check{
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.06);
  color: #1b1b1b;
}

/* Name */
.dolls-search__name{
  font-size: 16px;
  line-height: 1.2;
  color: #1b1b1b;
}

/* Empty state */
.dolls-search__empty{
  padding: 14px;
  color: #999;
  font-size: 14px;
}

/* Hide filtered-out cards columns */
.dolls-grid .is-hidden{
  display: none !important;
}

/* Pick highlight (optional, nice UX) */
.doll-card--picked{
  outline: 3px solid rgba(0,0,0,.08);
  outline-offset: 6px;
  border-radius: 18px;
}


/* =========================================================
   DOLLS CARD — match Figma base (350x550) BUT expandable
   Stable version (no weird inventions):
   - Equal-height cards in a row (from >= 576px)
   - Social icons are in a row under Share
   - Details: NO height animation, just switch short/full text + clamp via class
   - Author: two chevrons (open/close) without any rotate animation
   ========================================================= */

/* Row: do NOT stretch columns, so only opened card grows */
.dolls-grid{ align-items: flex-start; }

/* Default: columns are normal blocks (mobile-safe) */
.dolls-grid > [class*="col-"]{ display:block; }

/* Equal-height cards per row (only from sm and up) */
@media (min-width:576px){
  /* Keep columns as blocks — prevents equal-height stretching */
  .dolls-grid > [class*="col-"]{
    display:block;
  }
}

/* Card */
.doll-card{
    width:100%;
    max-width:350px;
    height:650px;              /* FIX: hard height, like original */
    min-height:650px;          /* optional safety */
    overflow:hidden;           /* important */

    background:#FFFFFF;
    border-radius:15px;

    display:flex;
    flex-direction:column;

    box-shadow:0 10px 30px rgba(0,0,0,0.06);
    margin-left:auto;
    margin-right:auto;
}

/* Image wrapper */
.doll-card__image-wrapper{
    position:relative;
    padding-top:27px;
}

/* Square image area on all breakpoints */
.doll-card__image-box{
    position:relative;
    width:100%;
    max-width:275px;
    margin:0 auto;

    aspect-ratio:1 / 1;
    height:auto;

    background:#F5F5F8;
    overflow:hidden;
}

.doll-card__image{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    display:block !important;
}
.doll-card__image--placeholder{ position:absolute; inset:0; background:#F5F5F8; }

/* Gallery arrows */
.doll-card__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    border:none;
    background:transparent;
    padding:0;
    cursor:pointer;
    width:22px; height:22px;
    display:flex; align-items:center; justify-content:center;
    font-size:26px;
    line-height:1;
    color:#3C3C3C;
}
.doll-card__nav--prev{ left:12px; }
.doll-card__nav--next{ right:12px; }

/* Body */
.doll-card__body{
    width:100%;
    max-width:275px;
    margin:9px auto 0;

    display:flex;
    flex-direction:column;
    flex:1 1 auto;
}

/* Meta */
.doll-card__meta-grid{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}

.doll-card__author{
    font-family:'RotondaC';
    font-weight:400;
    font-size:14px;
    line-height:16px;
    color:#BCBCBC;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    min-width:0;
}

.doll-card__author-city,
.doll-card__author-name{
    color:#3BB9C2;
}

/* Author toggle circle */
.doll-card__author-toggle{
    width:20px; height:20px;
    border:none;
    background:#F5F5F8;
    border-radius:50%;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
}

/* IMPORTANT: prevent any "rotate" animations from external CSS */
.doll-card__author-toggle i{
    font-size:18px;
    line-height:1;
    transition:none !important;
    transform:none !important;
}

/* Two chevrons: show DOWN when closed, show UP when opened */
.doll-card__author-toggle--close{ display:none; }
.doll-card--author-open .doll-card__author-toggle--open{ display:none; }
.doll-card--author-open .doll-card__author-toggle--close{ display:inline-flex; }

/* Right column: Share on top, socials row under it */
.doll-card__meta-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:10px;
    flex-shrink:0;
    width:40px;
}

.doll-card__socials{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px;
    padding-top:2px;
    width:auto;
}

/* Social links */
.doll-card__action{
    border:none;
    padding:0;
    background:transparent;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}
.doll-card__action:hover{ opacity:.88; }

.doll-card__action--instagram i{ font-size:34px; color:#E1306C; }
.doll-card__action--facebook  i{ font-size:34px; color:#1877F2; }
.doll-card__action--youtube   i{ font-size:34px; color:#FF0000; }

/* Share button: exact markup <a class="btn card__share-btn"> */
.card__share-btn{
    width:38px;
    height:38px;
    border-radius:50%;
    background:#F5F5F8;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:none;
    text-decoration:none;
    color:#474647;
}
.card__share-btn::before{
    content:"\f1e0";
    font-family:"Font Awesome 6 Pro";
    font-weight:300;
    font-size:18px;
    line-height:1;
    color:#474647;
}

/* Collapsibles (author) */
.doll-card__author-extra{
    background:#F5F5F8;
    border-radius:10px;

    margin-top:0;
    height:0;
    overflow:hidden;

    padding:0 12px;
    transition:height .22s ease, padding .22s ease, margin-top .22s ease;
}
.doll-card--author-open .doll-card__author-extra{
    margin-top:8px;
    padding:12px 12px;
}

.doll-card__author-extra-short{
    font-family:'RotondaC';
    font-weight:700;
    font-size:14px;
    line-height:16px;
    color:#3C3C3C;
    margin-bottom:6px;
}
.doll-card__author-extra-full{
    font-family:'RotondaC';
    font-weight:400;
    font-size:14px;
    line-height:16px;
    color:#3C3C3C;
    white-space:pre-line;
}

/* Title + excerpt */
.doll-card__title{
    margin:14px 0 8px;
    font-family:'RotondaC';
    font-weight:700;
    font-size:21px;
    line-height:135%;
    color:#3C3C3C;
}
.doll-card__title a{ color:inherit; text-decoration:none; }

.doll-card__excerpt{
    font-family:'RotondaC';
    font-weight:400;
    font-size:14px;
    line-height:135%;
    color:#3C3C3C;

    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;

    overflow:hidden;
    max-height:72px;   /* FIX: stable height for 4 lines */
}


/* When details open, show full text (no animation) */
.doll-card--details-open .doll-card__excerpt{
    display:block;
    -webkit-line-clamp:unset;
    -webkit-box-orient:unset;

    /* Let the card grow instead of scrolling inside */
    overflow:visible;
    max-height:none;
}



/* Details link */
.doll-card__details-link{
    margin-top:6px;
    margin-bottom:12px;
    font-family:'RotondaC';
    font-weight:400;
    font-size:14px;
    line-height:16px;
    color:#2080D8;
    text-decoration:underline;
}
.doll-card--details-open .doll-card__details-link{
    margin-top:10px;
    margin-bottom:18px;
}

/* OPEN: allow only the opened card to grow */
.doll-card.doll-card--details-open,
.doll-card.doll-card--author-open{
    height:auto;
}



/* CTA */
.doll-card__buy-btn{
    width:224.79px;
    height:40px;

    margin-top:auto;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:22px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#3BB9C2;
    border-radius:97px;
    border:none;

    font-family:'RotondaC';
    font-weight:700;
    font-size:18px;
    line-height:28px;
    letter-spacing:.2px;
    color:#FFFFFF;
    text-decoration:none;
}

/* Responsive */
@media (max-width:420px){
    .doll-card{ width:100%; max-width:350px; }
    .doll-card__image-box,
    .doll-card__body{
        width:calc(100% - 48px);
        max-width:none;
    }
}

@media (min-width:1400px){
  .doll-card{ max-width:400px; }
  .doll-card__image-box{ max-width:320px; }
  .doll-card__body{ max-width:320px; }
}


/**
 * Footer
 */
.footer .logo-wrap img {
    max-width: 100px;
}

.footer .copywrites {
    color: #494949;
    font-size: .85rem;
}