.favourites-section { display:grid; grid-template-columns:44% minmax(0,1fr); background:#fbfaf7; color:#29342d; scroll-margin-top:90px; }
.favourites-model { position:relative; min-height:850px; background:#afc0cc; overflow:hidden; }
.favourites-model picture { position:absolute; inset:0; }
.favourites-model img { width:100%; height:100%; object-fit:cover; object-position:50% 40%; }
.favourites-model::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,#142b3bd9); pointer-events:none; }
.favourites-model-copy { position:absolute; z-index:1; bottom:38px; left:38px; right:38px; color:white; }
.favourites-model-copy p { display:grid; gap:12px; margin:0 0 24px; }
.favourites-model-copy p span,.favourites-model-copy small { font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.favourites-model-copy strong { font:400 clamp(58px,6vw,92px)/.9 var(--serif); letter-spacing:-.05em; }
.favourites-model-copy button { display:flex; align-items:center; justify-content:space-between; width:175px; padding:12px 0; border-bottom:1px solid #ffffff80; background:none; color:white; text-transform:uppercase; letter-spacing:.12em; font-size:10px; cursor:pointer; }
.favourites-model-copy button span { font-size:20px; }
.favourites-content { min-width:0; padding:52px clamp(25px,4vw,64px) 30px; }
.favourites-heading .eyebrow { font-size:9px; letter-spacing:.19em; color:#768172; margin:0 0 22px; }
.favourites-heading h2 { margin:0; font:400 clamp(46px,4.8vw,76px)/.94 var(--serif); letter-spacing:-.045em; }
.favourites-heading h2 em { font-weight:400; }
.favourites-heading > p:last-child { margin:22px 0 30px; color:#70766c; font:17px/1.5 var(--serif); }
.favourites-heading br { display:none; }
.favourites-grid { display:grid; grid-template-columns:1fr; }
.favourite-card { position:relative; display:grid; grid-template-columns:115px minmax(0,1fr); gap:0 23px; padding:19px 0; border-top:1px solid #cbd0c4; }
.edit-card-heading { display:flex; align-items:center; gap:10px; grid-column:2; grid-row:1; margin-bottom:9px; }
.edit-card-heading span { font:italic 13px var(--serif); color:#89917f; }
.edit-card-heading p { margin:0; font-size:8px; text-transform:uppercase; letter-spacing:.13em; color:#77816f; }
.favourite-visual { grid-column:1; grid-row:1 / 3; display:block; align-self:stretch; width:100%; min-height:145px; padding:0; overflow:hidden; background:#fff; cursor:pointer; }
.favourite-visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.favourite-visual:hover img { transform:scale(1.05); }
.favourite-info { min-width:0; grid-column:2; grid-row:2; }
.favourite-recipient { margin:0 0 6px; font-size:8px; color:#777d71; letter-spacing:.07em; text-transform:uppercase; }
.favourite-info h3 { margin:0; font:400 clamp(23px,2vw,31px)/1.1 var(--serif); letter-spacing:-.02em; }
.favourite-mood { margin:6px 0 12px; font:14px/1.3 var(--serif); color:#72796c; }
.favourite-price { display:inline-flex; align-items:baseline; gap:9px; }
.favourite-price strong { font-size:17px; font-weight:400; }
.favourite-price s { font-size:11px; color:#92978b; }
.favourite-price > span { display:none; }
.favourite-add { float:right; padding:7px 0; border-bottom:1px solid #73816c; color:#34472f; background:none; text-transform:uppercase; font-size:9px; letter-spacing:.08em; cursor:pointer; }
.favourite-add:hover { color:#142811; border-color:currentColor; }
.favourites-more { display:block; width:fit-content; margin:22px 0 0 auto; padding:10px 0; font-size:9px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid #89927e; }
.favourites-section :is(a,button):focus-visible { outline:2px solid #71896d; outline-offset:4px; }
@media(min-width:1500px) { .favourite-card { grid-template-columns:140px minmax(0,1fr); } }
@media(max-width:1050px) and (min-width:821px) { .favourites-content { padding:40px 24px 28px; } .favourite-card { grid-template-columns:92px minmax(0,1fr); gap:0 15px; } .favourite-add { float:none; display:block; width:fit-content; margin-top:6px; } .favourites-model { min-height:920px; } }
@media(max-width:820px) {
 .favourites-section { grid-template-columns:1fr; }
 .favourites-model { min-height:0; aspect-ratio:5/6; max-height:700px; }
 .favourites-model img { object-position:50% 38%; }
 .favourites-model-copy { left:24px; right:24px; bottom:24px; }
 .favourites-model-copy strong { font-size:64px; }
 .favourites-model-copy p { gap:9px; margin-bottom:14px; }
 .favourites-content { padding:40px 24px 35px; }
 .favourites-heading h2 { font-size:clamp(44px,10.5vw,70px); }
 .favourites-heading .eyebrow { font-size:8px; margin-bottom:18px; }
 .favourites-heading > p:last-child { font-size:17px; margin:18px 0 28px; }
 .favourite-card { grid-template-columns:105px minmax(0,1fr); gap:0 18px; padding:20px 0; }
 .favourite-info h3 { font-size:25px; }
 .favourite-add { min-height:38px; }
}
@media(max-width:380px) { .favourites-content { padding-inline:18px; } .favourite-card { grid-template-columns:88px minmax(0,1fr); gap:0 14px; } .favourite-info h3 { font-size:23px; } .favourite-add { float:none; display:block; width:fit-content; margin-top:5px; } }
@media(prefers-reduced-motion:reduce) { .favourite-visual img { transition:none; } }
