.world-stamps {
    padding: 30px 0;
}
/*
|--------------------------------------------------------------------------
| CONTAINER
|--------------------------------------------------------------------------
*/
.world-stamps .container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
/*
|--------------------------------------------------------------------------
| HERO
|--------------------------------------------------------------------------
*/
.world-hero {
  position: relative;
  background: #00000080;
  background-size: cover;
  object-position: center;
  background-repeat: no-repeat;
  width: 100%;
  margin-bottom: 20px;
}
.overlay-world {
  background: #00000082;
  position: absolute;
  width: 100%;
  height: 100%;
}
.world-hero__content,
.world-stamps__hero {
  position: relative;
  z-index: 3;
  padding: 6rem 0;
  color: #fff;
}
.world-stamps__content {
    max-width: 520px;
}
.world-stamps__title {
    font-size: clamp(24px, 4vw, 64px);
    line-height: 1;
    margin-bottom: 30px;
    font-weight: 400;
    color: #ffffff;
}
.world-stamps__text {
    margin-bottom: 50px;
}
.world-stamps__text p {
  line-height: 1.3;
  color: #ffffff;
  font-size: clamp(14px, 4vw, 20px);
}
.world-stamps__title span {
    color: #d8a647;
}
.info_container {
 max-width: 900px;
}
/*
|--------------------------------------------------------------------------
| STATS
|--------------------------------------------------------------------------
*/
.world-stamps__stats {
    display: flex;
    gap: 70px;
}
.world-stamps__stat strong {
    display: block;
    font-size: clamp(24px, 4vw, 44px);
    color: #d8a647;
    line-height: 1;
    margin-bottom: 12px;
    font-weight: 500;
}
.world-stamps__stat span {
    color: #ffffff;
    font-size: clamp(14px, 4vw, 16px);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* PAGE UA STAMPS*/
.stamps-hero-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8rem 0 3rem;
  color: #fff;
}

.stamps-page {
  display: flex;
  gap: 30px;
  margin-top: 100px;
}

/* SIDEBAR*/
.stamps-sidebar {
  width: 260px;
  background: #212026;
  border-radius: 12px;
  padding: 20px;
}
.sidebar-title {
  position: relative;
  color: #fff;
  font-weight: 600;
  margin-bottom: 15px;
}

.sidebar-item {
  display: flex;
  justify-content: space-between;
  padding: 12px;
  color: #fff;
  border-bottom: 1px solid rgba(216, 167, 67, 0.24);
  text-decoration: none;
}

.sidebar-item.active {
  background: linear-gradient(122deg, #844c1d 0%, #a97835 50.48%, #5a2f0c 100%);
}

/* YEARS */
.stamps-content {
  flex: 1;
}
.page-year-title {
    margin-bottom: 15px;
}
.years-grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 5px;
}

.year-item {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #DCDCDC;
  border-radius: 8px;
  text-decoration: none;
  color: #000;
  font-weight: 600;
  transition: 0.2s;
  padding: 8px 14px;
}

