/* Favorites and wishlist UI for Цветочный город. */
.cg-favorites-link{position:relative}
.cg-favorites-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--cg-accent-dark,#9f5960);color:#fff;font-size:10px;font-weight:800;line-height:1;box-sizing:border-box}
.cg-favorites-count[hidden]{display:none!important}

.woocommerce ul.products li.product{position:relative}
.cg-favorite-button{position:absolute;z-index:8;top:14px;right:14px;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(232,215,210,.92);border-radius:50%;background:rgba(255,255,255,.94);color:#735c57;cursor:pointer;box-shadow:0 9px 22px rgba(62,41,40,.12);backdrop-filter:blur(7px);transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.cg-favorite-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cg-favorite-button:hover{transform:translateY(-2px) scale(1.03);border-color:#d7aaa4;background:#fff7f4;color:var(--cg-accent-dark,#925158);box-shadow:0 13px 27px rgba(62,41,40,.16)}
.cg-favorite-button:focus-visible{outline:3px solid rgba(183,117,109,.22);outline-offset:3px}
.cg-favorite-button.is-active{border-color:#d99e96;background:linear-gradient(135deg,#f7d8d3,#f3c2bb);color:#8f4645}
.cg-favorite-button.is-active svg{fill:currentColor}

.cg-favorites-page-wrap{max-width:1240px;margin:0 auto;padding-top:34px;padding-bottom:78px}
.cg-favorites{display:grid;gap:28px}
.cg-favorites__hero{position:relative;overflow:hidden;padding:38px 40px;border:1px solid #eadfdb;border-radius:28px;background:radial-gradient(circle at 88% 18%,rgba(237,190,183,.28),transparent 27%),linear-gradient(135deg,#fff 0%,#fff6f2 100%);box-shadow:0 20px 50px rgba(67,43,43,.07)}
.cg-favorites__eyebrow{display:block;margin-bottom:9px;color:var(--cg-accent-dark,#8b514b);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.cg-favorites__hero h1{margin:0 0 13px;font:500 clamp(42px,6vw,68px)/.98 Georgia,serif;color:var(--cg-text,#352b29)}
.cg-favorites__hero p{max-width:680px;margin:0;color:var(--cg-muted,#83716c);font-size:16px;line-height:1.65}
.cg-favorites__toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 4px;color:#6f5b56;font-size:13px;font-weight:800}
.cg-favorites__toolbar a{color:var(--cg-accent-dark,#8b514b);text-decoration:none}
.cg-favorites__toolbar a:hover{text-decoration:underline}
.cg-favorites__loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:180px;border:1px dashed #e5d6d1;border-radius:22px;background:#fffaf8;color:#7f6d67;font-size:14px;font-weight:700}
.cg-favorites__spinner{width:24px;height:24px;border:3px solid #eadbd7;border-top-color:var(--cg-accent,#b7756d);border-radius:50%;animation:cg-favorites-spin .75s linear infinite}
@keyframes cg-favorites-spin{to{transform:rotate(360deg)}}

.cg-favorites__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.cg-favorite-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #eadfdb;border-radius:24px;background:#fff;box-shadow:0 16px 40px rgba(67,43,43,.07);transition:transform .22s ease,box-shadow .22s ease,opacity .18s ease}
.cg-favorite-card:hover{transform:translateY(-5px);box-shadow:0 24px 54px rgba(67,43,43,.12)}
.cg-favorite-card.is-removing{opacity:0;transform:scale(.96)}
.cg-favorite-card__image{position:relative;display:block;overflow:hidden;background:#f7efec;text-decoration:none}
.cg-favorite-card__image img{display:block;width:100%;aspect-ratio:1/1.06;object-fit:cover;transition:transform .45s ease}
.cg-favorite-card:hover .cg-favorite-card__image img{transform:scale(1.04)}
.cg-favorite-card__status{position:absolute;left:13px;bottom:13px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:#6c5a55;font-size:10px;font-weight:850;box-shadow:0 6px 16px rgba(49,34,33,.1)}
.cg-favorite-card__status.is-stock{background:#edf7ef;color:#347245}
.cg-favorite-card__status.is-out{background:#fff0ed;color:#95544f}
.cg-favorite-card__remove{position:absolute;z-index:5;top:13px;right:13px;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #e3bab4;border-radius:50%;background:rgba(255,249,247,.96);color:#994f55;cursor:pointer;box-shadow:0 9px 22px rgba(62,41,40,.13);transition:transform .18s ease,background .18s ease}
.cg-favorite-card__remove:hover{transform:scale(1.05);background:#f7d8d3}
.cg-favorite-card__remove svg{width:21px;height:21px;fill:currentColor;stroke:currentColor;stroke-width:1.7}
.cg-favorite-card__body{display:flex;flex:1;flex-direction:column;padding:20px}
.cg-favorite-card__title{display:-webkit-box;min-height:54px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#3e302d;text-decoration:none;font:600 20px/1.3 Georgia,serif}
.cg-favorite-card__title:hover{color:var(--cg-accent-dark,#8b514b)}
.cg-favorite-card__price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:14px;color:#3f312e;font-size:20px;font-weight:850}
.cg-favorite-card__price del{font-size:13px;opacity:.48;font-weight:500}
.cg-favorite-card__price ins{text-decoration:none}
.cg-favorite-card__action{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:50px!important;margin:19px 0 0!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,var(--cg-accent,#b7756d),var(--cg-accent-dark,#8b514b))!important;color:#fff!important;font-size:13px!important;font-weight:850!important;box-shadow:0 11px 24px rgba(176,91,100,.2)!important}

.cg-favorites__empty,.cg-favorites__error{display:grid;justify-items:center;gap:10px;padding:52px 24px;border:1px solid #eadfdb;border-radius:24px;background:linear-gradient(145deg,#fff,#fff9f7);text-align:center;box-shadow:0 16px 38px rgba(67,43,43,.05)}
.cg-favorites__empty[hidden],.cg-favorites__error[hidden],.cg-favorites__loading[hidden]{display:none!important}
.cg-favorites__empty-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff0ec;color:#a45b62;font-size:40px;line-height:1}
.cg-favorites__empty h2{margin:7px 0 0;font:600 30px/1.15 Georgia,serif;color:#3d302d}
.cg-favorites__empty p{max-width:520px;margin:0 0 8px;color:#83716c;line-height:1.6}
.cg-favorites__empty .button{min-height:50px!important;padding:0 24px!important;border-radius:999px!important}
.cg-favorites__error{color:#8c4f49}
.cg-favorites__error strong{font-size:18px}
.cg-favorites__error span{color:#8b7570;font-size:13px}

@media(max-width:1040px){.cg-favorites__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
    .cg-favorites-page-wrap{padding-top:20px;padding-bottom:52px}
    .cg-favorites{gap:20px}
    .cg-favorites__hero{padding:28px 24px;border-radius:22px}
    .cg-favorites__toolbar{align-items:flex-start;flex-direction:column;gap:7px}
    .cg-favorites__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .cg-favorite-card{border-radius:18px}
    .cg-favorite-card__body{padding:15px}
    .cg-favorite-card__title{min-height:44px;font-size:17px}
    .cg-favorite-card__price{font-size:18px}
    .cg-favorite-card__action{min-height:46px!important;margin-top:14px!important}
    .cg-favorite-button{top:10px;right:10px;width:38px;height:38px}
}
@media(max-width:430px){
    .cg-favorites__grid{grid-template-columns:1fr}
    .cg-favorite-card{display:grid;grid-template-columns:128px minmax(0,1fr)}
    .cg-favorite-card__image{height:100%}
    .cg-favorite-card__image img{height:100%;aspect-ratio:auto}
    .cg-favorite-card__body{min-width:0}
    .cg-favorite-card__remove{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){.cg-favorite-button,.cg-favorite-card,.cg-favorite-card__image img,.cg-favorites__spinner{transition:none;animation:none}}
