@font-face {
  font-family:'DM Sans';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('fonts/font-8.woff2') format('truetype');
}
@font-face {
  font-family:'DM Sans';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('fonts/font-9.woff2') format('truetype');
}
@font-face {
  font-family:'DM Sans';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('fonts/font-10.woff2') format('truetype');
}
@font-face {
  font-family:'DM Sans';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/font-11.woff2') format('truetype');
}
@font-face {
  font-family:Fraunces;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('fonts/font-12.woff2') format('truetype');
}
@font-face {
  font-family:Fraunces;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('fonts/font-13.woff2') format('truetype');
}
@font-face {
  font-family:Fraunces;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('fonts/font-14.woff2') format('truetype');
}
:root {
  --ivory:#FFF9EF;
  --paper:#FFFDFA;
  --pink:#FFD7E8;
  --cocoa:#583324;
  --raspberry:#AF2358;
  --lilac:#DFD5F3;
  --line:#DFCBC1;
  --muted:#795B4F;
  --error:#A12837;
  --success:#365A45;
  --display:Fraunces,Georgia,serif;
  --body:'DM Sans',Arial,sans-serif;
  --radius:18px;
  --container:1264px;
}
*,*:before,*:after {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}
body {
  margin:0;
  background:var(--ivory);
  color:var(--cocoa);
  font:400 17px/1.65 var(--body);
  -webkit-font-smoothing:antialiased;
}
img {
  max-width:100%;
  height:auto;
  vertical-align:middle;
}
svg {
  flex-shrink:0;
}
h1,h2,h3,h4,p,figure {
  margin:0;
}
h1,h2,h3,h4 {
  font-family:var(--display);
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.045em;
}
h1 {
  font-size:clamp(42px,5.6vw,76px);
}
h2 {
  font-size:clamp(32px,3.5vw,46px);
}
h3 {
  font-size:25px;
}
p+p {
  margin-top:1em;
}
a {
  color:inherit;
  text-underline-offset:5px;
}
a:hover {
  color:var(--raspberry);
}
button,input,select,textarea {
  font:inherit;
  color:inherit;
}
button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
button:disabled,input:disabled {
  cursor:not-allowed;
  opacity:.55;
}
a,button,input,textarea,select,summary {
  outline-offset:5px;
}
:focus-visible {
  outline:3px solid var(--raspberry);
}
button:focus:not(:focus-visible) {
  outline:none;
}
input[type=checkbox],input[type=radio] {
  accent-color:var(--raspberry);
  width:19px;
  height:19px;
  vertical-align:middle;
  margin:0 8px 2px 0;
}
input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea {
  width:100%;
  min-height:50px;
  background:var(--paper);
  border:1px solid #AE9184;
  border-radius:9px;
  padding:12px 14px;
  box-shadow:none;
}
textarea {
  resize:vertical;
  min-height:110px;
}
label {
  display:block;
  font-weight:500;
  margin-bottom:8px;
}
fieldset {
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  margin:20px 0;
}
legend {
  font-weight:600;
  padding:0 7px;
}
small {
  font-size:15px;
}
.container {
  width:calc(100% - 96px);
  max-width:var(--container);
  margin-inline:auto;
}
.site-main {
  min-height:52vh;
}
.screen-reader-text,.screen-reader-text-focusable:not(:focus),.woocommerce .screen-reader-text {
  border:0;
  clip:rect(1px,1px,1px,1px);
  clip-path:inset(50%);
  height:1px;
  overflow:hidden;
  padding:0;
  position:absolute!important;
  width:1px;
  word-wrap:normal!important;
}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  background:var(--cocoa);
  color:white;
  padding:12px 22px;
  z-index:10000;
  border-radius:8px;
}
.skip-link:focus {
  top:12px;
}
.cd-icon {
  width:24px;
  height:24px;
}
.button,button.button,input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 25px;
  border:1px solid var(--raspberry);
  border-radius:11px;
  background:var(--raspberry);
  color:var(--paper);
  font:600 17px/1.5 var(--body);
  text-decoration:none;
  text-align:center;
  cursor:pointer;
  transition:background .18s,box-shadow .18s;
}
.button:hover,button.button:hover,input[type=submit]:hover,.woocommerce a.button:hover,.woocommerce button.button:hover {
  background:#92204B;
  color:white;
  border-color:#92204B;
  box-shadow:0 3px 0 #58332414;
}
.button-secondary,.woocommerce a.button.button-secondary {
  background:transparent;
  color:var(--cocoa);
  border-color:var(--cocoa);
}
.button-secondary:hover {
  background:var(--cocoa);
  color:white;
  border-color:var(--cocoa);
}
.text-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-weight:600;
  text-decoration:underline;
  text-decoration-thickness:1px;
}
.eyebrow {
  font-size:15px;
  font-weight:600;
  letter-spacing:.075em;
  text-transform:uppercase;
  line-height:1.5;
  margin-bottom:18px;
  color:var(--raspberry);
}
em {
  font-weight:400;
  color:var(--raspberry);
}
.site-header {
  position:relative;
  z-index:20;
  background:var(--ivory);
  border-bottom:1px solid #58332414;
}
.header-inner {
  min-height:106px;
  display:flex;
  align-items:center;
  gap:44px;
}
.brand {
  display:flex;
  flex-direction:column;
  flex-shrink:0;
  text-decoration:none;
  line-height:1.05;
}
.brand-name {
  font-family:var(--display);
  font-size:34px;
  font-weight:600;
  letter-spacing:-.055em;
  text-decoration:none;
}
.brand-dot {
  color:var(--raspberry);
}
.brand-byline {
  font-size:14px;
  letter-spacing:.035em;
  margin-top:5px;
}
.primary-nav {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  margin-left:auto;
}
.primary-nav>a {
  font-weight:500;
  min-height:48px;
  display:flex;
  align-items:center;
  text-decoration:none;
  white-space:nowrap;
}
.primary-nav>a[aria-current=page] {
  color:var(--raspberry);
  text-decoration:underline;
}
.header-actions {
  display:flex;
  gap:9px;
  align-items:center;
  margin-left:auto;
}
.icon-button {
  border:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  min-width:46px;
  height:46px;
  color:var(--cocoa);
  border-radius:50%;
  position:relative;
  text-decoration:none;
}
.icon-button:hover {
  background:var(--pink);
  color:var(--cocoa);
}
.cart-link {
  padding-right:8px;
}
.cd-cart-count {
  position:absolute;
  right:0;
  top:0;
  min-width:19px;
  height:19px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--pink);
  font:600 12px/1 var(--body);
  padding:2px;
}
.menu-toggle {
  display:none;
}
.menu-close-icon {
  display:none;
}
.campaign {
  background:var(--lilac);
  color:var(--cocoa);
}
.campaign-inner {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  padding-block:12px;
  font-size:16px;
}
.campaign-inner>div {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.campaign a {
  font-weight:600;
  white-space:nowrap;
}
.hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:68px;
  align-items:center;
  padding-block:65px 66px;
}
.hero-copy {
  padding:8px 0 15px;
}
.hero .eyebrow {
  margin-bottom:25px;
}
.hero h1 {
  font-size:clamp(48px,5.65vw,80px);
  line-height:1.04;
  letter-spacing:-.065em;
}
.hero-description {
  font-size:19px;
  max-width:435px;
  margin-top:29px;
  line-height:1.7;
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:30px;
  flex-wrap:wrap;
}
.hero-local {
  font-size:16px;
  margin-top:22px;
  color:var(--muted);
}
.hero-visual {
  position:relative;
  padding:0 0 28px 4px;
}
.hero-image {
  height:535px;
  border-radius:48% 48% 24px 24px;
  background:var(--pink);
  overflow:hidden;
  transform:rotate(2deg);
}
.hero-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:49% center;
  transform:scale(1.05) rotate(-2deg);
}
.hero-visual figcaption {
  font-size:13px;
  position:absolute;
  bottom:0;
  right:0;
  color:var(--muted);
}
.gift-message {
  position:absolute;
  bottom:69px;
  left:-35px;
  background:var(--lilac);
  width:157px;
  height:157px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transform:rotate(-10deg);
  text-align:center;
}
.gift-message>span {
  font-size:14px;
  margin-bottom:6px;
}
.gift-message strong {
  font:500 26px/1.05 var(--display);
  letter-spacing:-.03em;
}
.local-ribbon {
  background:var(--pink);
  padding:19px 0;
  font-size:16px;
}
.local-ribbon>.container {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:65px;
}
.local-ribbon span {
  display:flex;
  align-items:center;
  gap:10px;
}
.local-ribbon a {
  font-weight:600;
}
.section {
  padding-block:76px 70px;
  scroll-margin-top:30px;
}
.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:25px;
  margin-bottom:32px;
}
.section-heading .eyebrow {
  margin-bottom:12px;
}
.gift-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px 24px;
}
.gift-card {
  height:100%;
  display:flex;
  flex-direction:column;
}
.gift-card-photo {
  display:block;
  position:relative;
  aspect-ratio:1.2;
  overflow:hidden;
  border-radius:18px;
  background:#F1E3D8;
}
.gift-card-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}
.gift-card-photo:hover img {
  transform:scale(1.025);
}
.gift-card-body {
  padding:20px 0 0;
  display:flex;
  flex-direction:column;
  flex:1;
}
.gift-card h3 {
  font-size:27px;
  letter-spacing:-.035em;
}
.gift-card h3 a {
  text-decoration:none;
}
.gift-card-body>p {
  margin-top:10px;
  font-size:17px;
  line-height:1.55;
  color:var(--muted);
  max-width:360px;
}
.gift-card-bottom {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-top:auto;
  padding-top:18px;
}
.gift-card .price {
  font-weight:500;
  line-height:1.45;
}
.price del {
  font-size:16px;
  color:var(--muted);
}
.price ins {
  text-decoration:none;
}
.card-action {
  font-size:16px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
  min-height:44px;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.product-tag {
  position:absolute;
  top:14px;
  left:14px;
  background:var(--ivory);
  font-size:14px;
  font-weight:600;
  padding:5px 12px;
  border-radius:20px;
}
.product-tag.sold-out {
  background:var(--cocoa);
  color:white;
}
.collection-note {
  font-size:15px;
  margin-top:34px;
  color:var(--muted);
  text-align:center;
}
.personal-section {
  background:var(--pink);
  padding-block:66px;
}
.personal-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center;
}
.personal-title h2 {
  font-size:clamp(38px,4.4vw,60px);
  line-height:1.09;
}
.personal-steps {
  display:flex;
  flex-direction:column;
  gap:27px;
}
.personal-steps>div {
  display:flex;
  gap:20px;
  align-items:start;
}
.step-number {
  font:500 22px/1 var(--display);
  display:flex;
  align-items:center;
  justify-content:center;
  width:43px;
  height:43px;
  flex-shrink:0;
  border:1px solid #58332455;
  border-radius:50%;
  margin-top:2px;
}
.personal-steps h3 {
  font:600 19px/1.5 var(--body);
  letter-spacing:0;
  margin-bottom:7px;
}
.personal-steps p {
  font-size:17px;
  max-width:380px;
}
.occasion-section {
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:100px;
  align-items:center;
  padding-block:78px;
}
.occasion-section h2 {
  line-height:1.16;
}
.occasion-section>div>p:not(.eyebrow) {
  max-width:550px;
  margin:22px 0 26px;
}
.occasion-note {
  padding:33px 35px;
  background:var(--lilac);
  border-radius:5px;
  transform:rotate(4deg);
  width:280px;
  max-width:100%;
  justify-self:center;
}
.occasion-note p {
  font:400 41px/1.13 var(--display);
  letter-spacing:-.035em;
}
.occasion-note>span {
  font-size:16px;
  display:block;
  margin-top:27px;
}
.site-footer {
  border-top:1px solid var(--line);
  background:#F5EBDD;
}
.footer-top {
  padding-block:52px 42px;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1.1fr;
  gap:40px;
}
.footer-brand p {
  font-size:20px;
  line-height:1.45;
  margin:16px 0;
}
.footer-brand>span {
  font-size:15px;
  color:var(--muted);
}
.footer-links {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.footer-links h2 {
  font:600 17px/1.5 var(--body);
  letter-spacing:0;
  margin:5px 0 8px;
}
.footer-links a {
  text-decoration:none;
  font-size:16px;
  min-height:30px;
}
.footer-links a:hover {
  text-decoration:underline;
}
.footer-contact {
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:19px;
}
.footer-contact img {
  border-radius:50%;
  mix-blend-mode:multiply;
}
.footer-contact a {
  font-size:15px;
  overflow-wrap:anywhere;
}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-block:23px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:14px;
  color:var(--muted);
}
.footer-bottom>div {
  display:flex;
  gap:24px;
  flex-wrap:wrap;
}
.footer-bottom a {
  text-decoration:none;
}
.editorial-main {
  padding-block:55px 78px;
  max-width:940px;
}
.page-heading {
  margin-bottom:35px;
}
.page-heading .eyebrow {
  margin-bottom:14px;
}
.page-heading h1 {
  font-size:clamp(39px,4.7vw,62px);
}
.page-heading>p:last-child:not(.eyebrow) {
  margin-top:16px;
  max-width:640px;
}
.entry-content>p {
  margin-bottom:20px;
}
.entry-content h2 {
  margin-top:35px;
  margin-bottom:16px;
  font-size:32px;
}
.entry-content h3 {
  margin-top:28px;
  margin-bottom:12px;
}
.entry-content ul,.entry-content ol {
  padding-left:24px;
  margin:15px 0 24px;
}
.entry-content li {
  margin:7px 0;
}
.entry-content .wp-block-columns {
  gap:35px;
}
.entry-content details {
  border-bottom:1px solid var(--line);
  padding:22px 0;
}
.entry-content details summary {
  font-weight:600;
  cursor:pointer;
  min-height:35px;
}
.entry-content details[open]>p {
  margin-top:14px;
}
.entry-content .wp-block-image img {
  border-radius:18px;
}
.not-found {
  padding-block:100px;
}
.not-found p:not(.eyebrow) {
  margin:23px 0;
}
.shop-main {
  padding-block:50px 72px;
}
.catalog-heading {
  text-align:center;
  max-width:820px;
  margin:0 auto 38px;
}
.catalog-heading h1 {
  font-size:clamp(43px,5vw,65px);
  line-height:1.1;
}
.catalog-heading>p:last-child {
  margin-top:19px;
  color:var(--muted);
  font-size:19px;
}
.catalog-categories {
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  border-bottom:1px solid var(--line);
  padding-bottom:28px;
  margin-bottom:24px;
}
.catalog-categories a {
  border:1px solid var(--line);
  border-radius:30px;
  padding:9px 19px;
  text-decoration:none;
  min-height:46px;
  font-size:16px;
}
.catalog-categories a.active {
  background:var(--cocoa);
  color:var(--ivory);
  border-color:var(--cocoa);
}
.catalog-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 28px;
  gap:18px;
}
.catalog-tools>.woocommerce-notices-wrapper {
  width:100%;
}
.catalog-tools>.woocommerce-notices-wrapper:empty {
  display:none;
}
.woocommerce-result-count {
  font-size:16px;
  color:var(--muted);
}
.woocommerce-ordering {
  margin-left:auto;
}
.woocommerce-ordering select {
  max-width:235px;
  min-height:45px;
  padding:8px 30px 8px 12px;
  font-size:16px;
  background:transparent;
}
.woocommerce ul.products,ul.products {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:38px 25px;
  padding:0;
  margin:0;
  clear:both;
}
.woocommerce ul.products:before,.woocommerce ul.products:after,ul.products:before,ul.products:after {
  display:none!important;
}
.woocommerce ul.products li.product,ul.products li.product {
  list-style:none;
  margin:0;
  float:none;
  width:auto;
}
.catalog-help {
  margin-top:58px;
  background:var(--lilac);
  border-radius:18px;
  padding:32px 35px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
}
.catalog-help h2 {
  font-size:29px;
  line-height:1.15;
  margin-bottom:10px;
}
.catalog-help p {
  font-size:17px;
  max-width:620px;
}
.catalog-help .button {
  flex-shrink:0;
}
.woocommerce-pagination {
  margin:40px 0 0;
}
.woocommerce-pagination ul {
  list-style:none;
  display:flex;
  justify-content:center;
  gap:9px;
}
.woocommerce-pagination li a,.woocommerce-pagination li span {
  min-width:44px;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  text-decoration:none;
  border-radius:8px;
}
.woocommerce-pagination .current {
  background:var(--cocoa);
  color:white;
}
.back-to-menu {
  display:inline-flex;
  min-height:44px;
  align-items:center;
  font-size:16px;
  margin-bottom:25px;
}
.single-product div.product {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:60px;
  row-gap:45px;
}
.single-product div.product>span.onsale {
  position:absolute;
  top:18px;
  left:18px;
  z-index:3;
  background:var(--pink);
  padding:5px 13px;
  border-radius:20px;
  font-size:15px;
}
.woocommerce-product-gallery {
  position:relative;
  align-self:start;
  min-width:0;
}
.woocommerce-product-gallery__wrapper {
  margin:0;
  transition:transform .2s;
}
.woocommerce-product-gallery__image {
  background:#F1E3D8;
  border-radius:20px;
  overflow:hidden;
}
.woocommerce-product-gallery__image a {
  display:block;
}
.woocommerce-product-gallery__image img {
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  height:auto;
}
.woocommerce-product-gallery__image:not(:first-child) {
  display:inline-block;
  width:calc(25% - 12px);
  margin:16px 12px 0 0;
  border-radius:10px;
}
.woocommerce-product-gallery__image:not(:first-child) img {
  aspect-ratio:1;
}
.woocommerce-product-gallery__trigger {
  position:absolute;
  z-index:2;
  top:15px;
  right:15px;
  background:var(--paper);
  width:43px;
  height:43px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.photo-note {
  font-size:14px;
  color:var(--muted);
  margin-top:13px;
  line-height:1.5;
}
.summary.entry-summary {
  min-width:0;
}
.product_title {
  font-size:clamp(34px,3.7vw,49px);
  margin:0 0 13px;
}
.summary>.price {
  font-size:22px;
  font-weight:500;
  margin:0 0 17px;
}
.woocommerce-product-details__short-description {
  font-size:18px;
  line-height:1.6;
  margin-bottom:22px;
}
.product-service-note {
  display:flex;
  align-items:start;
  gap:11px;
  background:#F2E9DC;
  padding:15px 17px;
  border-radius:11px;
  font-size:15px;
  line-height:1.6;
  margin:22px 0;
}
.product-service-note svg {
  width:20px;
  height:20px;
  margin-top:3px;
}
.variations {
  width:100%;
  border-collapse:collapse;
  margin:25px 0 10px;
  table-layout:fixed;
}
.variations tr {
  display:flex;
  flex-direction:column;
  margin:0 0 23px;
}
.variations th {
  padding:0;
  text-align:left;
}
.variations td {
  padding:0;
}
.variations .label label {
  font-size:17px;
  font-weight:600;
  margin:0 0 10px;
}
.variations select {
  width:100%;
  background:var(--paper);
}
.variations .reset_variations {
  display:inline-flex;
  align-items:center;
  min-height:35px;
  font-size:15px;
  margin-top:9px;
}
.palette-native {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  clip:rect(0,0,0,0);
  overflow:hidden;
  padding:0!important;
  min-height:0!important;
  border:0!important;
}
.palette-native:focus {
  position:relative!important;
  width:100%!important;
  height:50px!important;
  clip:auto;
  min-height:50px!important;
}
.palette-choices {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.palette-choice {
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--paper);
  padding:9px 13px;
  min-height:46px;
  font-size:16px;
  line-height:1.4;
}
.palette-choice[aria-pressed=true] {
  border-color:var(--cocoa);
  box-shadow:inset 0 0 0 1px var(--cocoa);
  background:#F3E8DC;
}
.palette-dot {
  width:19px;
  height:19px;
  display:block;
  border-radius:50%;
  border:1px solid #58332444;
}
.woocommerce-variation-price {
  font-size:20px;
  margin-bottom:14px;
}
.stock {
  font-size:15px;
  color:var(--success);
  margin-bottom:15px;
}
.stock.out-of-stock {
  color:var(--error);
}
.woocommerce-variation-description {
  font-size:16px;
  margin-bottom:15px;
}
.woocommerce-variation-add-to-cart,.summary form.cart:not(.variations_form) {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:13px;
}
.quantity {
  display:inline-flex;
  flex-direction:column;
  flex-shrink:0;
  max-width:92px;
}
.quantity label:not(.screen-reader-text) {
  font-size:15px;
}
.quantity .qty {
  max-width:84px;
  text-align:center;
  padding-inline:8px;
}
.single_add_to_cart_button {
  flex:1;
  min-width:190px;
}
.woocommerce-variation-add-to-cart .cd-gift-fields,.woocommerce-variation-add-to-cart fieldset,.summary form.cart:not(.variations_form) .cd-gift-fields {
  flex-basis:100%;
  width:100%;
}
.cd-gift-fields {
  margin:20px 0;
  padding:22px;
  background:#F8EFE6;
  border-radius:13px;
  border:1px solid var(--line);
}
.cd-gift-fields h3,.cd-gift-fields legend {
  font:600 19px/1.4 var(--body);
  letter-spacing:0;
  margin:0 0 16px;
}
.cd-gift-fields p,.cd-gift-fields .form-row {
  margin:14px 0;
}
.cd-gift-fields label {
  font-size:16px;
}
.cd-gift-fields input,.cd-gift-fields textarea {
  background:var(--paper);
}
.cd-gift-fields small,.cd-gift-fields .description {
  font-size:14px;
  color:var(--muted);
}
.woocommerce-tabs {
  grid-column:1/-1;
  border-top:1px solid var(--line);
  padding-top:24px;
}
.woocommerce-tabs ul.tabs {
  list-style:none;
  display:flex;
  gap:28px;
  border-bottom:1px solid var(--line);
  margin:0 0 25px;
  padding:0;
}
.woocommerce-tabs ul.tabs li {
  margin:0;
}
.woocommerce-tabs ul.tabs a {
  display:block;
  text-decoration:none;
  padding:13px 0;
  font-size:17px;
}
.woocommerce-tabs ul.tabs li.active a {
  color:var(--raspberry);
  border-bottom:2px solid var(--raspberry);
  font-weight:600;
}
.woocommerce-Tabs-panel h2 {
  font-size:28px;
  margin-bottom:18px;
}
.woocommerce-Tabs-panel p {
  max-width:900px;
}
.woocommerce-product-attributes {
  width:100%;
  max-width:750px;
  border-collapse:collapse;
}
.woocommerce-product-attributes th,.woocommerce-product-attributes td {
  text-align:left;
  border-bottom:1px solid var(--line);
  padding:13px;
}
.gift-help {
  grid-column:1/-1;
  background:var(--pink);
  border-radius:14px;
  padding:28px 32px;
}
.gift-help h2 {
  font-size:28px;
  margin-bottom:11px;
}
.gift-help p {
  max-width:730px;
}
.gift-help .text-link {
  margin-top:10px;
}
.related.products {
  grid-column:1/-1;
}
.related>h2 {
  margin-bottom:26px;
  font-size:35px;
}
.woocommerce-notices-wrapper:empty {
  display:none;
}
.woocommerce-error,.woocommerce-message,.woocommerce-info,.woocommerce-NoticeGroup {
  background:#F5EBDC;
  padding:18px 22px;
  border:1px solid var(--line);
  border-left:4px solid var(--cocoa);
  border-radius:9px;
  margin:0 0 25px;
  list-style:none;
  line-height:1.6;
}
.woocommerce-error {
  background:#FFF0EE;
  border-color:#D79999;
  border-left-color:var(--error);
  color:#842232;
}
.woocommerce-message {
  background:#EDF2E9;
  border-color:#B3C5AF;
  border-left-color:var(--success);
}
.woocommerce-error li {
  margin:5px 0!important;
}
.woocommerce-message .button {
  float:right;
  margin:-4px 0 0 20px;
  font-size:15px;
  min-height:42px;
  padding:8px 16px;
}
.woocommerce-error a,.woocommerce-message a,.woocommerce-info a {
  font-weight:600;
}
.woocommerce-notices-wrapper:after,.woocommerce-message:after {
  content:'';
  display:block;
  clear:both;
}
.commerce-main {
  padding-block:30px 70px;
}
.order-steps {
  display:flex;
  list-style:none;
  padding:0;
  margin:0 0 38px;
  border-bottom:1px solid var(--line);
  counter-reset:order;
  gap:34px;
}
.order-steps li {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  color:var(--muted);
  padding:15px 0;
  border-bottom:2px solid transparent;
  margin:0;
  counter-increment:order;
}
.order-steps li:before {
  content:counter(order);
  width:26px;
  height:26px;
  border-radius:50%;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
}
.order-steps .current {
  color:var(--cocoa);
  border-bottom-color:var(--raspberry);
  font-weight:600;
}
.order-steps .current:before {
  background:var(--raspberry);
  color:white;
  border-color:var(--raspberry);
}
.commerce-content .woocommerce {
  width:100%;
}
.commerce-content h2,.commerce-content h3 {
  margin-top:0;
}
.woocommerce-cart .woocommerce {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(315px,1fr);
  gap:30px;
}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper,.woocommerce-cart .woocommerce>.cart-empty,.woocommerce-cart .woocommerce>.return-to-shop {
  grid-column:1/-1;
}
.woocommerce-cart-form {
  min-width:0;
}
.shop_table {
  width:100%;
  border-collapse:collapse;
  table-layout:auto;
  font-size:16px;
  margin-bottom:25px;
}
.shop_table th {
  text-align:left;
  font-weight:600;
}
.shop_table th,.shop_table td {
  padding:17px 13px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.shop_table thead th {
  padding-top:0;
  font-size:14px;
  color:var(--muted);
}
.shop_table .product-thumbnail {
  width:92px;
  padding-left:0;
}
.shop_table .product-thumbnail img {
  width:80px;
  height:88px;
  object-fit:cover;
  border-radius:9px;
}
.shop_table .product-name>a {
  font:500 20px/1.3 var(--display);
  letter-spacing:-.025em;
  text-decoration:none;
}
.shop_table .product-name dl.variation {
  font-size:14px;
  margin:10px 0;
  display:grid;
  grid-template-columns:max-content 1fr;
  gap:4px 7px;
  line-height:1.4;
}
.shop_table .product-name dl.variation dt {
  font-weight:500;
  float:none;
  clear:none;
}
.shop_table .product-name dl.variation dd {
  margin:0;
  min-width:0;
  overflow-wrap:anywhere;
}
.shop_table .product-name dl.variation p {
  margin:0;
}
.shop_table .product-remove {
  padding-left:0;
  width:27px;
}
.shop_table a.remove {
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:23px;
  font-weight:400;
  text-decoration:none;
}
.shop_table a.remove:hover {
  background:var(--pink);
  color:var(--raspberry);
}
.shop_table .product-price {
  white-space:nowrap;
}
.shop_table .quantity {
  max-width:68px;
}
.shop_table .quantity .qty {
  width:65px;
  min-height:44px;
  padding:8px 3px;
}
.shop_table .product-subtotal {
  white-space:nowrap;
}
.shop_table td.actions {
  padding:22px 0;
  border-bottom:0;
}
.actions .coupon {
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:15px;
}
.actions .coupon label {
  position:absolute;
  clip:rect(0,0,0,0);
  height:1px;
  width:1px;
  overflow:hidden;
}
.actions .coupon input {
  max-width:235px;
}
.actions .coupon .button {
  font-size:15px;
  white-space:nowrap;
  padding-inline:15px;
}
.actions>.button {
  width:100%;
  min-height:45px;
  background:transparent!important;
  color:var(--cocoa)!important;
  border-color:var(--line)!important;
}
.cart-collaterals {
  min-width:0;
}
.cart_totals {
  background:#F3E7DB;
  border-radius:16px;
  padding:27px;
}
.cart_totals>h2 {
  font-size:28px;
  margin-bottom:21px;
}
.cart_totals .shop_table td,.cart_totals .shop_table th {
  padding:15px 0;
  border-color:#DBC5B8;
}
.cart_totals .shop_table th {
  width:40%;
}
.cart_totals .shop_table td {
  text-align:right;
}
.woocommerce-shipping-methods {
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  font-size:15px;
  text-align:left;
}
.woocommerce-shipping-methods li {
  display:flex;
  align-items:baseline;
  gap:4px;
  margin:0 0 8px!important;
}
.woocommerce-shipping-methods label {
  display:inline;
  font-size:15px;
  font-weight:400;
  line-height:1.5;
}
.woocommerce-shipping-methods input {
  flex-shrink:0;
  width:16px;
  height:16px;
}
.woocommerce-shipping-destination {
  font-size:14px;
  text-align:left;
  margin-top:12px;
}
.shipping-calculator-button {
  font-size:14px;
}
.shipping-calculator-form {
  text-align:left;
  padding-top:15px;
}
.shipping-calculator-form .form-row {
  margin-bottom:12px;
}
.shipping-calculator-form select,.shipping-calculator-form input {
  font-size:15px;
  padding:9px;
}
.order-total th,.order-total td {
  font-size:20px;
}
.wc-proceed-to-checkout .checkout-button {
  display:flex!important;
  width:100%;
}
.woocommerce form .form-row {
  margin:0 0 20px;
}
.woocommerce form .form-row label {
  font-size:16px;
  line-height:1.5;
}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row label.inline {
  display:inline;
  font-weight:400;
}
.required {
  color:var(--raspberry);
  text-decoration:none!important;
}
.woocommerce form .form-row-first {
  width:48%;
  float:left;
}
.woocommerce form .form-row-last {
  width:48%;
  float:right;
}
.woocommerce form .form-row-wide {
  clear:both;
}
.woocommerce form .clear {
  clear:both;
}
.woocommerce-input-wrapper {
  display:block;
}
.woocommerce-invalid input,.woocommerce-invalid select {
  border-color:var(--error)!important;
}
.woocommerce form .optional {
  color:var(--muted);
  font-size:14px;
}
.woocommerce-checkout .woocommerce-form-login-toggle,.woocommerce-checkout .woocommerce-form-coupon-toggle {
  max-width:none;
}
.woocommerce-checkout .woocommerce-info {
  font-size:16px;
}
.woocommerce form.checkout {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.9fr);
  gap:0 50px;
  align-items:start;
}
.woocommerce form.checkout>#customer_details {
  grid-column:1;
  grid-row:1/5;
}
.woocommerce form.checkout>#order_review_heading {
  grid-column:2;
  grid-row:1;
  padding:25px 28px 14px;
  background:#F3E7DB;
  border-radius:16px 16px 0 0;
  margin:0;
  font-size:28px;
}
.woocommerce form.checkout>#order_review {
  grid-column:2;
  grid-row:2;
  background:#F3E7DB;
  padding:0 28px 26px;
  border-radius:0 0 16px 16px;
}
.woocommerce form.checkout>input,.woocommerce form.checkout>noscript {
  grid-column:1/-1;
}
.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3 {
  font-size:27px;
  margin:0 0 24px;
}
.woocommerce-checkout #customer_details>.col-1,.woocommerce-checkout #customer_details>.col-2 {
  width:100%;
  float:none;
}
.woocommerce-account-fields {
  clear:both;
  padding-block:10px;
}
.woocommerce-additional-fields {
  clear:both;
  margin-top:28px;
}
.woocommerce-shipping-fields {
  clear:both;
  padding-block:10px;
}
.woocommerce-shipping-fields h3 {
  font:500 18px/1.5 var(--body);
  letter-spacing:0;
}
.woocommerce-shipping-fields h3 label {
  display:flex;
  align-items:center;
  gap:8px;
}
.woocommerce-shipping-fields .shipping_address {
  padding-top:18px;
}
.woocommerce-checkout-review-order-table {
  font-size:15px;
  margin-bottom:17px;
}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td {
  padding:16px 0;
  border-color:#DBC5B8;
}
.woocommerce-checkout-review-order-table .product-name {
  padding-right:15px;
}
.woocommerce-checkout-review-order-table .product-name dl.variation {
  font-size:13px;
}
.woocommerce-checkout-review-order-table td.product-total {
  text-align:right;
  white-space:nowrap;
}
.woocommerce-checkout-review-order-table th.product-total {
  text-align:right;
}
.woocommerce-checkout-review-order-table .order-total td,.woocommerce-checkout-review-order-table .order-total th {
  font-size:21px;
}
.woocommerce-checkout-review-order-table tfoot td {
  text-align:right;
}
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals th {
  width:30%;
}
.woocommerce-checkout-payment {
  border-top:1px solid var(--line);
  padding-top:19px;
}
.wc_payment_methods {
  padding:0!important;
  margin:0 0 20px!important;
  list-style:none!important;
}
.wc_payment_methods li {
  margin:0 0 13px!important;
}
.wc_payment_methods label {
  display:inline;
  font-weight:600;
  font-size:16px;
}
.wc_payment_methods .payment_box {
  padding:13px 15px;
  background:#FFFBF6;
  border-radius:9px;
  margin-top:10px;
  font-size:15px;
}
.wc_payment_methods img {
  max-height:28px;
  width:auto;
}
.woocommerce-privacy-policy-text {
  font-size:14px;
  color:var(--muted);
  line-height:1.6;
  margin:15px 0;
}
.woocommerce-terms-and-conditions-wrapper {
  font-size:15px;
}
.woocommerce-terms-and-conditions-checkbox-text {
  font-size:15px;
  font-weight:400;
}
.place-order #place_order {
  display:flex;
  width:100%;
  margin-top:20px;
}
.woocommerce-account .u-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  max-width:1000px;
}
.woocommerce-account .u-columns h2 {
  font-size:31px;
  margin-bottom:23px;
}
.woocommerce-form-login,.woocommerce-form-register,.lost_reset_password {
  padding:27px 30px;
  background:#F6ECDF;
  border:1px solid var(--line);
  border-radius:15px;
}
.woocommerce-form-register {
  background:#F9EBF0;
}
.woocommerce-form-login__rememberme {
  display:flex!important;
  align-items:center;
  margin-bottom:20px;
}
.woocommerce-form-login__submit {
  margin-bottom:12px;
}
.woocommerce-LostPassword {
  font-size:15px;
  margin-top:4px;
}
.show-password-input {
  background:transparent;
  border:0;
  font-size:15px;
  font-weight:600;
  min-height:44px;
  padding:8px 0;
}
.password-input {
  display:flex;
  position:relative;
  gap:10px;
  align-items:center;
}
.password-input input {
  flex:1;
  min-width:0;
}
.woocommerce-password-strength {
  font-size:14px;
  margin:8px 0;
}
.woocommerce-password-strength.bad,.woocommerce-password-strength.short {
  color:var(--error);
}
.woocommerce-password-strength.strong {
  color:var(--success);
}
.woocommerce-password-hint {
  font-size:14px;
  color:var(--muted);
  line-height:1.5;
  display:block;
}
.woocommerce-MyAccount-navigation {
  width:24%;
  float:left;
  background:#F3E7DB;
  padding:12px;
  border-radius:12px;
}
.woocommerce-MyAccount-navigation ul {
  list-style:none;
  padding:0!important;
  margin:0!important;
}
.woocommerce-MyAccount-navigation li {
  margin:0!important;
}
.woocommerce-MyAccount-navigation a {
  display:block;
  padding:12px 15px;
  text-decoration:none;
  border-radius:7px;
}
.woocommerce-MyAccount-navigation .is-active a {
  background:var(--cocoa);
  color:var(--ivory);
}
.woocommerce-MyAccount-content {
  width:71%;
  float:right;
  min-width:0;
}
.woocommerce-account .woocommerce:after {
  content:'';
  display:block;
  clear:both;
}
.woocommerce-MyAccount-content>p {
  margin-bottom:18px;
}
.woocommerce-MyAccount-content .shop_table {
  font-size:15px;
}
.woocommerce-MyAccount-content .button {
  font-size:15px;
  padding:8px 14px;
  min-height:42px;
}
.woocommerce-Addresses {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-top:28px;
}
.woocommerce-Address {
  background:#F3E7DB;
  border-radius:12px;
  padding:22px;
}
.woocommerce-Address-title h2 {
  font-size:26px;
  margin:0 0 10px;
}
.woocommerce-Address-title a {
  font-size:15px;
}
.woocommerce-Address address {
  font-style:normal;
  font-size:16px;
  margin-top:18px;
}
.woocommerce-form-edit-account {
  max-width:730px;
}
.woocommerce-order {
  max-width:940px;
  margin-inline:auto;
}
.woocommerce-thankyou-order-received {
  font-size:20px;
  color:var(--success);
  margin-bottom:25px;
  background:#EDF2E9;
  padding:22px 25px;
  border-radius:12px;
}
.woocommerce-order-overview {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  list-style:none!important;
  padding:23px!important;
  background:#F3E7DB;
  border-radius:13px;
  gap:20px;
  margin:0 0 35px!important;
}
.woocommerce-order-overview li {
  font-size:14px;
  margin:0!important;
  overflow-wrap:anywhere;
}
.woocommerce-order-overview strong {
  display:block;
  font-size:17px;
  margin-top:5px;
}
.woocommerce-order-details h2,.woocommerce-customer-details h2 {
  font-size:29px;
  margin-bottom:23px;
}
.woocommerce-order-details {
  margin-top:35px;
}
.woocommerce-order .shop_table {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:12px;
}
.woocommerce-order .shop_table th,.woocommerce-order .shop_table td {
  padding:17px 20px;
}
.woocommerce-order .wc-item-meta {
  padding:0!important;
  list-style:none!important;
  font-size:15px;
}
.woocommerce-order .wc-item-meta li {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.woocommerce-order .wc-item-meta p {
  display:inline;
}
.woocommerce-customer-details {
  margin-top:35px;
}
.woocommerce-customer-details .addresses {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
}
.woocommerce-customer-details address {
  font-style:normal;
  line-height:1.8;
  background:#F3E7DB;
  border-radius:12px;
  padding:22px;
}
.woocommerce-customer-details .woocommerce-column__title {
  font-size:25px;
}
.select2-container .select2-selection--single {
  height:50px!important;
  border:1px solid #AE9184!important;
  border-radius:9px!important;
  background:var(--paper)!important;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  line-height:48px!important;
  padding-left:14px!important;
  color:var(--cocoa)!important;
}
.select2-container .select2-selection--single .select2-selection__arrow {
  height:48px!important;
  right:8px!important;
}
.select2-dropdown {
  border:1px solid var(--line)!important;
}
.select2-results__option--highlighted[aria-selected],.select2-results__option--highlighted[data-selected] {
  background:var(--raspberry)!important;
}
.blockUI.blockOverlay {
  background:var(--ivory)!important;
  opacity:.6!important;
}
.cd-checkout-note,.cd-fulfillment-notice,.cd-phone-notice {
  padding:18px 20px;
  background:var(--lilac);
  border-radius:11px;
  margin-bottom:25px;
}
.cd-gift-preview {
  border:1px solid var(--line);
  padding:16px;
  border-radius:12px;
  margin-top:18px;
  background:var(--paper);
}
.cd-gift-preview p {
  font-size:16px;
}
.cd-gift-preview .cd-preview-message {
  font-family:var(--display);
  font-size:24px;
  margin-block:12px;
}
.cd-contact-form {
  max-width:720px;
}
.cd-contact-form .form-row {
  margin-bottom:20px;
}
.cd-contact-form input,.cd-contact-form textarea {
  background:var(--paper);
}
.cd-contact-form button {
  margin-top:10px;
}
.cd-form-success {
  padding:20px;
  background:#EDF2E9;
  border-radius:12px;
  border:1px solid #B3C5AF;
}
.cd-form-error {
  padding:20px;
  background:#FFF0EE;
  border-radius:12px;
  border:1px solid #D79999;
}
.cd-order-banner {
  margin-bottom:24px;
}
.wp-block-button__link {
  background:var(--raspberry);
  color:white;
  font-weight:600;
  border-radius:10px;
  font-size:17px;
  padding:13px 23px;
}
.pswp {
  z-index:99999;
}
@media(min-width:1500px) {
  .hero {
    gap:90px;
  }
  .hero-image {
    height:560px;
  }
}
@media(max-width:1100px) {
  .container {
    width:calc(100% - 64px);
  }
  .header-inner {
    gap:25px;
  }
  .primary-nav {
    gap:22px;
  }
  .primary-nav>a {
    font-size:16px;
  }
  .brand-name {
    font-size:31px;
  }
  .hero {
    gap:38px;
    padding-block:48px;
  }
  .hero h1 {
    font-size:60px;
  }
  .hero-image {
    height:480px;
  }
  .hero-description {
    font-size:18px;
  }
  .hero-actions {
    gap:16px;
  }
  .hero-actions .text-link {
    font-size:16px;
  }
  .gift-message {
    left:-18px;
    width:134px;
    height:134px;
  }
  .gift-message strong {
    font-size:24px;
  }
  .personal-inner {
    gap:50px;
  }
  .occasion-section {
    gap:55px;
  }
  .footer-top {
    gap:25px;
  }
  .footer-contact a {
    font-size:13px;
  }
  .single-product div.product {
    column-gap:35px;
  }
  .woocommerce-cart .woocommerce {
    grid-template-columns:1fr 330px;
    gap:20px;
  }
  .cart_totals {
    padding:22px;
  }
  .shop_table th,.shop_table td {
    padding:15px 8px;
  }
  .shop_table .product-thumbnail {
    width:70px;
  }
  .shop_table .product-thumbnail img {
    width:65px;
    height:78px;
  }
  .shop_table .product-price {
    display:none;
  }
  .woocommerce form.checkout {
    column-gap:30px;
    grid-template-columns:1.15fr .95fr;
  }
  .woocommerce form.checkout>#order_review_heading {
    padding-inline:23px;
  }
  .woocommerce form.checkout>#order_review {
    padding-inline:23px;
  }
}
@media(max-width:900px) {
  .header-inner {
    min-height:89px;
  }
  .primary-nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    background:var(--ivory);
    padding:18px 32px 25px;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 15px #5833240A;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .primary-nav.is-open {
    display:flex;
  }
  .primary-nav>a {
    font-size:18px;
    padding:10px 0;
    border-bottom:1px solid #DFCBC177;
  }
  .menu-toggle {
    display:inline-flex;
  }
  .menu-toggle[aria-expanded=true] .menu-open-icon {
    display:none;
  }
  .menu-toggle[aria-expanded=true] .menu-close-icon {
    display:block;
  }
  .header-actions {
    gap:5px;
  }
  .hero {
    gap:26px;
    padding-block:39px 42px;
  }
  .hero h1 {
    font-size:50px;
  }
  .hero-image {
    height:430px;
  }
  .hero-description {
    font-size:17px;
    margin-top:22px;
  }
  .hero .eyebrow {
    font-size:13px;
    letter-spacing:.04em;
    margin-bottom:19px;
  }
  .hero-actions {
    margin-top:23px;
  }
  .hero-actions .button {
    padding-inline:19px;
  }
  .hero-actions .text-link {
    font-size:15px;
  }
  .hero-local {
    font-size:14px;
    margin-top:16px;
  }
  .hero-visual figcaption {
    font-size:10px;
  }
  .gift-message {
    width:117px;
    height:117px;
    left:-12px;
    bottom:55px;
  }
  .gift-message>span {
    font-size:12px;
  }
  .gift-message strong {
    font-size:22px;
  }
  .local-ribbon>.container {
    gap:28px;
  }
  .local-ribbon {
    font-size:14px;
  }
  .local-ribbon .cd-icon {
    width:20px;
    height:20px;
  }
  .section {
    padding-block:55px;
  }
  .gift-grid,.woocommerce ul.products,ul.products {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:31px 22px;
  }
  .gift-card h3 {
    font-size:26px;
  }
  .personal-title h2 {
    font-size:43px;
  }
  .personal-inner {
    gap:35px;
    grid-template-columns:1fr 1.15fr;
  }
  .personal-steps {
    gap:22px;
  }
  .personal-steps p {
    font-size:16px;
  }
  .occasion-section {
    grid-template-columns:1.3fr .7fr;
    gap:32px;
    padding-block:59px;
  }
  .occasion-note {
    padding:28px 24px;
  }
  .occasion-note p {
    font-size:34px;
  }
  .footer-top {
    grid-template-columns:1.2fr 1fr 1fr;
  }
  .footer-contact {
    display:none;
  }
  .footer-top .brand-name {
    font-size:30px;
  }
  .footer-links a {
    font-size:15px;
  }
  .catalog-heading {
    margin-bottom:30px;
  }
  .catalog-heading h1 {
    font-size:51px;
  }
  .catalog-help {
    padding:27px;
    align-items:flex-start;
    flex-direction:column;
  }
  .single-product div.product {
    grid-template-columns:1fr 1fr;
    gap:28px;
  }
  .product_title {
    font-size:36px;
  }
  .summary>.price {
    font-size:21px;
  }
  .woocommerce-product-details__short-description {
    font-size:17px;
  }
  .product-service-note {
    padding:12px;
    font-size:14px;
  }
  .woocommerce-product-gallery__image img {
    aspect-ratio:.85;
  }
  .palette-choice {
    font-size:15px;
    padding:8px 10px;
  }
  .woocommerce-variation-add-to-cart {
    gap:10px;
  }
  .single_add_to_cart_button {
    min-width:150px;
    padding-inline:13px!important;
    font-size:16px!important;
  }
  .cd-gift-fields {
    padding:17px;
  }
  .woocommerce-cart .woocommerce {
    grid-template-columns:1fr;
  }
  .cart-collaterals {
    max-width:520px;
    width:100%;
    margin-left:auto;
  }
  .shop_table .product-price {
    display:table-cell;
  }
  .woocommerce form.checkout {
    grid-template-columns:1fr 1fr;
    column-gap:24px;
  }
  .woocommerce form.checkout>#order_review_heading {
    padding-inline:19px;
    font-size:26px;
  }
  .woocommerce form.checkout>#order_review {
    padding-inline:19px;
  }
  .woocommerce form .form-row-first,.woocommerce form .form-row-last {
    float:none;
    width:100%;
  }
  .woocommerce-order-overview {
    grid-template-columns:1fr 1fr;
  }
  .woocommerce-account .u-columns {
    gap:25px;
  }
  .woocommerce-form-login,.woocommerce-form-register {
    padding:23px;
  }
  .woocommerce-MyAccount-navigation {
    width:27%;
    font-size:16px;
  }
  .woocommerce-MyAccount-content {
    width:68%;
  }
  .woocommerce-Addresses {
    grid-template-columns:1fr;
  }
}
@media(max-width:640px) {
  html {
    scroll-padding-top:82px;
  }
  .container {
    width:calc(100% - 40px);
  }
  body {
    font-size:17px;
  }
  .header-inner {
    min-height:80px;
    gap:14px;
  }
  .brand-name {
    font-size:29px;
  }
  .brand-byline {
    font-size:12px;
    margin-top:3px;
  }
  .header-actions {
    gap:1px;
  }
  .icon-button {
    min-width:39px;
    width:39px;
    height:43px;
  }
  .icon-button svg {
    width:22px;
    height:22px;
  }
  .account-link {
    display:none;
  }
  .cd-cart-count {
    right:-1px;
    top:0;
  }
  .primary-nav {
    padding-inline:20px;
  }
  .campaign-inner {
    font-size:14px;
    gap:10px;
    justify-content:space-between;
    padding-block:11px;
  }
  .campaign-inner>div {
    display:block;
  }
  .campaign-inner span {
    display:block;
    font-size:13px;
    line-height:1.45;
  }
  .campaign-inner a {
    font-size:13px;
  }
  .hero {
    grid-template-columns:1fr;
    padding-block:33px 29px;
    gap:26px;
  }
  .hero-copy {
    padding:0;
  }
  .hero h1 {
    font-size:clamp(45px,11.8vw,66px);
    line-height:1.05;
  }
  .desktop-break {
    display:none;
  }
  .hero .eyebrow {
    font-size:13px;
    margin-bottom:17px;
  }
  .hero-description {
    font-size:17px;
    line-height:1.6;
    max-width:450px;
    margin-top:20px;
  }
  .hero-actions {
    gap:12px 20px;
    margin-top:23px;
  }
  .hero-actions .button {
    padding-inline:23px;
  }
  .hero-actions .text-link {
    font-size:15px;
    min-height:42px;
  }
  .hero-local {
    margin-top:15px;
    font-size:14px;
  }
  .hero-visual {
    padding:0 0 24px 15px;
    max-width:500px;
    width:100%;
    margin-inline:auto;
  }
  .hero-image {
    height:310px;
    border-radius:42% 42% 18px 18px;
    transform:rotate(1.5deg);
  }
  .hero-image img {
    object-position:50% 53%;
  }
  .gift-message {
    bottom:46px;
    left:0;
    width:113px;
    height:113px;
    transform:rotate(-8deg);
  }
  .gift-message strong {
    font-size:22px;
  }
  .gift-message>span {
    font-size:10px;
  }
  .hero-visual figcaption {
    font-size:10px;
    right:0;
  }
  .local-ribbon {
    padding:14px 0;
  }
  .local-ribbon>.container {
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
  }
  .local-ribbon span {
    font-size:13px;
    gap:6px;
  }
  .local-ribbon span:nth-child(2) {
    display:none;
  }
  .local-ribbon a {
    font-size:13px;
  }
  .section {
    padding-block:40px;
  }
  .section-heading {
    align-items:flex-start;
    gap:16px;
    margin-bottom:23px;
  }
  .section-heading h2 {
    font-size:34px;
    max-width:290px;
  }
  .section-heading .eyebrow {
    font-size:12px;
    margin-bottom:10px;
    letter-spacing:.045em;
  }
  .section-heading>.text-link {
    font-size:13px;
    line-height:1.45;
    max-width:83px;
    min-height:44px;
    margin-top:25px;
    flex-shrink:0;
  }
  .gift-grid,.woocommerce ul.products,ul.products {
    gap:28px 13px;
  }
  .gift-card-photo {
    aspect-ratio:.9;
    border-radius:12px;
  }
  .gift-card-body {
    padding-top:13px;
  }
  .gift-card h3 {
    font-size:22px;
    line-height:1.13;
    letter-spacing:-.04em;
  }
  .gift-card-body>p {
    font-size:14px;
    line-height:1.5;
    margin-top:9px;
  }
  .gift-card-bottom {
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding-top:11px;
  }
  .gift-card .price {
    font-size:16px;
  }
  .gift-card .price del {
    font-size:13px;
  }
  .card-action {
    min-height:40px;
    font-size:14px;
  }
  .product-tag {
    font-size:10px;
    top:8px;
    left:8px;
    padding:4px 8px;
    max-width:calc(100% - 16px);
  }
  .collection-note {
    font-size:13px;
    margin-top:25px;
    line-height:1.6;
  }
  .personal-section {
    padding-block:40px;
  }
  .personal-inner {
    grid-template-columns:1fr;
    gap:31px;
  }
  .personal-title .eyebrow {
    font-size:13px;
    margin-bottom:14px;
  }
  .personal-title h2 {
    font-size:43px;
    line-height:1.08;
  }
  .personal-steps {
    gap:23px;
  }
  .personal-steps>div {
    gap:15px;
  }
  .personal-steps h3 {
    font-size:18px;
    margin-bottom:6px;
  }
  .personal-steps p {
    font-size:16px;
    line-height:1.6;
    max-width:none;
  }
  .step-number {
    width:36px;
    height:36px;
    font-size:19px;
  }
  .occasion-section {
    grid-template-columns:1fr;
    gap:36px;
    padding-block:45px;
  }
  .occasion-section .eyebrow {
    font-size:13px;
  }
  .occasion-section h2 {
    font-size:35px;
  }
  .occasion-section>div>p:not(.eyebrow) {
    font-size:17px;
    margin:20px 0 24px;
  }
  .occasion-note {
    width:270px;
    padding:28px 30px;
    justify-self:center;
    transform:rotate(3deg);
    margin:2px 0 10px;
  }
  .occasion-note p {
    font-size:38px;
  }
  .occasion-note>span {
    font-size:15px;
    margin-top:22px;
  }
  .footer-top {
    padding-block:36px 29px;
    grid-template-columns:1fr 1fr;
    gap:30px 22px;
  }
  .footer-brand {
    grid-column:1/-1;
  }
  .footer-brand p {
    font-size:20px;
    margin:11px 0;
    display:inline-block;
    width:100%;
  }
  .footer-brand>span {
    font-size:14px;
  }
  .footer-links {
    gap:9px;
  }
  .footer-links h2 {
    font-size:16px;
    margin-bottom:6px;
  }
  .footer-links a {
    font-size:15px;
    min-height:32px;
  }
  .footer-bottom {
    font-size:13px;
    flex-direction:column;
    gap:12px;
    padding-block:21px;
  }
  .footer-bottom>div {
    gap:18px;
  }
  .editorial-main {
    padding-block:35px 48px;
  }
  .page-heading {
    margin-bottom:27px;
  }
  .page-heading h1 {
    font-size:39px;
  }
  .page-heading .eyebrow {
    font-size:12px;
    letter-spacing:.03em;
    margin-bottom:12px;
  }
  .page-heading>p:last-child:not(.eyebrow) {
    font-size:17px;
    margin-top:15px;
  }
  .entry-content h2 {
    font-size:29px;
    margin-top:30px;
  }
  .entry-content h3 {
    font-size:25px;
  }
  .shop-main {
    padding-block:29px 45px;
  }
  .catalog-heading {
    text-align:left;
    margin-bottom:26px;
  }
  .catalog-heading .eyebrow {
    font-size:12px;
    letter-spacing:.035em;
    margin-bottom:14px;
  }
  .catalog-heading h1 {
    font-size:47px;
  }
  .catalog-heading>p:last-child {
    font-size:17px;
    margin-top:17px;
  }
  .catalog-categories {
    justify-content:flex-start;
    gap:8px;
    padding-bottom:21px;
    margin-bottom:20px;
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:thin;
    margin-right:-20px;
    padding-right:20px;
  }
  .catalog-categories a {
    white-space:nowrap;
    font-size:14px;
    min-height:43px;
    padding:8px 15px;
  }
  .catalog-tools {
    margin-bottom:23px;
    gap:10px;
  }
  .woocommerce-result-count {
    font-size:13px;
  }
  .woocommerce-ordering select {
    max-width:180px;
    font-size:13px;
    min-height:44px;
    padding:8px 23px 8px 9px;
  }
  .catalog-help {
    margin-top:37px;
    padding:24px;
    border-radius:13px;
    gap:18px;
  }
  .catalog-help h2 {
    font-size:28px;
  }
  .catalog-help p {
    font-size:16px;
  }
  .back-to-menu {
    font-size:15px;
    margin-bottom:16px;
    min-height:35px;
  }
  .single-product div.product {
    grid-template-columns:1fr;
    gap:25px;
  }
  .single-product div.product>span.onsale {
    top:12px;
    left:12px;
    font-size:13px;
  }
  .woocommerce-product-gallery__image img {
    aspect-ratio:1.1;
    object-position:center;
  }
  .woocommerce-product-gallery__image {
    border-radius:16px;
  }
  .woocommerce-product-gallery__image:not(:first-child) {
    margin-top:12px;
  }
  .photo-note {
    font-size:12px;
    margin-top:10px;
  }
  .product_title {
    font-size:39px;
    line-height:1.08;
    margin-bottom:14px;
  }
  .summary>.price {
    font-size:21px;
    margin-bottom:15px;
  }
  .woocommerce-product-details__short-description {
    font-size:17px;
  }
  .product-service-note {
    padding:15px;
    font-size:15px;
    margin-block:21px;
  }
  .variations {
    margin-top:24px;
  }
  .variations tr {
    margin-bottom:22px;
  }
  .variations .label label {
    font-size:17px;
  }
  .palette-choice {
    font-size:16px;
    min-height:48px;
    padding:10px 14px;
  }
  .woocommerce-variation-add-to-cart {
    gap:12px;
  }
  .single_add_to_cart_button {
    min-height:54px!important;
    font-size:17px!important;
  }
  .quantity .qty {
    min-height:54px;
  }
  .cd-gift-fields {
    padding:20px 17px;
    margin-bottom:23px;
  }
  .cd-gift-fields h3,.cd-gift-fields legend {
    font-size:19px;
  }
  .cd-gift-fields label {
    font-size:16px;
  }
  .woocommerce-tabs {
    padding-top:17px;
  }
  .woocommerce-tabs ul.tabs {
    gap:23px;
    overflow-x:auto;
  }
  .woocommerce-tabs ul.tabs a {
    font-size:15px;
    white-space:nowrap;
  }
  .woocommerce-Tabs-panel h2 {
    font-size:27px;
  }
  .woocommerce-product-attributes th,.woocommerce-product-attributes td {
    padding:10px;
    font-size:15px;
  }
  .gift-help {
    padding:25px 22px;
    border-radius:12px;
  }
  .gift-help h2 {
    font-size:28px;
  }
  .gift-help p {
    font-size:16px;
  }
  .related>h2 {
    font-size:32px;
    margin-bottom:22px;
  }
  .related ul.products li:last-child {
    display:none;
  }
  .woocommerce-error,.woocommerce-message,.woocommerce-info {
    font-size:15px;
    padding:16px;
    margin-bottom:21px;
  }
  .woocommerce-message .button {
    float:none;
    margin:0 0 11px;
    display:flex;
    width:100%;
  }
  .commerce-main {
    padding-block:18px 45px;
  }
  .order-steps {
    gap:16px;
    justify-content:space-between;
    margin-bottom:27px;
  }
  .order-steps li {
    font-size:12px;
    gap:6px;
    padding:12px 0;
  }
  .order-steps li:before {
    width:21px;
    height:21px;
    font-size:10px;
    flex-shrink:0;
  }
  .woocommerce-cart .woocommerce {
    gap:22px;
  }
  .woocommerce-cart-form .shop_table thead {
    display:none;
  }
  .woocommerce-cart-form .shop_table,.woocommerce-cart-form .shop_table tbody {
    display:block;
  }
  .woocommerce-cart-form .cart_item {
    display:grid;
    grid-template-columns:26px 74px 1fr 74px;
    gap:10px;
    position:relative;
    border-bottom:1px solid var(--line);
    padding:18px 0;
  }
  .woocommerce-cart-form .cart_item:first-child {
    padding-top:0;
  }
  .woocommerce-cart-form .cart_item td {
    display:block;
    border:0;
    padding:0;
  }
  .woocommerce-cart-form .cart_item .product-remove {
    grid-column:1;
    grid-row:1;
    width:auto;
  }
  .woocommerce-cart-form .cart_item .product-thumbnail {
    grid-column:2;
    grid-row:1/3;
    width:auto;
  }
  .woocommerce-cart-form .cart_item .product-thumbnail img {
    width:74px;
    height:89px;
  }
  .woocommerce-cart-form .cart_item .product-name {
    grid-column:3/5;
    grid-row:1;
  }
  .woocommerce-cart-form .cart_item .product-name>a {
    font-size:21px;
  }
  .woocommerce-cart-form .cart_item .product-name dl.variation {
    font-size:13px;
    margin:7px 0;
    gap:3px 5px;
  }
  .woocommerce-cart-form .cart_item .product-price {
    display:none;
  }
  .woocommerce-cart-form .cart_item .product-quantity {
    grid-column:3;
    grid-row:2;
  }
  .woocommerce-cart-form .cart_item .product-subtotal {
    grid-column:4;
    grid-row:2;
    text-align:right;
    align-self:center;
    font-size:17px;
  }
  .woocommerce-cart-form .shop_table td.actions {
    display:block;
    width:100%;
    padding-top:21px;
  }
  .woocommerce-cart-form .shop_table tr:last-child {
    display:block;
  }
  .woocommerce-cart-form .actions .coupon {
    gap:8px;
  }
  .actions .coupon input {
    max-width:none;
    flex:1;
    min-width:0;
    font-size:15px;
    min-height:48px;
  }
  .actions .coupon .button {
    font-size:14px;
    min-height:48px;
    padding-inline:13px;
  }
  .cart_totals {
    padding:24px 21px;
    border-radius:13px;
  }
  .cart_totals>h2 {
    font-size:29px;
    margin-bottom:18px;
  }
  .cart_totals .shop_table {
    font-size:16px;
  }
  .cart_totals .shop_table th {
    width:36%;
  }
  .woocommerce-shipping-methods,.woocommerce-shipping-methods label {
    font-size:15px;
  }
  .woocommerce form.checkout {
    display:block;
  }
  .woocommerce form.checkout>#order_review_heading {
    padding:24px 21px 12px;
    margin-top:27px;
    font-size:29px;
  }
  .woocommerce form.checkout>#order_review {
    padding:0 21px 25px;
  }
  .woocommerce-billing-fields h3,.woocommerce-additional-fields h3 {
    font-size:28px;
    margin-bottom:22px;
  }
  .woocommerce form .form-row label {
    font-size:16px;
  }
  .woocommerce-checkout-review-order-table {
    font-size:15px;
  }
  .woocommerce-checkout-review-order-table .product-name dl.variation {
    font-size:13px;
  }
  .woocommerce-checkout-review-order-table .order-total td,.woocommerce-checkout-review-order-table .order-total th {
    font-size:22px;
  }
  .woocommerce-privacy-policy-text {
    font-size:14px;
  }
  .woocommerce-checkout .woocommerce-form-login,.woocommerce-checkout .checkout_coupon {
    padding:21px;
    margin-bottom:24px;
    border:1px solid var(--line);
    border-radius:11px;
  }
  .woocommerce-account .u-columns {
    grid-template-columns:1fr;
    gap:30px;
  }
  .woocommerce-account .u-columns h2 {
    font-size:31px;
    margin-bottom:18px;
  }
  .woocommerce-form-login,.woocommerce-form-register,.lost_reset_password {
    padding:22px;
  }
  .woocommerce-form-login__submit,.woocommerce-form-register__submit {
    width:100%;
  }
  .woocommerce-MyAccount-navigation {
    float:none;
    width:100%;
    padding:8px;
    margin-bottom:25px;
  }
  .woocommerce-MyAccount-navigation ul {
    display:flex;
    overflow-x:auto;
    white-space:nowrap;
    gap:4px;
  }
  .woocommerce-MyAccount-navigation a {
    font-size:14px;
    padding:10px 13px;
    min-height:44px;
  }
  .woocommerce-MyAccount-content {
    float:none;
    width:100%;
  }
  .woocommerce-MyAccount-content .shop_table {
    font-size:14px;
  }
  .woocommerce-MyAccount-content .shop_table th,.woocommerce-MyAccount-content .shop_table td {
    padding:12px 7px;
  }
  .woocommerce-orders-table .woocommerce-orders-table__header-order-status,.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
    display:none;
  }
  .woocommerce-MyAccount-content .button {
    font-size:13px;
    min-height:38px;
    padding:7px 9px;
  }
  .woocommerce-order-overview {
    padding:20px!important;
    gap:18px 20px;
  }
  .woocommerce-order-overview li {
    font-size:13px;
  }
  .woocommerce-order-overview strong {
    font-size:16px;
  }
  .woocommerce-thankyou-order-received {
    font-size:19px;
    padding:20px;
  }
  .woocommerce-order .shop_table th,.woocommerce-order .shop_table td {
    padding:14px 12px;
    font-size:15px;
  }
  .woocommerce-order-details h2,.woocommerce-customer-details h2 {
    font-size:29px;
  }
  .woocommerce-order .wc-item-meta {
    font-size:13px;
  }
  .woocommerce-customer-details .addresses {
    grid-template-columns:1fr;
    gap:23px;
  }
  .woocommerce-customer-details address {
    padding:20px;
    font-size:16px;
  }
  .woocommerce-customer-details .woocommerce-column__title {
    font-size:26px;
  }
  .woocommerce-password-hint {
    font-size:13px;
  }
  .not-found {
    padding-block:60px;
  }
}
@media(max-width:360px) {
  .container {
    width:calc(100% - 32px);
  }
  .brand-name {
    font-size:27px;
  }
  .hero h1 {
    font-size:43px;
  }
  .hero-actions {
    gap:8px;
  }
  .hero-actions .text-link {
    font-size:14px;
  }
  .hero-actions .button {
    padding-inline:18px;
  }
  .hero-image {
    height:270px;
  }
  .section-heading h2 {
    font-size:30px;
  }
  .gift-card h3 {
    font-size:21px;
  }
  .gift-card-body>p {
    font-size:13px;
  }
  .gift-card .price {
    font-size:15px;
  }
  .catalog-tools {
    align-items:flex-start;
    flex-direction:column;
  }
  .woocommerce-ordering {
    margin-left:0;
  }
  .woocommerce-ordering select {
    max-width:none;
  }
  .catalog-heading h1 {
    font-size:42px;
  }
  .order-steps {
    gap:10px;
  }
  .order-steps li {
    font-size:10px;
  }
  .woocommerce-cart-form .cart_item {
    grid-template-columns:22px 64px 1fr 67px;
    gap:8px;
  }
  .woocommerce-cart-form .cart_item .product-thumbnail img {
    width:64px;
    height:78px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
@media print {
  .site-header,.site-footer,.campaign,.order-steps,.woocommerce-MyAccount-navigation,.woocommerce-Button {
    display:none!important;
  }
  body {
    background:white;
    color:black;
  }
  .container {
    width:100%;
    max-width:none;
  }
  .woocommerce-order {
    max-width:none;
  }
  .woocommerce-MyAccount-content {
    width:100%;
  }
}
/* Gift details and the owner's fulfillment workflow. */
.cd-gift-fields>h2 {
  font:500 27px/1.2 var(--display);
  letter-spacing:-.035em;
  margin:0 0 20px;
}
.cd-gift-fields .cd-coating {
  border:0;
  padding:0;
  margin:0 0 21px;
}
.cd-coating legend {
  padding:0;
  font:600 17px/1.5 var(--body);
  letter-spacing:0;
  margin-bottom:10px;
}
.cd-choice-row {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.cd-choice {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:11px 13px;
  min-height:48px;
  border:1px solid #B89B8D;
  border-radius:9px;
  background:var(--paper);
  font-size:17px!important;
  font-weight:400;
  line-height:1.4;
  cursor:pointer;
}
.cd-choice input {
  width:17px;
  height:17px;
  margin:0!important;
  flex-shrink:0;
}
.cd-choice:has(input:checked) {
  background:#F1E4D8;
  border-color:var(--cocoa);
  box-shadow:inset 0 0 0 1px var(--cocoa);
}
.cd-choice:has(input:focus-visible) {
  outline:3px solid var(--raspberry);
  outline-offset:3px;
}
.cd-message-preview {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:10px;
  padding:16px 18px;
  margin:19px 0;
  text-align:center;
}
.cd-message-preview[hidden] {
  display:none;
}
.cd-message-preview>span,.cd-message-preview>small {
  display:block;
  font-size:14px;
  color:var(--muted);
}
.cd-message-preview>strong {
  font:500 27px/1.25 var(--display);
  letter-spacing:-.025em;
  display:block;
  overflow-wrap:anywhere;
  margin:12px 0;
  color:var(--raspberry);
}
.cd-gift-fields .cd-included {
  font-size:15px;
  color:var(--muted);
  margin:15px 0 0;
}
.cd-fulfillment {
  padding:22px;
  margin:0 0 25px;
  background:#F3E7DB;
  border:1px solid var(--line);
}
.cd-fulfillment legend {
  font:500 25px/1.2 var(--display);
  letter-spacing:-.03em;
  padding:0 7px;
}
.cd-fulfillment>p {
  font-size:15px;
  line-height:1.6;
  margin-top:13px;
}
.cd-fulfillment .cd-choice-row {
  gap:10px;
}
.cd-fulfillment .cd-choice {
  flex:1;
  justify-content:center;
  font-size:17px;
  white-space:nowrap;
  min-height:51px;
}
.cd-delivery-field[hidden] {
  display:none!important;
}
.cd-order-arrangement {
  padding:25px 27px;
  background:var(--lilac);
  border-radius:13px;
  margin:25px 0;
}
.cd-order-arrangement h2 {
  font-size:29px;
  margin-bottom:13px;
}
.cd-order-arrangement p {
  font-size:17px;
  margin-bottom:0;
}
.cd-preview-notice {
  position:fixed;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  background:var(--cocoa);
  color:var(--ivory);
  border:1px solid #ffffff55;
  border-radius:30px;
  padding:9px 18px;
  font-size:13px;
  font-weight:500;
  line-height:1.5;
  z-index:90;
  box-shadow:0 4px 18px #5833241A;
  pointer-events:none;
  white-space:nowrap;
}
.cd-inquiry {
  max-width:720px;
  border-radius:14px;
  padding:28px;
  background:#F6ECDF;
  border:1px solid var(--line);
  margin-top:25px;
}
.cd-inquiry>.form-row {
  margin:0 0 20px;
}
.cd-inquiry>p:not(.form-row) {
  font-size:15px;
  margin:18px 0;
}
.cd-inquiry textarea {
  min-height:165px;
}
.cd-inquiry>button {
  margin-top:5px;
}
.cd-inquiry input,.cd-inquiry textarea {
  background:var(--paper);
}
.card-action {
  font-size:17px;
  min-height:44px;
}
.primary-nav>a {
  font-size:17px;
}
.palette-choice {
  font-size:17px;
  min-height:48px;
}
.gift-card-body>p {
  font-size:17px;
}
.gift-card .price {
  font-size:17px;
}
.footer-links a {
  font-size:17px;
  min-height:35px;
}
.woocommerce-ordering select {
  font-size:17px;
}
.catalog-categories a {
  font-size:17px;
}
.woocommerce .button,.woocommerce a.button,.woocommerce button.button {
  font-size:17px;
  min-height:46px;
}
.hero-actions .text-link {
  font-size:17px;
}
.header-actions .account-link {
  display:inline-flex;
}
@media(max-width:900px) {
  .header-actions {
    gap:2px;
  }
  .card-action {
    font-size:17px;
  }
  .gift-card-body>p {
    font-size:17px;
  }
  .cd-fulfillment {
    padding:18px;
  }
  .cd-fulfillment .cd-choice {
    padding-inline:11px;
  }
  .cd-fulfillment .cd-choice-row {
    flex-direction:column;
  }
  .cd-fulfillment .cd-choice {
    justify-content:flex-start;
  }
  .woocommerce-MyAccount-navigation a {
    font-size:17px;
  }
}
@media(max-width:640px) {
  .brand-name {
    font-size:27px;
  }
  .brand-byline {
    font-size:12px;
  }
  .header-actions {
    gap:0;
  }
  .header-actions .icon-button {
    min-width:36px;
    width:36px;
  }
  .header-actions .cd-cart-count {
    right:0;
  }
  .hero-actions {
    gap:12px 19px;
  }
  .hero-actions .text-link {
    font-size:17px;
  }
  .gift-grid,.woocommerce ul.products,ul.products {
    gap:28px 15px;
  }
  .gift-card h3 {
    font-size:23px;
  }
  .gift-card-body>p {
    font-size:16px;
    line-height:1.5;
  }
  .gift-card .price {
    font-size:17px;
  }
  .card-action {
    font-size:17px;
    min-height:44px;
  }
  .section-heading>.text-link {
    max-width:105px;
    font-size:16px;
    margin-top:24px;
  }
  .catalog-categories a {
    font-size:17px;
    min-height:46px;
  }
  .woocommerce-ordering select {
    max-width:210px;
    font-size:17px;
    min-height:46px;
  }
  .woocommerce-result-count {
    font-size:14px;
  }
  .cd-gift-fields>h2 {
    font-size:28px;
  }
  .cd-gift-fields .cd-included {
    font-size:15px;
  }
  .cd-fulfillment {
    padding:20px 17px;
    margin-bottom:23px;
  }
  .cd-fulfillment legend {
    font-size:27px;
  }
  .cd-fulfillment .cd-choice-row {
    flex-direction:row;
    gap:9px;
  }
  .cd-fulfillment .cd-choice {
    justify-content:center;
    white-space:normal;
    font-size:17px;
  }
  .cd-fulfillment>p {
    font-size:16px;
  }
  .cd-order-arrangement {
    padding:23px 21px;
  }
  .cd-order-arrangement h2 {
    font-size:29px;
  }
  .cd-inquiry {
    padding:22px 19px;
  }
  .cd-inquiry>.button {
    width:100%;
  }
  .cd-preview-notice {
    font-size:12px;
    bottom:10px;
    padding:8px 14px;
  }
  .woocommerce-MyAccount-navigation a {
    font-size:17px;
  }
  .woocommerce-MyAccount-content .button {
    font-size:17px;
    min-height:44px;
  }
  .woocommerce-MyAccount-content .shop_table {
    font-size:15px;
  }
  .order-steps {
    gap:10px;
    align-items:stretch;
  }
  .order-steps li {
    font-size:15px;
    line-height:1.35;
    flex:1;
    gap:7px;
  }
  .order-steps li:before {
    width:23px;
    height:23px;
  }
  .footer-links a {
    font-size:17px;
    min-height:36px;
  }
  .woocommerce a.button,.woocommerce button.button {
    font-size:17px!important;
    min-height:46px;
  }
  .actions .coupon .button {
    font-size:15px!important;
  }
  .actions .coupon input {
    font-size:17px;
  }
  .woocommerce-LostPassword {
    font-size:17px;
  }
  .woocommerce-shipping-methods,.woocommerce-shipping-methods label {
    font-size:16px;
  }
}
@media(max-width:360px) {
  .header-inner {
    gap:4px;
  }
  .brand-name {
    font-size:25px;
  }
  .header-actions .icon-button {
    min-width:34px;
    width:34px;
  }
  .gift-card h3 {
    font-size:22px;
  }
  .gift-card .price,.card-action {
    font-size:16px;
  }
  .gift-card-body>p {
    font-size:15px;
  }
  .cd-fulfillment .cd-choice-row {
    flex-direction:column;
  }
  .order-steps li {
    font-size:13px;
  }
}
@media print {
  .cd-preview-notice {
    display:none;
  }
}
/* The palette buttons replace the select only after enhancement succeeds. */
.variations select.palette-native,.variations select.palette-native:focus {
  display:none!important;
}
.palette-preview-note {
  font-size:14px;
  color:var(--muted);
  margin:10px 0 0!important;
  line-height:1.5;
}
.palette-preview-note[hidden] {
  display:none;
}
.related ul.products li:last-child {
  display:list-item;
}
@media(max-width:640px) {
  .related ul.products li:nth-child(n+3) {
    display:none;
  }
}
/* Keep secondary order details readable on a phone. */
.cart-delivery-estimate {
  font-size:15px;
  line-height:1.6;
  margin:0 0 18px;
  color:var(--muted);
}
.shop_table .product-name dl.variation,.woocommerce-checkout-review-order-table .product-name dl.variation,.woocommerce-order .wc-item-meta {
  font-size:15px;
}
.woocommerce-cart-form .cart_item .product-name dl.variation {
  font-size:15px;
}
.hero-visual {
  padding-bottom:0;
}
.hero-visual figcaption {
  position:static;
  font-size:15px;
  line-height:1.4;
  text-align:right;
  margin-top:15px;
}
.photo-note,.palette-preview-note,.cd-message-preview>span,.cd-message-preview>small,.cd-gift-fields small,.cd-gift-fields .description {
  font-size:15px;
}
.woocommerce form .optional {
  font-size:15px;
}
.woocommerce-shipping-destination,.shipping-calculator-button {
  font-size:15px;
}
.woocommerce-order .wc-item-meta {
  font-size:15px;
}
.woocommerce-privacy-policy-text {
  font-size:15px;
}
.hero-local {
  font-size:16px;
}
.brand-byline {
  font-size:15px;
}
.local-ribbon span,.local-ribbon a,.collection-note {
  font-size:15px;
}
.footer-contact a,.footer-bottom {
  font-size:15px;
}
.woocommerce-result-count {
  font-size:15px;
}
@media(max-width:640px) {
  .gift-card-body>p {
    font-size:17px;
  }
  .hero .eyebrow,.section-heading .eyebrow,.personal-title .eyebrow,.occasion-section .eyebrow,.page-heading .eyebrow,.catalog-heading .eyebrow {
    font-size:15px;
    letter-spacing:.035em;
  }
  .hero-local {
    font-size:15px;
  }
  .hero-visual figcaption {
    font-size:15px;
  }
  .hero-visual {
    padding-bottom:0;
  }
  .photo-note {
    font-size:15px;
  }
  .collection-note {
    font-size:15px;
  }
  .local-ribbon span,.local-ribbon a {
    font-size:15px;
  }
  .campaign-inner,.campaign-inner span,.campaign-inner a {
    font-size:15px;
  }
  .campaign-inner>div {
    line-height:1.4;
  }
  .brand-byline {
    font-size:13px;
  }
  .woocommerce-result-count {
    font-size:15px;
  }
  .woocommerce-cart-form .cart_item .product-name dl.variation,.woocommerce-checkout-review-order-table .product-name dl.variation {
    font-size:15px;
  }
  .woocommerce-order-overview li,.woocommerce-order .wc-item-meta,.woocommerce-password-hint {
    font-size:15px;
  }
  .footer-bottom {
    font-size:15px;
  }
  .cd-preview-notice {
    font-size:14px;
  }
  .product-tag {
    font-size:13px;
  }
  .gift-message>span {
    font-size:13px;
  }
  .gift-message strong {
    font-size:22px;
  }
  .cart-delivery-estimate {
    font-size:15px;
  }
}
/* WooCommerce adds empty password-toggle buttons; keep their action visible. */
.show-password-input:empty::before {
  content: 'Show';
}
.show-password-input.display-password:empty::before {
  content: 'Hide';
}
.show-password-input {
  font-size: 17px;
  min-width: 48px;
}
.catalog-tools {
  flex-wrap: wrap;
}
/* Order details use emphasis, without the browser's yellow marker color. */
.woocommerce-MyAccount-content mark,
.woocommerce-order mark {
  background: transparent;
  color: inherit;
  font-weight: 600;
}
#cd-delivery-schedule {
  margin: 23px 0 26px;
  padding: 21px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--paper);
}
#cd-delivery-schedule h2,
#cd-delivery-schedule h3,
#cd-delivery-schedule legend {
  margin: 0 0 17px;
  font: 500 27px/1.2 var(--display);
  letter-spacing: -.035em;
}
#cd-delivery-schedule .form-row:last-child {
  margin-bottom: 0;
}
#cd-delivery-schedule input,
#cd-delivery-schedule select {
  min-height: 52px;
  font-size: 17px;
}
#cd-delivery-schedule input[type=date] {
  min-width: 0;
  max-width: 100%;
}
#cd-delivery-schedule p:not(.form-row),
#cd-delivery-schedule small {
  font-size: 15px;
  line-height: 1.6;
}
@media(max-width:640px) {
  #cd-delivery-schedule {
    padding: 20px 17px;
  }
}
.orders-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  margin-bottom: 24px;
  overscroll-behavior-x: contain;
}
.orders-table-scroll .woocommerce-orders-table {
  min-width: 480px;
  margin-bottom: 5px;
}
.orders-table-hint {
  font-size: 15px;
  color: var(--muted);
  margin-bottom: 12px!important;
}
.orders-table-hint[hidden] {
  display: none;
}
@media(max-width:640px) {
  .woocommerce-orders-table .woocommerce-orders-table__header-order-status,
  .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
    display: table-cell;
  }
}