.year-item:hover {
    background: linear-gradient(90deg, #c89b5c, #e0b97a);
}

.year-item.active {
  background: linear-gradient(90deg, #c89b5c, #e0b97a);
  color: #000;
}

.sidebar-item {
  display: block;
  padding: 8px 10px;
  text-decoration: none;
  font-size: 16px;
}
.sidebar-level .sidebar-level {
  padding-left: 10px;
}
.sidebar-level .sidebar-item-wrap {
  position: relative;
}
.sidebar-level .sidebar-item-wrap .sidebar-level .sidebar-item-wrap .sidebar-item {
  padding-left: 16px;
  font-size: 14px;
}
.sidebar-level .sidebar-item-wrap .sidebar-level .sidebar-item-wrap .sidebar-item::after {
  position: absolute;
  content: '-';
  left: 5px;
  top: 6px;
}
.sidebar-level .sidebar-item-wrap .sidebar-item.active {
  background: linear-gradient(122deg, #844c1d 0%, #a97835 50.48%, #5a2f0c 100%);
}

.shop-filter-title h2 {
  margin-bottom: 15px; 
  font-size: clamp(16px, 4vw, 20px);
  color: #a97835;
}
.shop-filter-title span {
  color: #000;
}


.custom-breadcrumbs{
    margin-bottom:20px;
    font-size:16px;
    color:#272727;
}

.custom-breadcrumbs a{
    color:inherit;
    text-decoration:none;
}

.custom-breadcrumbs a:hover{
    text-decoration:underline;
}

/*
|--------------------------------------------------------------------------
| SEARCH
|--------------------------------------------------------------------------
*/
.world-stamps__search {
   position: relative;
    width: 100%;
    max-width: 600px;
    border: 1px solid #ead9b4;
    border-radius: 20px;
    padding: 30px;
    height: fit-content;
    margin-bottom: 60px;
}
.world-stamps__search label {
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    color: #d8a647;
    letter-spacing: 2px;
    margin-bottom: 20px;
}
.world-stamps__search input {
    width: 100%;
    border: 1px solid #e6e3dd;
    padding: 8px 16px;
    border-radius: 12px;
    outline: none;
    font-family: "Playfair";
    font-size: 18px;
    font-weight: 400;
    color: #494949;
    margin-bottom: 20px;
    background: transparent;
}
.world-stamps__search input::placeholder {
    color: #999;
}
.world-stamps__search small {
    color: #646464;
    font-size: 18px;
}
/*
|--------------------------------------------------------------------------
| SEARCH RESULT
|--------------------------------------------------------------------------
*/
.search-results {
    position: absolute;
    top: calc(60% + 15px);
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0,0,0,.08);
    padding: 10px;
    z-index: 50;
    display: none;
    max-height: 500px;
    overflow-y: auto;
}

.search-results.active {
    display: block;
}

/*
|--------------------------------------------------------------------------
| SEARCH ITEM
|--------------------------------------------------------------------------
*/

.search-result-item {
    display: flex;
    align-items: center;
    gap: 20px;
    text-decoration: none;
    padding: 16px;
    border-radius: 16px;
    transition: .25s;
}

.search-result-item:hover {
    background: #faf7f0;
}

/*
|--------------------------------------------------------------------------
| FLAG
|--------------------------------------------------------------------------
*/

.search-result-item .country-card__flag {
    width: 55px;
    height: 40px;
    margin-bottom: 0;
    flex-shrink: 0;
}

/*
|--------------------------------------------------------------------------
| CONTENT
|--------------------------------------------------------------------------
*/

.search-result-item .country-card__content {
    text-align: left;
}

.search-result-item .country-card__content h3 {
    font-size: 20px;
    margin-bottom: 4px;
    color: #9d9d9d;
}

.search-result-item .country-card__content span {
    font-size: 14px;
    color: #b68d43;
}

/*
|--------------------------------------------------------------------------
| SCROLLBAR
|--------------------------------------------------------------------------
*/

.search-results::-webkit-scrollbar {
    width: 6px;
}

.search-results::-webkit-scrollbar-thumb {
    background: #d8a647;
    border-radius: 10px;
}






/*
|--------------------------------------------------------------------------
| CONTINENT TABS
|--------------------------------------------------------------------------
*/

.continents-tabs {
    display: flex;
    gap: 50px;
    border-bottom: 1px solid #eee3cf;
    margin-bottom: 40px;
    overflow-x: auto;
    padding-bottom: 1px;
}

.continent-tab {
    position: relative;
    background: none;
    border: none;
    padding: 0 0 22px;
    cursor: pointer;
    font-size: clamp(20px, 4vw, 24px);
    color: #5e5e5e;
    transition: 0.3s;
    white-space: nowrap;
}

.continent-tab.active {
    color: #d8a647;
}

.continent-tab.active::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 3px;
    background: #d8a647;
}

/*
|--------------------------------------------------------------------------
| SECTIONS
|--------------------------------------------------------------------------
*/
.world-stamps__section {
    margin-bottom: 50px;
}
.section-heading {
    margin-bottom: 20px;
}
.section-heading h2 {
    font-size: 20px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #5e5e5e;
    font-weight: 500;
}

/*
|--------------------------------------------------------------------------
| GRID
|--------------------------------------------------------------------------
*/

.countries-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 20px;
}

/*
|--------------------------------------------------------------------------
| CARD
|--------------------------------------------------------------------------
*/

