/* WooCommerce's percentage widths must not shrink items inside the CSS grid. */
.woocommerce ul.products[class] li.product,
.woocommerce-page ul.products[class] li.product {
    width: auto !important;
    float: none;
    margin: 0;
    min-width: 0;
}
.woocommerce ul.products[class] li.product a img {width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.woocommerce ul.products[class] li.product .woocommerce-LoopProduct-link {display:flex;flex-direction:column;flex:1}
.woocommerce ul.products[class] li.product .product-card-category {display:block;margin:3px 0 9px;font:600 9px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}
.woocommerce ul.products[class] li.product .woocommerce-loop-product__title {font-size:34px;line-height:1.08;margin:0 0 10px;letter-spacing:-.025em}
.woocommerce ul.products[class] li.product .product-card-note {font:400 11px/1.8 var(--sans);margin:0 0 15px;min-height:40px;max-width:95%}
.woocommerce ul.products[class] li.product .price {font:600 15px/1.6 var(--sans);color:var(--ink);margin-top:auto}
.woocommerce ul.products[class] li.product .button {width:100%;display:flex;min-height:47px;padding:12px 0;margin-top:15px;border-bottom:1px solid #d3b5c4;font-size:11px;line-height:1.6;white-space:normal;text-align:left;align-items:center}
.woocommerce ul.products[class] li.product .button::after {content:'›';font-family:Arial,sans-serif;font-size:16px;line-height:1;margin-left:10px}
.woocommerce ul.products[class] li.product .added_to_cart {padding-top:8px;font-size:11px}
.featured-products.woocommerce ul.products[class] li.product .woocommerce-loop-product__title {font-size:29px}
.featured-products.woocommerce ul.products[class] li.product .product-card-note {font-size:10px}
.shop-main {padding-top:32px}
.shop-main .woocommerce-breadcrumb {margin-bottom:22px;font-size:10px}
.catalog-intro {display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:65px;padding:15px 0 42px}
.catalog-intro-copy .eyebrow {font-size:9px;letter-spacing:.15em;margin-bottom:22px}
.catalog-intro h1 {font-size:clamp(52px,5.5vw,80px);margin:0 0 24px;line-height:1;letter-spacing:-.035em;overflow-wrap:anywhere}
.catalog-intro-copy>p:not(.eyebrow),.catalog-description p {font-size:12px;line-height:2;max-width:560px;margin-bottom:0}
.catalog-intro-photo {position:relative;max-width:250px;padding:0 12px 16px 0}
.catalog-intro-photo img {width:100%;height:248px;object-fit:cover;border-radius:48% 48% 0 0}
.catalog-intro-photo span {position:absolute;right:-5px;bottom:0;transform:rotate(-5deg);background:var(--paper);padding:9px 20px;font:italic 25px/1 var(--serif);color:var(--rose)}
.catalog-title-heart {display:inline-flex;vertical-align:middle;margin-left:20px;color:var(--rose)}
.catalog-title-heart .icon {height:37px;width:37px;stroke-width:1}
.catalog-categories {display:flex;gap:10px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalog-category {display:flex;align-items:center;gap:13px;flex:1;min-width:0;padding:11px 12px;background:#f5efe6;border:1px solid transparent;transition:background .25s,border-color .25s}
.catalog-category:hover,.catalog-category.is-active {background:#f0ebe3;border-color:#c48aa6}
.catalog-category img {width:49px;height:58px;object-fit:cover;flex-shrink:0}
.catalog-category-heart {display:grid;place-items:center;flex-shrink:0;width:49px;height:58px;color:var(--rose)}
.catalog-category-heart .icon {width:29px;height:29px;stroke-width:1}
.catalog-category strong {display:block;font:500 23px/1.1 var(--serif);letter-spacing:-.02em}
.catalog-category small {display:block;margin-top:7px;font-size:8px;color:var(--muted);line-height:1.4}
.catalog-occasions {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 0 30px}
.catalog-occasions>span {font-size:10px;margin-right:5px;color:var(--muted)}
.catalog-occasions a {display:inline-flex;align-items:center;gap:7px;font-size:10px;border:1px solid var(--line);border-radius:25px;padding:7px 14px}
.catalog-occasions .icon {width:13px;height:13px;color:var(--rose)}
.catalog-occasions a:hover,.catalog-occasions a.is-active {background:var(--ink);border-color:var(--ink);color:var(--paper)}
.catalog-occasions a.is-active .icon,.catalog-occasions a:hover .icon {color:var(--paper)}
.catalog-toolbar {display:grid;grid-template-columns:1fr minmax(190px,280px) auto;align-items:center;gap:22px;padding:20px 0 28px;border-top:1px solid var(--line)}
.catalog-toolbar::before,.catalog-toolbar::after {display:none}
.woocommerce .catalog-toolbar .woocommerce-result-count {float:none;margin:0;padding:0;font-size:11px;line-height:1.8}
.woocommerce .catalog-toolbar .woocommerce-ordering {float:none;margin:0;max-width:none;font-size:11px}
.catalog-toolbar select {max-width:100%;min-height:44px;border:1px solid var(--line);padding:10px 12px;background:var(--paper)}
.catalog-search {display:flex;position:relative;margin:0}
.catalog-search input[type=search] {border:1px solid var(--line);background:transparent;padding:11px 40px 11px 14px;font-size:11px;min-height:44px;height:44px}
.catalog-search button {position:absolute;right:4px;top:3px;bottom:3px;width:36px;border:0;background:transparent;color:var(--ink)}
.catalog-search .icon {width:17px;height:17px}
.woocommerce .shop-main ul.products {grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px;margin:0}
.catalog-personal {display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:25px;background:#f0ebe3;padding:32px 35px;margin-top:65px}
.catalog-personal>div:first-child .icon {width:42px;height:42px;stroke-width:.8;color:var(--rose)}
.catalog-personal .eyebrow {font-size:8px;margin-bottom:9px}
.catalog-personal h2 {font-size:35px;line-height:1.1;margin-bottom:8px}
.catalog-personal p:not(.eyebrow) {font-size:10px;margin:0}
.catalog-personal .text-link {white-space:nowrap;font-size:10px;gap:15px}
@media(max-width:1100px) {
    .woocommerce .shop-main ul.products {grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 28px}
    .catalog-intro {grid-template-columns:minmax(0,1fr) 220px;gap:35px}
    .catalog-intro h1 {font-size:65px}
    .catalog-intro-photo img {height:235px}
    .catalog-category {padding:10px 8px;gap:9px}
    .catalog-category img,.catalog-category-heart {width:38px;height:48px}
    .catalog-category strong {font-size:21px}
    .catalog-toolbar {grid-template-columns:1fr minmax(170px,230px) auto;gap:15px}
    .catalog-personal {padding:28px;grid-template-columns:40px 1fr;gap:20px}
    .catalog-personal .text-link {grid-column:2;justify-self:start}
}
@media(max-width:800px) {
    .catalog-intro {grid-template-columns:minmax(0,1fr) 160px;gap:25px}
    .catalog-intro h1 {font-size:54px}
    .catalog-intro-photo img {height:195px}
    .catalog-intro-photo span {font-size:21px;padding:8px 13px}
    .catalog-intro-copy .eyebrow {font-size:7px;letter-spacing:.1em}
    .catalog-intro-copy>p:not(.eyebrow),.catalog-description p {font-size:11px}
    .catalog-categories {overflow-x:auto;scroll-snap-type:x mandatory;padding:18px 0}
    .catalog-category {flex:0 0 165px;scroll-snap-align:start;padding:12px}
    .catalog-category img,.catalog-category-heart {width:42px;height:52px}
    .catalog-toolbar {grid-template-columns:1fr 1fr;grid-template-areas:'search search' 'count sort';gap:15px}
    .catalog-toolbar .catalog-search {grid-area:search}
    .catalog-toolbar .woocommerce-result-count {grid-area:count}
    .catalog-toolbar .woocommerce-ordering {grid-area:sort;justify-self:end}
    .woocommerce .shop-main ul.products {gap:35px 20px}
    .woocommerce ul.products[class] li.product .woocommerce-loop-product__title {font-size:30px}
    .featured-products.woocommerce ul.products[class] li.product .woocommerce-loop-product__title {font-size:28px}
}
@media(max-width:560px) {
    .shop-main {padding-top:24px}
    .catalog-intro {grid-template-columns:minmax(0,1fr);gap:22px;padding-top:5px;padding-bottom:28px}
    .catalog-intro h1 {font-size:53px;margin-bottom:18px}
    .catalog-intro-photo {display:none}
    .catalog-intro-copy .eyebrow {font-size:7px;max-width:260px;margin-bottom:17px}
    .catalog-intro-copy>p:not(.eyebrow),.catalog-description p {font-size:11px;line-height:1.9}
    .catalog-title-heart {margin-left:12px}
    .catalog-title-heart .icon {width:25px;height:25px}
    .catalog-occasions {gap:8px;padding:17px 0 22px}
    .catalog-occasions>span {width:100%;font-size:9px;margin-bottom:2px}
    .catalog-occasions a {padding:6px 10px;font-size:9px}
    .catalog-occasions .icon {width:11px;height:11px}
    .catalog-toolbar {padding:18px 0 25px}
    .woocommerce .catalog-toolbar .woocommerce-result-count {font-size:9px}
    .woocommerce .catalog-toolbar .woocommerce-ordering {font-size:9px;max-width:190px}
    .catalog-toolbar select {padding:10px 8px;font-size:9px}
    .woocommerce .shop-main ul.products {grid-template-columns:minmax(0,1fr);gap:37px}
    .woocommerce ul.products[class] li.product .woocommerce-loop-product__title {font-size:35px}
    .woocommerce ul.products[class] li.product .product-card-note {font-size:12px;min-height:0;max-width:100%}
    .woocommerce ul.products[class] li.product .price {font-size:16px}
    .woocommerce ul.products[class] li.product .button {font-size:12px;min-height:47px}
    .featured-products.woocommerce ul.products[class] li.product .woocommerce-loop-product__title {font-size:25px}
    .featured-products.woocommerce ul.products[class] li.product .product-card-note {font-size:9px;min-height:48px}
    .featured-products.woocommerce ul.products[class] li.product .price {font-size:12px}
    .featured-products.woocommerce ul.products[class] li.product .button {font-size:9px}
    .catalog-personal {grid-template-columns:1fr;gap:18px;padding:25px;margin-top:45px}
    .catalog-personal .text-link {grid-column:1}
    .catalog-personal h2 {font-size:34px}
}
