.destination-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:20px;list-style:none;padding:0;margin:0}
.destination-grid>li{min-width:0}
.destination-card{min-width:0;border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;background:#fff;height:100%;transition:box-shadow .15s}
.destination-card:hover{box-shadow:0 10px 28px #152c4914}.destination-card>a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--brand)}
.destination-card img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;display:block;background:#e8f0ef}
.destination-card-content{padding:18px;min-width:0;overflow-wrap:anywhere;flex:1}.destination-card h3,.destination-card--attraction h2{font-size:20px;margin:0 0 10px}.destination-card p{font-size:14px;line-height:1.8;margin:0 0 12px}
.destination-card-content ul{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:12px 0;font-size:13px}.destination-card-action{display:block;font-size:14px;margin-top:14px}
.destination-capital{display:inline-block;font-size:12px;padding:3px 10px;border-radius:20px;background:#e8f4f0;color:#215f51;margin-bottom:10px}
.family-hero{position:relative;isolation:isolate;overflow:hidden}.family-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.35}
.family-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f4f8f5b3,#f4f8f5ef)}
.continent-hero{padding:clamp(24px,5vw,64px);border-radius:24px;margin-bottom:32px;background:#edf5f1;min-height:250px}.continent-hero h1{font-size:clamp(32px,5vw,60px);margin:8px 0}.continent-hero p{max-width:70ch;line-height:2}.continent-count{display:inline-flex;gap:8px;background:#ffffffba;border-radius:20px;padding:4px 16px}
.place-hero{position:relative;overflow:hidden;background:var(--brand);color:white}.place-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,#163e4cbb,transparent)}.place-hero-content{position:relative;z-index:1;padding-block:clamp(32px,5vw,64px)}.place-hero .eyebrow{color:#d4f1e6}.place-hero h1{font-size:clamp(32px,5vw,60px);margin:8px 0}
.continent-section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px}.continent-section-heading h2{margin:0}.continent-section-heading a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}
.reference-panel>summary{min-height:44px;cursor:pointer;font-weight:600}.reference-panel[open] .editorial-body{margin-top:20px}
.browse-card-context{display:flex;flex-wrap:wrap;gap:8px 16px;padding:0 18px 16px}.browse-card-context a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;color:var(--brand)}
@media(max-width:600px){.destination-grid{gap:16px}.continent-hero{border-radius:16px}.destination-card-content{padding:16px}}

/* کارت جاذبه از تصویر و نوار عنوان/عمل مرجع استفاده می‌کند؛ متن بدون برش می‌شکند. */
/* Attraction cards follow the reference image and title/action footer; text wraps without clipping. */
.destination-card--attraction{border-radius:10px;box-shadow:0 2px 4px #0000000d;background:#fff}
.destination-card--attraction img{aspect-ratio:21/20;object-fit:cover}
.destination-card--attraction .destination-card-content{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-height:60px;padding:10px 14px;background:#fff;box-sizing:border-box}
.destination-attraction-caption{flex:1 1 0;min-width:0}
.destination-card--attraction h3,.destination-card--attraction h2{font-size:18px;line-height:1.5;margin:0;color:#395f6c}
.destination-card--attraction p{margin:4px 0 0;color:#526971;font-size:13px}
.destination-card--attraction .destination-card-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:32px;padding:5px 12px;margin:0;border-radius:5px;background:#00866c;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.destination-card--attraction>a:focus-visible{outline:3px solid #395f6c;outline-offset:-4px}
.destination-card--attraction.destination-card--directory-footer>a{height:auto}
@media(prefers-reduced-motion:reduce){.destination-card--attraction{transition:none}}
.country-attraction-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.attraction-consumer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
@media(min-width:801px){
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(7):last-child){grid-template-columns:repeat(12,minmax(0,1fr))}
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(7):last-child)>.destination-card--attraction:nth-child(-n+3){grid-column:span 4}
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(7):last-child)>.destination-card--attraction:nth-child(n+4){grid-column:span 3}
}
@media(min-width:801px) and (max-width:1211px){
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(5):last-child),
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(7):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(5):last-child)>.destination-card--attraction:nth-child(-n+2),
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(7):last-child)>.destination-card--attraction:nth-child(-n+4){grid-column:span 3}
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(5):last-child)>.destination-card--attraction:nth-child(n+3),
    .attraction-consumer-grid:has(>.destination-card--attraction:nth-child(7):last-child)>.destination-card--attraction:nth-child(n+5){grid-column:span 2}
}
@media(min-width:601px) and (max-width:800px){
    .attraction-consumer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .attraction-consumer-grid>.destination-card--attraction:first-child:nth-last-child(odd){grid-column:1/-1}
}
@media(max-width:600px){.attraction-consumer-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.country-attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.country-attraction-grid>.destination-card--attraction:first-child:nth-last-child(odd){grid-column:1/-1}}
@media(max-width:600px){
    .country-attraction-grid{gap:14px}
    .destination-card--attraction .destination-card-content{gap:8px;padding:10px}
    .destination-card--attraction :is(h3,h2){font-size:16px;line-height:1.7}
    .destination-card--attraction .destination-card-action{padding-inline:10px}
}