.country-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    transition: 0.3s;
    padding: 20px;
    border-radius: 20px;
    border: 1px solid #eee3cf;
}
.country-card:hover {
    transform: translateY(-5px);
    background: #faf7f0;
}
.country-card__flag {
    width: 60px;
    height: 40px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.country-card__flag img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.country-card__content h3 {
    font-size: clamp(18px, 4vw, 24px);
    color: #323232;
    margin-bottom: 14px;
    line-height: 1.2;
    font-weight: 400;
}
.country-card__content span {
    font-size: 18px;
    padding: 5px 10px;
    color: #d8a647;
}

/*
|--------------------------------------------------------------------------
| POPULAR GRID
|--------------------------------------------------------------------------
*/
.countries-grid--popular {
    margin-bottom: 80px;
}
/*
|--------------------------------------------------------------------------
| EMPTY
|--------------------------------------------------------------------------
*/
.country-card.hidden {
    display: none !important;
}


/*
|--------------------------------------------------------------------------
| ALPHABET
|--------------------------------------------------------------------------
*/

.countries-alphabet {
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.alphabet-row {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 40px;
    align-items: flex-start;
    padding-bottom: 50px;
    border-bottom: 1px solid #f1e7d5;
}

.alphabet-letter {
    font-size: 64px;
    line-height: 1;
    color: #d8a647;
    font-weight: 500;
    position: sticky;
    top: 120px;
}

.alphabet-countries {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/*
|--------------------------------------------------------------------------
| SMALL CARD
|--------------------------------------------------------------------------
*/

.alphabet-country {
    padding: 15px;
}

.alphabet-country .country-card__flag {
    width: 70px;
    height: 55px;
    margin-bottom: 5px;
}

.alphabet-country .country-card__content h3 {
    font-size: 24px;
    margin-bottom: 15px;
}

.alphabet-country .country-card__content span {
    font-size: 18px;
    padding: 5px 10px;
    border: 1px solid #e0d4bf;
    background: #f1e7d5;
    border-radius: 6px;
}




/*
|--------------------------------------------------------------------------
| RESPONSIVE
|--------------------------------------------------------------------------
*/

@media (max-width: 1200px) {

    .world-stamps__hero {
        flex-direction: column;
    }

    .world-stamps__search {
        max-width: 100%;
    }

}

@media (max-width: 992px) {

    .world-stamps {
        padding: 60px 0;
    }

    .world-stamps__title {
        font-size: 56px;
    }

    .world-stamps__text p {
        font-size: 22px;
    }

    .world-stamps__stats {
        gap: 40px;
    }

    .world-stamps__stat strong {
        font-size: 44px;
    }

    .continent-tab {
        font-size: 22px;
    }

    .country-card__content h3 {
        font-size: 24px;
    }

    .country-card__content span {
        font-size: 20px;
    }

}

@media (max-width: 768px) {
	.stamps-hero-inner {
        padding: 6em 0 7rem;
        flex-direction: column;
    }
    .stamps-page {
        flex-direction: column;
        margin-top: 0;
    }
    .stamps-sidebar {
        width: 100%;
    }
    .sidebar-title {
        margin-bottom: 0;
        }
    /* стрілка */
        .sidebar-title::after {
        content: "+";
        position: absolute;
        right: 0;
        transition: 0.3s;
        }

        .stamps-sidebar.active .sidebar-title::after {
        transform: rotate(45deg);
        }
    .sidebar-list {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .stamps-sidebar.active > .sidebar-list {
        max-height: 500px; /* достатньо велике */
        margin-top: 15px;
    }
    .years-grid {
        grid-template-columns: repeat(6, 1fr);
    }
    .world-stamps__title {
        font-size: 44px;
    }

    .world-stamps__text p {
        font-size: 18px;
    }

    .world-stamps__stats {
        flex-wrap: wrap;
        gap: 30px;
    }

    .world-stamps__search {
        padding: 25px;
    }

    .world-stamps__search input {
        font-size: 24px;
    }

    .countries-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .continent-tab {
        font-size: 18px;
    }

    .alphabet-row {
      gap: 10px;
    }

    .alphabet-letter {
        position: relative;
        top: auto;
        font-size: 42px;
    }

    .alphabet-countries {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (max-width: 480px) {
	 .years-grid {
        grid-template-columns: repeat(5, 1fr);
    }
    .world-stamps {
        padding: 40px 0;
    }

    .world-stamps__title {
        font-size: 38px;
    }

    .world-stamps__text p {
        font-size: 16px;
    }

    .world-stamps__stat strong {
        font-size: 34px;
    }

    .world-stamps__stat span {
        font-size: 14px;
    }

    .world-stamps__search input {
        font-size: 20px;
    }

    .country-card__content h3 {
        font-size: 18px;
    }
    .country-card__content span {
      font-size: 14px;
    }
    .country-card {
      padding: 6px 6px 12px;
      border-radius: 14px;
    }
    .alphabet-row {
      grid-template-columns: 1fr;
      gap: 10px;
      margin-bottom: 0;
    }
    .alphabet-country .country-card__flag {
        width: 60px;
        height: 40px;
        margin-bottom: 6px;
    }
    .alphabet-country .country-card__content h3 {
        font-size: 18px;
        margin-bottom: 4px;
    }
    .alphabet-country .country-card__content span {
        font-size: 14px;
    }
}