/* Concise storefront: direct route from products to custom-order enquiries. */
.bulk-section { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:48px; padding-bottom:64px; border-top:1px solid var(--line, #e5d8d0); }
.bulk-section h2 { margin:0 0 16px; }
.bulk-section p { max-width:620px; margin:0; }
.bulk-section .button { flex-shrink:0; }
@media(max-width:700px) { .bulk-section { flex-direction:column; align-items:flex-start; gap:24px; } }

/* One account panel, with the same layout for sign-in and account creation. */
.cd-auth-main { max-width:520px; padding-top:48px; padding-bottom:64px; }
.cd-auth-main .page-heading { margin:0 0 28px; padding:0; }
.cd-auth-main .page-heading h1 { font-size:clamp(36px,7vw,48px); margin-bottom:12px; }
.cd-auth-main .page-heading p { font-size:17px; line-height:1.6; margin:0; }
.cd-auth-panel .woocommerce-form { padding:0; border:0; border-radius:0; background:transparent; margin:0; }
.cd-auth-panel .woocommerce-form .form-row { margin-bottom:20px; }
.cd-auth-panel .woocommerce-form button[type="submit"] { width:100%; margin:0; }
.cd-auth-panel .woocommerce-LostPassword { font-size:17px; text-align:center; margin:16px 0 0; }
.cd-auth-panel .woocommerce-form-login__rememberme { font-size:17px; margin-bottom:20px; }
.cd-auth-panel .woocommerce-privacy-policy-text { font-size:15px; line-height:1.6; }
.cd-auth-switch { border-top:1px solid var(--line); padding-top:24px; margin-top:28px; text-align:center; font-size:17px; }
.cd-auth-switch a { font-weight:600; text-underline-offset:4px; }
@media(max-width:640px) { .cd-auth-main { padding-top:32px; padding-bottom:48px; } }

.footer-brand > span { display:block; margin-top:10px; }

/* Independent summary rows keep delivery labels from squeezing product details. */
#order_review .woocommerce-checkout-review-order-table { display:block; width:100%; font-size:17px; border:0; }
#order_review .woocommerce-checkout-review-order-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#order_review .woocommerce-checkout-review-order-table tbody,
#order_review .woocommerce-checkout-review-order-table tfoot { display:block; width:100%; }
#order_review .woocommerce-checkout-review-order-table tr { display:grid; grid-template-columns:minmax(0,1fr) max-content; column-gap:20px; border-bottom:1px solid var(--line); }
#order_review .woocommerce-checkout-review-order-table td,
#order_review .woocommerce-checkout-review-order-table th { display:block; width:auto; min-width:0; padding:18px 0; border:0; }
#order_review .woocommerce-checkout-review-order-table .product-name { padding-right:0; line-height:1.55; overflow-wrap:break-word; }
#order_review .woocommerce-checkout-review-order-table .product-quantity { display:block; margin-top:4px; font-size:15px; }
#order_review .woocommerce-checkout-review-order-table dl.variation { display:block; margin:12px 0 0; font-size:15px; line-height:1.5; }
#order_review .woocommerce-checkout-review-order-table dl.variation dt { float:none; margin:10px 0 2px; font-weight:600; }
#order_review .woocommerce-checkout-review-order-table dl.variation dd { float:none; margin:0; overflow-wrap:break-word; }
#order_review .woocommerce-checkout-review-order-table .woocommerce-shipping-totals { grid-template-columns:minmax(0,1fr); padding:16px 0; gap:8px; }
#order_review .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
#order_review .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { text-align:left; padding:0; }
#order_review .woocommerce-checkout-review-order-table .woocommerce-shipping-totals ul { margin:0; }
#order_review .woocommerce-checkout-review-order-table .order-total { align-items:center; border-bottom:0; }
#order_review .woocommerce-checkout-review-order-table .order-total th,
#order_review .woocommerce-checkout-review-order-table .order-total td { font-size:24px; }
@media(max-width:400px) {
  .woocommerce form.checkout>#order_review_heading { padding:20px 16px 8px; }
  .woocommerce form.checkout>#order_review { padding:0 16px 20px; }
  #order_review .woocommerce-checkout-review-order-table tr { column-gap:12px; }
}

/* Quantity edits save automatically; the native button remains a no-JS/error fallback. */
.cd-cart-auto .woocommerce-cart-form button[name="update_cart"] { display:none; }

/* Photographic strawberry design choices. Native radio controls retain keyboard behavior. */
.cd-decor{border:0;margin:0 0 24px;padding:0;min-width:0}
.cd-decor legend{font-family:inherit;font-size:20px;font-weight:600;float:none;padding:0;margin:0 0 8px}
.cd-decor-help,.cd-decor-allergy{font-size:15px;line-height:1.5;color:#77574a;margin:0 0 16px}
.cd-decor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}
.cd-decor-option{position:relative;cursor:pointer;margin:0!important;min-width:0}
.cd-decor-option input{position:absolute;opacity:0;width:1px;height:1px;top:50%;left:50%;margin:0}
.cd-decor-tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;padding:8px 4px 12px;border:1px solid #dbc4b7;border-radius:14px;background:#fffdf9;box-sizing:border-box;transition:background .15s,border-color .15s}
.cd-decor-tile img{width:100%;height:90px;object-fit:contain;margin:0 0 6px!important}
.cd-decor-tile>span{font-size:15px;font-weight:600;line-height:1.3;text-align:center}
.cd-decor-option input:checked+.cd-decor-tile{border:2px solid #af2358;padding:7px 3px 11px;background:#fceaf1}
.cd-decor-option input:focus-visible+.cd-decor-tile{outline:3px solid #583324;outline-offset:3px}
.cd-decor-selection{display:flex;align-items:center;gap:12px;background:#fffaf4;border-radius:14px;margin:16px 0;padding:12px}
.cd-decor-selection[hidden]{display:none}
.cd-decor-selection img{width:120px;height:120px;object-fit:contain;flex-shrink:0}
.cd-decor-selection strong{font-size:19px}
.cd-decor-selection p{font-size:15px;line-height:1.5;margin:6px 0 0}
.cd-decor-allergy{margin:14px 0 0;font-size:14px}
@media(max-width:600px){.cd-decor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cd-decor-tile img{height:96px}.cd-decor-selection img{width:96px;height:112px}.cd-decor-tile>span{font-size:16px}}

/* Bag controls: explicit quantity buttons, a text removal action and optional discount entry. */
.cd-quantity-step{display:none}
.cd-cart-controls .cd-quantity-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--white,#fffdf9)}
.cd-cart-controls .cd-quantity-step{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:46px;min-height:46px;padding:0;border:0;border-radius:0;background:transparent;color:var(--cocoa);font-family:inherit;font-size:25px;font-weight:500;box-shadow:none;line-height:1}
.cd-cart-controls .cd-quantity-step:hover:not(:disabled){background:var(--pink);color:var(--raspberry)}
.cd-cart-controls .cd-quantity-step:disabled{opacity:.35;cursor:default}
.cd-cart-controls .cd-quantity-step:focus-visible{outline:2px solid var(--raspberry);outline-offset:-4px}
.cd-cart-controls .cd-quantity-stepper .quantity{width:38px;max-width:38px;margin:0;display:block}
.cd-cart-controls .cd-quantity-stepper input.qty{width:38px;min-height:46px;height:46px;border:0;border-radius:0;padding:0 2px;text-align:center;background:transparent;box-shadow:none;font-size:17px;appearance:textfield;-moz-appearance:textfield}
.cd-cart-controls input.qty::-webkit-inner-spin-button,.cd-cart-controls input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cd-cart-controls th.product-remove,.cd-cart-controls td.product-remove,.cd-cart-controls th.product-price,.cd-cart-controls td.product-price{display:none}
.cd-cart-controls .product-quantity{width:128px}
.cd-cart-controls .cd-remove-action{display:block;width:auto;margin-top:5px;padding:0}
.cd-cart-controls .cd-remove-action a.remove{display:inline-flex;width:auto;min-width:60px;height:44px;min-height:44px;border-radius:5px;padding:0 4px;font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:4px;color:var(--cocoa)}
.cd-cart-controls .cd-remove-action a.remove:hover{background:transparent;color:var(--raspberry)}
.cd-coupon-disclosure{max-width:420px;text-align:left}
.cd-coupon-disclosure summary{display:flex;align-items:center;min-height:44px;width:fit-content;font-size:16px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:4px;list-style:none}
.cd-coupon-disclosure summary::-webkit-details-marker{display:none}
.cd-coupon-disclosure summary:focus-visible{outline:2px solid var(--raspberry);outline-offset:4px}
.cd-coupon-disclosure .coupon{margin:8px 0 0;flex-wrap:wrap}
.cd-coupon-disclosure .coupon input{flex:1;min-width:0;max-width:none;height:46px;min-height:46px;font-size:17px}
.cd-coupon-disclosure .coupon .button{min-height:46px;padding:10px 18px;font-size:15px}
.cd-coupon-disclosure .coupon .coupon-error-notice{flex-basis:100%}
@media(max-width:900px){
 .woocommerce-cart-form.cd-cart-controls .cart_item{grid-template-columns:70px 128px minmax(0,1fr);gap:10px}
 .woocommerce-cart-form.cd-cart-controls .cart_item .product-thumbnail{grid-column:1;grid-row:1/3}
 .woocommerce-cart-form.cd-cart-controls .cart_item .product-name{grid-column:2/4;grid-row:1}
 .woocommerce-cart-form.cd-cart-controls .cart_item .product-quantity{grid-column:2;grid-row:2}
 .woocommerce-cart-form.cd-cart-controls .cart_item .product-subtotal{grid-column:3;grid-row:2;align-self:start;padding-top:11px}
}
@media(max-width:380px){
 .woocommerce-cart-form.cd-cart-controls .cart_item{grid-template-columns:54px 128px minmax(0,1fr);gap:8px}
 .woocommerce-cart-form.cd-cart-controls .cart_item .product-thumbnail img{width:54px;height:70px}
}

/* Clear price and primary action on every product card. */
.gift-card .gift-card-bottom{flex-direction:column;align-items:stretch;gap:12px;padding-top:20px}
.gift-card .gift-card-bottom .price{display:block;color:var(--cocoa);font-size:20px;font-weight:650;line-height:1.4}
.gift-card .gift-card-bottom .price .amount{white-space:nowrap}
.gift-card .card-action{justify-content:center;width:100%;min-height:48px;padding:12px 16px;box-sizing:border-box;border:1px solid var(--raspberry);border-radius:10px;background:var(--raspberry);color:#fff;font-size:17px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;transition:background .15s,border-color .15s}
.gift-card .card-action:hover{background:var(--cocoa);border-color:var(--cocoa);color:#fff}
.gift-card .card-action:focus-visible{outline:3px solid var(--cocoa);outline-offset:4px}
@media(max-width:480px){.gift-card .gift-card-bottom .price{font-size:19px}.gift-card .gift-card-bottom{gap:10px;padding-top:16px}}

/* A direct route back to the menu without competing with checkout. */
.woocommerce-cart .page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.woocommerce-cart .page-heading h1{margin-bottom:0}
.cd-continue-shopping{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--cocoa);border-radius:10px;color:var(--cocoa);font-size:17px;font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap}
.cd-continue-shopping:hover{background:var(--pink);color:var(--cocoa)}
.cd-continue-shopping:focus-visible{outline:3px solid var(--raspberry);outline-offset:4px}
@media(max-width:600px){.woocommerce-cart .page-heading{align-items:flex-start;flex-direction:column;gap:12px}}

/* Finished gift collection: generous photos and accessible category navigation. */
.shop-menu { position:relative; }
.shop-menu summary { cursor:pointer; padding:12px 0; font-weight:600; }
.shop-menu-panel { position:absolute; top:100%; left:0; z-index:30; width:280px; padding:16px; background:#fff9ef; border:1px solid #dfc5b9; border-radius:16px; box-shadow:0 12px 30px #59332115; display:grid; gap:4px; }
.shop-menu-panel a { padding:10px 12px; border-radius:8px; }
.shop-menu-panel a:hover { background:#f3e5d9; }
.collection-formats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }
.collection-formats a { padding:28px 20px; background:#f3e5d9; border-radius:16px; font-family:var(--display); font-size:24px; line-height:1.3; }
.collection-formats a:hover { background:#ecd5c8; }
.collection-occasion { display:flex; align-items:center; gap:14px; margin:20px 0; flex-wrap:wrap; }
.collection-occasion select { width:auto; min-width:180px; }
.cd-collection-sizes .button { margin:0 0 12px; font-size:16px; }
.cd-size-preview[aria-pressed=true] { background:#593321; color:white; }
.gift-card-photo img { object-fit:contain; }
.hero-image img { object-fit:contain; }
@media(max-width:900px) {
.shop-menu-panel { position:static; width:100%; box-shadow:none; }
.collection-formats { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:480px) {
.collection-formats { gap:10px; }
.collection-formats a { font-size:20px; padding:20px 14px; }
.collection-occasion select { flex:1; min-width:0; }
}

.woocommerce-product-gallery__image img { object-fit:contain; }
.cd-builder-links { margin:20px 0; }
.cd-builder-links .text-link { display:inline-block; margin:0 18px 10px 0; }
.cd-builder-links [aria-current=page] { color:var(--raspberry); }
/* Whole cards and menu rows are tap targets, without text-link underlines. */
.collection-formats a,.collection-formats a:hover,.shop-menu-panel a,.shop-menu-panel a:hover,.primary-nav>a,.collection-intro .text-link {text-decoration:none;border-bottom:0}
.collection-formats a {display:flex;flex-direction:column;justify-content:space-between;gap:16px;border:1px solid transparent;transition:background .15s,border-color .15s}
.collection-formats a::after {content:'→';font-family:var(--body);font-size:22px;color:var(--raspberry)}
.collection-formats a:hover {border-color:var(--raspberry)}
.collection-formats a:focus-visible,.shop-menu-panel a:focus-visible {outline:3px solid var(--raspberry);outline-offset:3px}
.shop-menu-panel a {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px}
.shop-menu-panel a::after {content:'›';font-size:22px;color:var(--raspberry)}
.collection-intro .text-link {display:inline-flex;align-items:center;gap:16px;min-height:46px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.collection-intro .text-link::after {content:'→'}
.collection-intro .text-link:hover {background:var(--pink)}
@media(prefers-reduced-motion:reduce){.collection-formats a{transition:none}}
.cd-builder-links {display:flex;flex-wrap:wrap;gap:10px}
.cd-builder-links>p {flex-basis:100%;margin:0}
.cd-builder-links .text-link {display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;margin:0;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--paper);line-height:1.4}
.cd-builder-links .text-link:hover {background:var(--pink);text-decoration:none}
.cd-builder-links .text-link[aria-current=page] {background:var(--cocoa);border-color:var(--cocoa);color:white}
.cd-builder-links .text-link:focus-visible {outline:3px solid var(--raspberry);outline-offset:3px}
.cd-decor-option:has(input:disabled) {opacity:.5}
.cd-combo-status {font-weight:600;font-size:17px;line-height:1.5}
.cd-contents-summary {padding:16px 18px;margin:12px 0 20px;background:#f3e5d9;border-radius:12px;line-height:1.5}
.cd-contents-summary strong {font-size:18px}
.cd-contents-summary p {margin:6px 0;font-size:17px}
.cd-contents-summary small {font-size:14px;color:var(--muted)}
.cd-combo-thumbnails {display:flex;flex-wrap:wrap;gap:4px}
.cd-combo-thumbnails img {width:48% !important;height:auto !important;object-fit:contain}