/* تصویر و نوار پایینی مرجع کشور؛ متن طولانی بدون برش اندازهٔ کارت را افزایش می‌دهد. */
/* Country reference image and bottom overlay; long content grows the card without clipping. */
.destination-grid--countries{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;max-inline-size:1190px;margin-inline:auto}
.destination-grid--countries> :is(.destination-card,li){grid-column:span 2}
.destination-grid--countries> :is(.destination-card,li):nth-child(-n+2){grid-column:span 3}
/* Keep the first two featured when a complete 2+3 row fits; fill short and final rows in DOM order. */
@media(min-width:701px){
    .destination-grid--countries> :is(.destination-card,li):first-child:last-child{grid-column:1/-1}
    .destination-grid--countries> :is(.destination-card,li):first-child:nth-last-child(3),
    .destination-grid--countries> :is(.destination-card,li):nth-child(2):nth-last-child(2){grid-column:span 2}
    .destination-grid--countries> :is(.destination-card,li):nth-child(3n):nth-last-child(2),
    .destination-grid--countries> :is(.destination-card,li):nth-child(n+4):nth-child(3n+1):last-child{grid-column:span 3}
    .destination-grid--countries> :is(.destination-card,li):nth-child(3n):nth-last-child(4),
    .destination-grid--countries> :is(.destination-card,li):nth-child(n+4):nth-child(3n+1):nth-last-child(3),
    .destination-grid--countries> :is(.destination-card,li):nth-child(n+5):nth-child(3n+2):nth-last-child(2),
    .destination-grid--countries> :is(.destination-card,li):nth-child(n+6):nth-child(3n):last-child{grid-column:span 3}
}
.destination-card--country{position:relative;isolation:isolate;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 4px #00000012;background:#e4eeec}
.destination-card--country>a{display:grid;grid-template-rows:minmax(160px,1fr) auto;min-block-size:240px;height:auto;flex:1}
.destination-card--country img{position:absolute;inset:0;height:100%;aspect-ratio:auto;z-index:-1}
.destination-card--country .destination-card-content{grid-row:2;flex:none;padding:9px 12px;background:#edf6f3d9;backdrop-filter:blur(6px)}
.destination-country-caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.destination-card--country :is(h3,h2){font-size:22px;line-height:1.5;margin:0;color:#395f6c}
.destination-card--country p{margin:0;line-height:1.7;font-size:13px}
.destination-card--country ul{margin:5px 0 0;gap:4px 16px;font-size:12px}
.destination-country-shortcuts{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 8px;padding:4px 10px;background:#edf6f3d9;backdrop-filter:blur(6px);border-top:1px solid #395f6c40}
.destination-country-shortcuts a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding-inline:4px;color:#395f6c;font-size:12px;text-decoration:none}
.destination-country-shortcuts a:hover{text-decoration:underline}
.destination-country-shortcuts a:focus-visible{outline:3px solid #395f6c;outline-offset:-2px;border-radius:3px}
.destination-card--country>.browse-card-context{background:#edf6f3ed;margin:0;padding:4px 12px}
.destination-card--country.destination-card--flag img{position:static;grid-row:1;height:160px;object-fit:contain;padding:16px;z-index:auto;background:#eef5f2}
.destination-card--country.destination-card--flag .destination-card-content,.destination-card--country.destination-card--flag>.destination-country-shortcuts{background:#edf6f3}
.destination-card--country .destination-card-action{margin-top:8px;padding-top:8px;border-top:1px solid #395f6c40;font-size:13px}
.destination-card.destination-card--country>a:focus-visible{outline:3px solid #395f6c;outline-offset:-4px}
@media(max-width:700px){
    .destination-grid--countries{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .destination-grid--countries> :is(.destination-card,li),.destination-grid--countries> :is(.destination-card,li):nth-child(-n+2){grid-column:span 1}
    .destination-card--country .destination-card-content{padding:10px 12px}
    .destination-card--country :is(h3,h2){font-size:18px}
    .destination-card--country ul{gap:4px 10px}
}
@media(min-width:391px) and (max-width:700px){
    .destination-grid--countries> :is(.destination-card,li):first-child:nth-last-child(odd){grid-column:1/-1}
}
@media(max-width:390px){
    .destination-grid--countries{grid-template-columns:minmax(0,1fr)}
    .destination-grid--countries> :is(.destination-card,li),.destination-grid--countries> :is(.destination-card,li):nth-child(-n+2){grid-column:1}
}
@media(prefers-reduced-motion:reduce){.destination-card--country{transition:none}}

/* Search keeps the same cards without stretching a lone result into a banner. */
.discovery-page .destination-grid--countries.destination-grid--search{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:0}
.discovery-page .search-group .destination-grid--countries.destination-grid--search>li:nth-child(n){grid-column:auto}
.destination-grid--search-attractions{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
@media(max-width:700px){.discovery-page .destination-grid--countries.destination-grid--search{grid-template-columns:minmax(0,1fr)}}

/* فقط مجموعه‌های تأییدشدهٔ خانه؛ کارت اولِ تعداد فرد بدون تغییر ترتیب گسترده می‌شود.
   Only approved Home collections span the first odd-count card without changing order. */
@media(max-width:700px){
    .home-page .home-odd-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .home-page .home-visa-grid.home-odd-card-grid>:first-child:nth-last-child(odd){grid-column:1/-1}
}
/* ستون‌های خودکار جاذبه تا ۷۶۳ پیکسل دو ستونه‌اند؛ ویزا از ۷۰۱ سه ستونه می‌ماند.
   Attraction auto-fill stays two columns through 763px; Visa retains three from 701px. */
@media(max-width:763px){
    .home-page .destination-grid.home-odd-card-grid>:first-child:nth-last-child(odd){grid-column:1/-1}
}
/* جاذبه‌های قاره فقط در بازهٔ دو ستون موجود متوازن می‌شوند.
   Continent Attractions balance only within their existing two-column range. */
@media(min-width:488px) and (max-width:763px){
    .continent-detail .destination-grid--odd-cards>:first-child:nth-last-child(odd){grid-column:1/-1}
}
