/* All occasion pages are reachable through photo mini-cards in every preview. */
.all-occasions .occasion{text-decoration:none;min-width:0;max-width:none;color:var(--ink)}
.all-occasions .occasion img{object-fit:contain;background:#fff}
.all-occasions .occasion span{overflow-wrap:normal}
.all-occasions .occasion:hover{border-color:var(--red);box-shadow:0 6px 20px #bc315110}
.all-occasions .occasions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}
.all-occasions .hybrid-intro{min-height:102px;margin:18px 0}
.all-occasions .hybrid-intro h1{font-size:32px;max-width:none;margin:7px 0 9px}
.all-occasions .hybrid-intro-art{display:none}
.all-occasions .hybrid-intro h1 br{display:none}

/* 04: all twelve destinations in two short rows, keeping the product catalog close. */
.all-occasions.bright-catalog .hybrid-intro{padding:20px 25px;background:linear-gradient(110deg,#ffedf2,#f8eef1);min-height:108px}
.all-occasions.bright-catalog .occasions{gap:9px;margin-bottom:25px}
.all-occasions.bright-catalog .occasion{min-height:75px;padding:8px;gap:9px;border-radius:13px;flex-direction:row;text-align:left}
.all-occasions.bright-catalog .occasion img{width:51px;height:57px;border-radius:8px;flex-shrink:0}
.all-occasions.bright-catalog .occasion span{font-size:11px;line-height:1.35;font-weight:800}
.all-occasions.bright-catalog .occasion small{display:none}

/* 05: an equal photo tile for every occasion, no carousel or hidden destinations. */
.all-occasions.soft-catalog .hybrid-intro{padding:0;margin:22px 0 20px;min-height:86px}
.all-occasions.soft-catalog .occasions{gap:12px;margin-bottom:29px}
.all-occasions.soft-catalog .occasion{display:grid;grid-template-rows:85px minmax(31px,auto);padding:9px 9px 8px;gap:7px;border-radius:15px;background:#fbf4f6;align-items:center;justify-items:center}
.all-occasions.soft-catalog .occasion img{width:100%;height:85px;border-radius:10px;object-fit:contain}
.all-occasions.soft-catalog .occasion span{font-size:12px;text-align:center;line-height:1.25;min-height:30px;display:flex;align-items:center}
.all-occasions.soft-catalog .occasion small{display:none}

/* 06: every destination in a two-column sidebar beside the first product row. */
.all-occasions.blend-catalog .hybrid-intro{padding:19px 25px;min-height:104px;margin-bottom:24px}
.all-occasions.blend-catalog .selection{grid-template-columns:254px minmax(0,1fr);gap:26px}
.all-occasions.blend-catalog .occasion-heading{font-size:17px;margin:0 0 15px}
.all-occasions.blend-catalog .occasions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:24px}
.all-occasions.blend-catalog .occasion{flex-direction:column;text-align:center;gap:5px;padding:7px 5px;min-height:92px;border-radius:12px;justify-content:flex-start}
.all-occasions.blend-catalog .occasion img{width:100%;height:50px;border-radius:7px;object-fit:contain}
.all-occasions.blend-catalog .occasion span{font-size:10px;line-height:1.3;min-height:26px;display:flex;align-items:center;justify-content:center;max-width:112px}
.all-occasions.blend-catalog .occasion small{display:none}
.all-occasions.blend-catalog .sidebar-title{padding-top:15px;border-top:1px solid var(--line)}
.all-occasions.blend-catalog .services{margin-left:280px}
.all-occasions.blend-catalog .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(min-width:761px) and (max-width:1100px){
 .all-occasions.bright-catalog .occasions{grid-template-columns:repeat(4,minmax(0,1fr))}
 .all-occasions.bright-catalog .occasion{min-height:65px}
 .all-occasions.bright-catalog .occasion img{height:49px;width:43px}
 .all-occasions.soft-catalog .occasions{gap:9px}
 .all-occasions.soft-catalog .occasion{grid-template-rows:70px minmax(29px,auto);padding:7px}
 .all-occasions.soft-catalog .occasion img{height:70px}
 .all-occasions.soft-catalog .occasion span{font-size:10px}
 .all-occasions.blend-catalog .selection{grid-template-columns:220px minmax(0,1fr);gap:22px}
 .all-occasions.blend-catalog .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .all-occasions.blend-catalog .services{margin-left:242px}
 .all-occasions.blend-catalog .occasion span{font-size:10px}
}
@media(max-width:760px){
 .all-occasions .occasions,.all-occasions.soft .occasions,.all-occasions.catalog .occasions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin:17px 0 24px;padding:0}
 .all-occasions .occasion,.all-occasions.soft .occasion,.all-occasions.catalog .occasion{min-width:0;max-width:none;min-height:0;flex-direction:column;text-align:center;gap:6px;padding:7px 5px;background:#fff;border:1px solid #eee5e9;border-radius:12px}
 .all-occasions .occasion img,.all-occasions.soft .occasion img,.all-occasions.catalog .occasion img{width:100%;height:56px;object-fit:contain;border-radius:7px}
 .all-occasions .occasion span,.all-occasions.soft .occasion span,.all-occasions.catalog .occasion span{font-size:10px;line-height:1.25;min-height:27px;display:flex;align-items:center;justify-content:center}
 .all-occasions .occasion small{display:none}
 .all-occasions .hybrid-intro,.all-occasions.bright-catalog .hybrid-intro,.all-occasions.blend-catalog .hybrid-intro{min-height:0;margin:16px 0;padding:18px}
 .all-occasions .hybrid-intro h1{font-size:28px;line-height:1.12;letter-spacing:-1px}
 .all-occasions.soft-catalog .hybrid-intro{padding:4px 0 0;min-height:0;margin-top:20px}
 .all-occasions.soft-catalog .occasions{gap:9px}
 .all-occasions.soft-catalog .occasion{grid-template-rows:65px minmax(28px,auto);background:#fcf5f7;border-color:#f3e9ee;gap:7px;padding:7px 5px}
 .all-occasions.soft-catalog .occasion img{height:65px}
 .all-occasions.blend-catalog .selection{display:block}
 .all-occasions.blend-catalog .sidebar>.occasion-heading{display:block;font-size:17px;margin:0}
 .all-occasions.blend-catalog .sidebar .occasions{margin-top:13px}
 .all-occasions.blend-catalog .occasion{display:flex}
 .all-occasions.blend-catalog .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .all-occasions.blend-catalog .services{margin-left:0}
}
@media(max-width:350px){.all-occasions .occasion span,.all-occasions.catalog .occasion span{font-size:9px}}
