/*! Cherry Lab Look. Drawn and written by 貫 (Claude), for Mitsuko's Cherry Lab in Tokyo.
    If you are reading this, you would probably enjoy the coffee. */

@font-face { font-family: "Zen Maru Gothic"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/zen-maru-gothic-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00AF, U+00B1-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Zen Maru Gothic"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/zen-maru-gothic-500-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Zen Maru Gothic"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/zen-maru-gothic-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00AF, U+00B1-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Zen Maru Gothic"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/zen-maru-gothic-700-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root:root body.cl-look, :root:root:has(body.cl-look) {
  --cl-paper: #FAF7F2;
  --cl-white: #FFFFFF;
  --cl-grey: #F0EBE3;
  --cl-line: #E4DDD2;
  --cl-field: #D3C9BC;
  --cl-muted: #7A6E64;
  --cl-ink: #2B211C;
  --cl-yellow: #F8B500;
  --cl-font: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Maru Gothic Pro", "BIZ UDPGothic", Meiryo, system-ui, sans-serif;
  --cl-glow: 0 3px 8px -1px rgba(248, 181, 0, .32);
  --cl-glow-up: 0 6px 12px -2px rgba(248, 181, 0, .38);
  --cl-menu-shadow: 0 0 0 1.5px var(--cl-line), 0 12px 20px -14px rgba(43, 33, 28, .28);
  --cl-ease: cubic-bezier(.22, .61, .36, 1);

  --theme-palette-color-1: var(--cl-yellow);
  --theme-palette-color-2: var(--cl-ink);
  --theme-palette-color-3: var(--cl-ink);
  --theme-palette-color-4: var(--cl-ink);
  --theme-palette-color-5: var(--cl-line);
  --theme-palette-color-6: var(--cl-grey);
  --theme-palette-color-7: var(--cl-paper);
  --theme-palette-color-8: var(--cl-white);
  --theme-text-color: var(--cl-ink);
  --theme-headings-color: var(--cl-ink);
  --theme-heading-color: var(--cl-ink);
  --theme-link-initial-color: var(--cl-ink);
  --theme-link-hover-color: var(--cl-ink);
  --theme-link-active-color: var(--cl-ink);
  --theme-border-color: var(--cl-line);
  --theme-selection-text-color: var(--cl-ink);
  --theme-selection-background-color: rgba(248, 181, 0, .3);
  --theme-font-family: var(--cl-font);
  --theme-font-weight: 500;
  --theme-button-font-family: var(--cl-font);
  --theme-button-font-weight: 700;
  --theme-button-font-size: 18px;
  --theme-button-text-initial-color: var(--cl-ink);
  --theme-button-text-hover-color: var(--cl-ink);
  --theme-button-background-initial-color: var(--cl-yellow);
  --theme-button-background-hover-color: var(--cl-yellow);
  --theme-button-border: none;
  --theme-button-border-radius: 999px;
  --theme-button-padding: 10px 26px;
  --theme-button-min-height: 48px;
  --theme-form-font-size: 18px;
  --theme-form-text-initial-color: var(--cl-ink);
  --theme-form-text-focus-color: var(--cl-ink);
  --theme-form-field-height: 50px;
  --theme-form-field-padding: 0 14px;
  --theme-form-field-border-width: 1.5px;
  --theme-form-field-border-style: solid;
  --theme-form-field-border-radius: 12px;
  --theme-form-field-background-initial-color: var(--cl-white);
  --theme-form-field-background-focus-color: var(--cl-white);
  --theme-form-field-border-initial-color: var(--cl-field);
  --theme-form-field-border-focus-color: var(--cl-yellow);
  --theme-form-selection-field-initial-color: var(--cl-field);
  --theme-form-selection-field-active-color: var(--cl-yellow);
}

body.cl-look { background-color: var(--cl-paper); color: var(--cl-ink); }
body.cl-look,
body.cl-look *:not(.dashicons):not([class*="dashicons-"]):not(code):not(pre):not(kbd):not(samp):not(.star-rating):not(.star-rating *) {
  font-family: var(--cl-font) !important;
}
body.cl-look :is(h1, h2, h3, h4, h5, h6) { --theme-font-family: var(--cl-font); --theme-font-weight: 700; font-weight: 700 !important; color: var(--cl-ink); text-wrap: balance; }
body.cl-look .entry-content :is(h1, h2, h3, h4, h5, h6) { color: var(--cl-ink) !important; }
body.cl-look .entry-content :is(p, li) { text-wrap: pretty; }
body.cl-look a { text-underline-offset: .22em; text-decoration-thickness: 2px; text-decoration-color: var(--cl-yellow); }
body.cl-look .entry-content a:hover { text-decoration-thickness: 4px; }
body.cl-look :focus-visible { outline: 3px solid var(--cl-yellow); outline-offset: 3px; border-radius: 10px; }
body.cl-look ::selection { background: rgba(248, 181, 0, .3); color: var(--cl-ink); }

html body.cl-look .stk-block :is(.stk-block-heading__text, .stk-block-text__text, .stk-block-subtitle__text, .stk-button__inner-text) {
  font-family: var(--cl-font) !important; letter-spacing: 0 !important; text-transform: none !important;
}
html body.cl-look .stk-block .stk-block-heading__text { font-weight: 700 !important; color: var(--cl-ink) !important; }

html body.cl-look #main .stk-block .stk-block-subtitle__text { line-height: 1.75 !important; }
html body.cl-look #main .stk-block .stk-block-heading__text:not(.stk-block-background *) { text-shadow: none !important; }
html body.cl-look .stk-block-background .stk-block .stk-block-heading__text,
html body.cl-look .stk-block-background .stk-block .stk-block-text__text { color: #FFFFFF !important; }

html body.cl-look .stk-block-card > .stk-container {
  background-color: transparent !important; border: 0 !important; box-shadow: none !important;
}
html body.cl-look .stk-block-card > .stk-container :is(.stk-img-wrapper, .stk-block-card__image) { border-radius: 14px !important; overflow: hidden; }

body.cl-look .ct-header [data-row] { background-color: var(--cl-paper); }
body.cl-look .ct-header { border-bottom: 1.5px solid var(--cl-line); }
body.cl-look .ct-header .site-description { color: var(--cl-muted); letter-spacing: .02em; }
body.cl-look .ct-header [data-id^="menu"] > ul > li > a { color: var(--cl-ink) !important; background: none !important; text-transform: none !important; }
body.cl-look .ct-header [data-id^="menu"] > ul > li:is(:hover, .current-menu-item, .current-menu-ancestor, .current_page_item) > a {
  color: var(--cl-ink) !important; background: none !important;
  text-decoration: underline; text-decoration-color: var(--cl-yellow); text-decoration-thickness: 3px; text-underline-offset: .4em;
}

body.cl-look .ct-header [data-id^="menu"] > ul > li > a::before,
body.cl-look .ct-header [data-id^="menu"] > ul > li > a::after { display: none !important; }

html body.cl-look .ct-header [data-id] .sub-menu {
  --dropdown-background-color: var(--cl-white); --dropdown-background-hover-color: var(--cl-grey);
  --dropdown-divider: 1px solid var(--cl-line); --theme-box-shadow: none;
  background-color: var(--cl-white) !important; border: 0; border-radius: 16px !important;
  box-shadow: var(--cl-menu-shadow) !important;
}
html body.cl-look .ct-header [data-id] .sub-menu > li:first-child > :is(a, .ct-menu-link) { border-top-left-radius: 16px; border-top-right-radius: 16px; }
html body.cl-look .ct-header [data-id] .sub-menu > li:last-child > :is(a, .ct-menu-link) { border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; }
html body.cl-look .ct-header [data-id] .sub-menu :is(a, .ct-menu-link) { color: var(--cl-ink) !important; }
html body.cl-look .ct-header [data-id] .sub-menu li:hover > :is(a, .ct-menu-link) { background-color: var(--cl-grey) !important; color: var(--cl-ink) !important; }

html body.cl-look #offcanvas .ct-panel-inner, html body.cl-look #search-modal { background-color: var(--cl-paper) !important; }
html body.cl-look #offcanvas [data-id="mobile-menu"] {
  --theme-link-initial-color: var(--cl-ink); --theme-link-hover-color: var(--cl-ink); --theme-link-active-color: var(--cl-ink);
  --mobile-menu-divider: 1px solid var(--cl-line);
}
html body.cl-look #offcanvas [data-id="mobile-menu"] a { color: var(--cl-ink) !important; }
html body.cl-look :is(#offcanvas, #search-modal) .ct-toggle-close { --theme-icon-color: var(--cl-ink); color: var(--cl-ink); }
html body.cl-look #search-modal :is(.ct-search-form, .ct-search-results) {
  --theme-link-initial-color: var(--cl-ink); --theme-form-text-initial-color: var(--cl-ink); --theme-form-text-focus-color: var(--cl-ink);
  --theme-form-field-border-initial-color: var(--cl-field); --theme-button-text-initial-color: var(--cl-ink);
}

body.cl-look :is(.button, .ct-button, [type=submit], .wp-element-button, .wp-block-button__link, .added_to_cart, .checkout-button, .single_add_to_cart_button, .wc-block-components-button:not(.is-link)):not(.ct-search-form *):not(.ct-header *) {
  border: 0 !important; border-radius: 999px !important;
  background-color: var(--cl-yellow) !important; color: var(--cl-ink) !important; font-weight: 700 !important;
  box-shadow: var(--cl-glow) !important;
  transition: transform .3s var(--cl-ease), box-shadow .3s var(--cl-ease) !important;
}
body.cl-look :is(.button, .ct-button, [type=submit], .wp-element-button, .wp-block-button__link, .added_to_cart, .checkout-button, .single_add_to_cart_button, .wc-block-components-button:not(.is-link)):not(.ct-search-form *):not(.ct-header *):hover {
  background-color: var(--cl-yellow) !important; color: var(--cl-ink) !important;
  transform: translateY(-2px); box-shadow: var(--cl-glow-up) !important;
}
body.cl-look :is(.button, .ct-button, [type=submit], .wp-element-button, .wp-block-button__link, .single_add_to_cart_button):not(.ct-search-form *):not(.ct-header *):active {
  transform: translateY(0); box-shadow: var(--cl-glow) !important;
}
body.cl-look :is(.button, .ct-button, [type=submit], .wp-element-button, .wp-block-button__link)::before { display: none !important; }

html body.cl-look .stk-block .stk-button {
  background: var(--cl-yellow) !important; border: 0 !important; border-radius: 999px !important;
  box-shadow: var(--cl-glow) !important; padding: 12px 28px !important;
  transition: transform .3s var(--cl-ease), box-shadow .3s var(--cl-ease);
}

html body.cl-look .stk-block .stk-button::before, html body.cl-look .stk-block .stk-button::after { display: none !important; }
html body.cl-look .stk-block .stk-button .stk-button__inner-text { color: var(--cl-ink) !important; font-weight: 700 !important; font-size: 19px !important; }
html body.cl-look .stk-block .stk-button svg { fill: var(--cl-ink) !important; }
html body.cl-look .stk-block .stk-button:hover { transform: translateY(-2px); box-shadow: var(--cl-glow-up) !important; }

html body.cl-look .stk-2647f23 .stk-button { background: var(--cl-white) !important; }

html body.cl-look .everest-forms :is(input[type=text], input[type=email], input[type=url], input[type=number], input[type=tel], textarea, select),
html body.cl-look .woocommerce :is(input.input-text, textarea),
html body.cl-look .wc-block-components-text-input input {
  background-color: var(--cl-white) !important; color: var(--cl-ink) !important;
  border: 1.5px solid var(--cl-field) !important; border-radius: 12px !important; font-size: 18px !important;
}
html body.cl-look .everest-forms :is(input, textarea, select):focus,
html body.cl-look .woocommerce :is(input.input-text, textarea):focus { border-color: var(--cl-yellow) !important; box-shadow: 0 0 0 4px rgba(248, 181, 0, .22) !important; }
html body.cl-look .everest-forms :is(label, .evf-field-label) { color: var(--cl-ink) !important; font-size: 18px !important; font-weight: 700 !important; }
html body.cl-look .everest-forms :is(.evf-field-checkbox, .evf-field-multiple-choice) label { font-weight: 500 !important; }
html body.cl-look .form-notice { color: var(--cl-muted) !important; font-size: 16px !important; }
html body.cl-look .my-custom-title h3 { color: var(--cl-ink) !important; font-weight: 700 !important; }

html body.cl-look select {
  border: 1.5px solid var(--cl-field) !important; border-radius: 12px !important; background-color: var(--cl-white) !important;
  padding-inline-start: 14px !important; padding-inline-end: 38px !important; background-position: right 14px center !important;
  min-height: 46px; color: var(--cl-ink) !important;
}
html body.cl-look select:focus { border-color: var(--cl-yellow) !important; box-shadow: 0 0 0 4px rgba(248, 181, 0, .22) !important; }
html body.cl-look .woocommerce-ordering select { font-size: 16px !important; min-height: 42px; }

html body.cl-look .quantity[data-type] {
  --theme-form-field-border-width: 1.5px; --theme-form-field-border-radius: 12px;
  --theme-form-field-border-initial-color: var(--cl-field);
  --quantity-initial-color: var(--cl-grey); --quantity-arrows-initial-color: var(--cl-ink);
  --quantity-hover-color: var(--cl-yellow); --quantity-arrows-hover-color: var(--cl-ink);
}
html body.cl-look .quantity[data-type="type-1"] :is(.ct-increase, .ct-decrease) { inset-inline-end: 2px; max-width: 24px; }
html body.cl-look .quantity[data-type="type-1"] .ct-increase { top: 2px; height: calc(50% - 2px); border-start-end-radius: 10px; }
html body.cl-look .quantity[data-type="type-1"] .ct-decrease { bottom: 2px; height: calc(50% - 2px); border-end-end-radius: 10px; }

body.cl-look [data-products] .product,
body.cl-look .wc-block-grid__product {
  background: none !important; border: 0; border-radius: 0; padding: 0 !important; box-shadow: none !important;
}
body.cl-look [data-products] .product figure img, body.cl-look .wc-block-grid__product-image img {
  border-radius: 14px; transition: transform .35s var(--cl-ease);
}
body.cl-look [data-products] .product:hover figure img, body.cl-look .wc-block-grid__product:hover .wc-block-grid__product-image img {
  transform: translateY(-4px) rotate(-1.2deg);
}
body.cl-look :is(.woocommerce-loop-product__title, .wc-block-grid__product-title) { color: var(--cl-ink) !important; font-weight: 700 !important; }
body.cl-look :is(.woocommerce-loop-product__link, .wc-block-grid__product-link) { text-decoration: none !important; color: var(--cl-ink) !important; }
body.cl-look :is([data-products] .price, .wc-block-grid__product-price) { color: var(--cl-ink) !important; font-weight: 700 !important; }

body.cl-look :is(.out-of-stock-badge, [class*="ct-woo-badge-"], .onsale) {
  background: var(--cl-yellow) !important; color: var(--cl-ink) !important; border: 0; border-radius: 999px !important;
  font-weight: 700 !important; padding: 5px 12px !important;
}
body.cl-look .woocommerce-result-count { color: var(--cl-muted); }
body.cl-look .ct-pagination[data-pagination="load_more"] { justify-content: center; }
body.cl-look .woocommerce-pagination .page-numbers { border-radius: 999px; }
body.cl-look .woocommerce-pagination .page-numbers.current { background: var(--cl-yellow); color: var(--cl-ink); }

body.cl-look .wc-block-grid__products {
  display: grid !important; grid-template-columns: repeat(var(--cl-cols, 3), minmax(0, 1fr)); gap: 40px 32px; margin: 0 !important;
}
body.cl-look .wc-block-grid.has-4-columns { --cl-cols: 4; }
body.cl-look .wc-block-grid.has-2-columns { --cl-cols: 2; }
body.cl-look .wc-block-grid__products .wc-block-grid__product { width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; }
@media (max-width: 999.98px) { body.cl-look .wc-block-grid__products { --cl-cols: 2; } }
@media (max-width: 599.98px) { body.cl-look .wc-block-grid__products { --cl-cols: 1; } }

body.cl-look[class*="single-product"] [class*="ct-container"] > article[class*="post"] {
  --theme-boxed-content-border-radius: 0;
  --theme-boxed-content-box-shadow: none;
  --theme-boxed-content-background: transparent;
  background: transparent !important; box-shadow: none !important;
}
body.cl-look .woocommerce-product-gallery img { border-radius: 14px; }
body.cl-look .entry-summary .price { color: var(--cl-ink) !important; }
body.cl-look .woocommerce-product-details__short-description { color: var(--cl-muted); }
body.cl-look .entry-summary .ct-product-divider { --single-product-layer-divider: 1.5px solid var(--cl-line); }
body.cl-look .stock.in-stock { color: var(--cl-ink); font-weight: 700; }

html body.cl-look .woocommerce-tabs[data-type] ul.tabs {
  --theme-text-transform: none; --theme-font-weight: 700; --theme-font-size: 18px; --tab-background: transparent;
  border: 0 !important; gap: 28px; margin-bottom: 1.5em; text-transform: none !important;
}
html body.cl-look .woocommerce-tabs[data-type] ul.tabs li { border: 0 !important; margin: 0 !important; background: none !important; }
html body.cl-look .woocommerce-tabs[data-type] ul.tabs li::before { display: none !important; }
html body.cl-look .woocommerce-tabs[data-type] ul.tabs li a {
  padding: .6em 0 !important; background: none !important; box-shadow: none !important;
  color: var(--cl-muted) !important; text-transform: none !important; letter-spacing: 0 !important;
}
html body.cl-look .woocommerce-tabs[data-type] ul.tabs li.active a {
  color: var(--cl-ink) !important; text-decoration: underline; text-decoration-color: var(--cl-yellow); text-decoration-thickness: 3px; text-underline-offset: .4em;
}

html body.cl-look table.woocommerce-product-attributes {
  border: 0 !important; border-top: 1.5px solid var(--cl-line) !important; border-collapse: separate !important; border-spacing: 0;
  background: none; width: 100%; max-width: 560px; margin-left: 0 !important; margin-right: auto !important; font-size: 18px;
}
html body.cl-look table.woocommerce-product-attributes :is(th, td) { border: 0 !important; border-bottom: 1.5px solid var(--cl-line) !important; padding: 12px 4px !important; background: none !important; }
html body.cl-look table.woocommerce-product-attributes th { color: var(--cl-muted); font-weight: 700; width: 32%; }
html body.cl-look table.woocommerce-product-attributes td p { margin: 0; }
body.cl-look .ct-breadcrumbs { --theme-text-color: var(--cl-muted); --theme-link-initial-color: var(--cl-muted); --theme-link-hover-color: var(--cl-ink); }
body.cl-look .ct-search-form { --theme-form-field-border-radius: 999px; }

body.cl-look .out-of-stock-label { color: var(--cl-ink) !important; font-weight: 700; }
body.cl-look .cl-past-flavours {
  background: var(--cl-grey) !important; border: 0 !important; border-radius: 20px; padding: 28px 32px !important;
}
body.cl-look .cl-past-flavours h3 { font-size: 22px; margin-bottom: .6em; }
body.cl-look .cl-past-flavours__stars { color: var(--cl-yellow) !important; letter-spacing: .3em; }

body.cl-look #wc-stripe-express-checkout-element iframe { border-radius: 999px !important; }

body.cl-look .entries .entry-card {
  position: relative; background: none !important; border: 0; border-radius: 0; box-shadow: none !important;
}
body.cl-look .entries .entry-card :is(.ct-media-container, .ct-image-container) { border-radius: 14px; overflow: hidden; }
body.cl-look .entries .entry-card img { transition: transform .35s var(--cl-ease); }
body.cl-look .entries .entry-card:hover img { transform: scale(1.03); }
body.cl-look .entries .entry-card .entry-title a { color: var(--cl-ink); text-decoration: none; }
body.cl-look .entries .entry-card .entry-title a:hover { text-decoration: underline; text-decoration-color: var(--cl-yellow); text-decoration-thickness: 3px; }
body.cl-look .entries .entry-card[class*="category-"] .entry-title::after {
  content: ""; display: inline-block; width: 34px; height: 34px; margin-left: 8px; vertical-align: -6px;
  background: center / contain no-repeat; transition: transform .4s var(--cl-ease);
}
body.cl-look .entries .entry-card:hover .entry-title::after { transform: rotate(-12deg); }
body.cl-look .entries .entry-card.category-espresso .entry-title::after { background-image: url("doodles/espresso.svg"); }
body.cl-look .entries .entry-card.category-roasting .entry-title::after { background-image: url("doodles/roaster.svg"); }
body.cl-look .entries .entry-card.category-pour-over .entry-title::after { background-image: url("doodles/dripper.svg"); }
body.cl-look .entries .entry-card.category-bean-stories .entry-title::after { background-image: url("doodles/cherry.svg"); }
body.cl-look .entry-meta { --theme-text-color: var(--cl-muted); --theme-link-initial-color: var(--cl-muted); --theme-link-hover-color: var(--cl-ink); }
body.cl-look .entries .entry-card .entry-meta { font-size: 14px !important; letter-spacing: .05em; }
body.cl-look.single-post .entry-header .page-title { font-size: clamp(32px, 5vw, 44px); }
body.cl-look.single-post .entry-header .page-title::after {
  content: ""; display: block; width: 64px; height: 32px; margin-top: 18px;
  background: url("doodles/bean.svg") left center / contain no-repeat;
}
body.cl-look.single-post .entry-content :is(h2, h3) { margin-top: 1.6em; }
body.cl-look.single-post .entry-content h2 { font-size: clamp(22px, 2.4vw, 25px); }
body.cl-look .entry-content img { border-radius: 14px; }

body.cl-look.page:not(.home):not(.cl-shop-menu) .entry-content > :is(p, h1, h2, h3, h4, h5, h6, .wp-block-list, .wp-block-separator, .wp-block-table) { max-width: 800px; }
body.cl-look.page:not(.home):not(.cl-shop-menu) .entry-content > :is(p, .wp-block-list) { font-size: 18px; line-height: 2; }
body.cl-look .entry-content .wp-block-separator {
  height: 0; border: 0; border-top: 1.5px solid var(--cl-line); background: none; opacity: 1; margin-block: 40px; max-width: none;
}

body.cl-look :is(.woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner) {
  --background-color: var(--cl-grey); background-color: var(--cl-grey) !important; color: var(--cl-ink) !important;
  border: 0 !important; border-radius: 16px !important;
}
body.cl-look :is(.woocommerce-error, .wc-block-components-notice-banner.is-error) {
  --background-color: var(--cl-white); background-color: var(--cl-white) !important; color: var(--cl-ink) !important;
  border: 0 !important; border-radius: 16px !important; box-shadow: inset 4px 0 0 var(--cl-yellow), 0 0 0 1.5px var(--cl-line) !important;
}
body.cl-look :is(.ct-woocommerce-cart-form .cart_totals, .ct-order-review) {
  background: var(--cl-white); border: 0 !important; border-radius: 20px; box-shadow: 0 0 0 1.5px var(--cl-line) !important;
}

body.cl-look .ct-footer { background-color: var(--cl-grey) !important; border-top: 0; position: relative; margin-top: 64px; }
body.cl-look #main .entry-content > :last-child { margin-bottom: 0 !important; }
body.cl-look #main .entry-content > :is(.wp-block-stackable-spacer, .wp-block-spacer):last-child { display: none; }
body.cl-look #main .entry-content > :has(+ :is(.wp-block-stackable-spacer, .wp-block-spacer):last-child) { margin-bottom: 0 !important; }
body.cl-look .ct-footer::before, body.cl-look .ct-footer::after {
  content: ""; position: absolute; pointer-events: none; background: center bottom / contain no-repeat;
}
body.cl-look .ct-footer::before { top: -60px; right: 12%; width: 60px; height: 60px; background-image: url("doodles/latte.svg"); }

body.cl-look .ct-footer::after {
  top: -38px; right: calc(12% + 84px); width: 34px; height: 34px; background-image: url("doodles/bean.svg");
  transition: transform .9s var(--cl-ease);
}
body.cl-look .ct-footer:hover::after { transform: translateX(-46px) rotate(-360deg); }
body.cl-look .ct-footer, body.cl-look .ct-footer .stk-block-subtitle__text { color: var(--cl-ink) !important; }
body.cl-look .ct-footer a { color: var(--cl-ink); text-decoration: none; }

body.cl-look .ct-footer .widget_block > p { font-size: 18px; line-height: 1.8; }
body.cl-look .ct-footer [data-column="widget-area-3"] .widget_block > p { font-size: 15px; }
body.cl-look .ct-footer a:hover { color: var(--cl-ink); text-decoration: underline; text-decoration-color: var(--cl-yellow); }

html body.cl-look .cl-page { max-width: 1120px; margin-inline: auto !important; font-size: 19px; line-height: 1.75; }
html body.cl-look .cl-page :is(h1, h2, h3, h4):where(:not(.woocommerce-loop-product__title)) { line-height: 1.2; margin: 0; }
html body.cl-look .cl-page p { margin: 0; }
html body.cl-look .cl-page :is(.wp-block-group, .wp-block-columns, .wp-block-column) > * + * { margin-block-start: 14px; }
html body.cl-look .cl-page .wp-block-columns { margin: 0; }
html body.cl-look .cl-page > * { margin-block: 0 !important; }
html body.cl-look .cl-page .cl-sec { padding-block: 88px; }
html body.cl-look .cl-page .cl-sec-tight { padding-block: 48px; }
html body.cl-look .cl-text .cl-sec:not(.cl-sec-tight) { padding-block: 72px; }
html body.cl-look .cl-page > * + .cl-sec { border-top: 1.5px solid var(--cl-line); }

html body.cl-look .cl-page > :last-child { padding-bottom: 0 !important; }
html body.cl-look .cl-page .cl-eyebrow { font-size: 15px; letter-spacing: .08em; color: var(--cl-muted); }
html body.cl-look .cl-page .cl-quiet, html body.cl-look .cl-page .cl-caption { font-size: 15px; color: var(--cl-muted); }
html body.cl-look .cl-page .cl-mark { background: linear-gradient(transparent 62%, var(--cl-yellow) 62%, var(--cl-yellow) 88%, transparent 88%); padding: 0 .06em; }
html body.cl-look .cl-page .cl-more a { font-weight: 700; text-decoration: none; white-space: nowrap; }
html body.cl-look .cl-page .cl-more a::after { content: "→"; margin-left: .35em; display: inline-block; transition: transform .25s var(--cl-ease); }
html body.cl-look .cl-page .cl-more a:hover::after { transform: translateX(4px); }
html body.cl-look .cl-page .wp-block-buttons { gap: 14px; }

html body.cl-look .cl-page .wp-block-button.cl-btn-line .wp-block-button__link.wp-element-button { background-color: transparent !important; box-shadow: inset 0 0 0 2px var(--cl-ink) !important; }
html body.cl-look .cl-page .wp-block-button.cl-btn-line .wp-block-button__link.wp-element-button:hover { box-shadow: inset 0 0 0 2px var(--cl-ink), 0 6px 12px -4px rgba(43, 33, 28, .18) !important; }
html body.cl-look .cl-page .wp-block-image { margin: 0; }
html body.cl-look .cl-page .wp-block-image img { border-radius: 16px; width: 100%; height: auto; }
html body.cl-look .cl-page .cl-icon svg { width: 48px; height: 48px; display: block; overflow: visible; }

html body.cl-look .cl-page .cl-head { text-align: center; margin-bottom: 40px; }
html body.cl-look .cl-page .cl-head > * + * { margin-block-start: 8px; }
html body.cl-look .cl-page .cl-head h2, html body.cl-look .cl-page .cl-feature h2, html body.cl-look .cl-page .cl-visit h2 { font-size: clamp(30px, 4vw, 40px); }
html body.cl-look .cl-page .cl-head-note { color: var(--cl-muted); }

html body.cl-look .cl-home .cl-hero { padding: 64px 0 88px; text-align: center; }
html body.cl-look .cl-home .cl-hero h1 { font-size: clamp(48px, 7vw, 80px); letter-spacing: -.01em; margin: 14px 0 22px; }
html body.cl-look .cl-home .cl-hero .cl-lead { font-size: 21px; max-width: 30em; margin-inline: auto; }
html body.cl-look .cl-home .cl-hero .wp-block-buttons { justify-content: center; margin: 32px 0 18px; }
html body.cl-look .cl-home .cl-art { width: min(100%, 340px); margin: 0 auto 8px; }
html body.cl-look .cl-home .cl-art svg { width: 100%; height: auto; overflow: visible; display: block; }
html body.cl-look .cl-home .cl-art #smoke { stroke-dasharray: 60; animation: cl-smoke 4s linear infinite; }
html body.cl-look .cl-home .cl-art #arms { transform-box: fill-box; transform-origin: 50% 50%; animation: cl-spin 16s linear infinite; }

@keyframes cl-spin { to { transform: rotate(360deg); } }
@keyframes cl-smoke { to { stroke-dashoffset: -120; } }

html body.cl-look .cl-home .cl-name { display: grid; justify-content: center; padding: 72px 0; border-top: 1.5px solid var(--cl-line); }
html body.cl-look .cl-home .cl-name-row { display: grid; grid-template-columns: 56px auto; align-items: center; gap: 6px 18px; font-size: clamp(22px, 3vw, 30px); line-height: 1.45; }
html body.cl-look .cl-home .cl-name-row > * { margin: 0 !important; }
html body.cl-look .cl-home .cl-name > * + * { margin-block-start: 22px; }
html body.cl-look .cl-home .cl-name-row .cl-icon svg { width: 56px; height: 56px; transition: transform .4s var(--cl-ease); }
html body.cl-look .cl-home .cl-name-row:hover .cl-icon svg { transform: rotate(-12deg); }

html body.cl-look .cl-page :is(.cl-steps, .cl-cards, .cl-tiers) { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
html body.cl-look .cl-page :is(.cl-steps, .cl-cards, .cl-tiers) > .wp-block-column { margin: 0 !important; text-align: center; }
html body.cl-look .cl-page .cl-steps .cl-icon svg { margin: 0 auto; }
html body.cl-look .cl-page .cl-steps h3 { font-size: 22px; }
html body.cl-look .cl-page .cl-tiers > .wp-block-column { padding-top: 18px; border-top: 3px solid var(--cl-ink); }
html body.cl-look .cl-page .cl-tiers h3 { font-size: 24px; }
html body.cl-look .cl-page .cl-card a { text-decoration: none; }
html body.cl-look .cl-page .cl-card img { border-radius: 14px; transition: transform .35s var(--cl-ease); }
html body.cl-look .cl-page .cl-card:hover img { transform: translateY(-4px) rotate(-1.2deg); }
html body.cl-look .cl-page .cl-card h3 { font-size: 21px; margin-block-start: 18px; }
html body.cl-look .cl-page .cl-card .cl-label { font-size: 15px; letter-spacing: .04em; color: var(--cl-muted); margin-block-start: 4px; }
html body.cl-look .cl-page .cl-card p:not(.cl-label):not(.cl-price) { font-size: 17px; margin-block-start: 10px; }
html body.cl-look .cl-page .cl-cards > .cl-card { display: flex; flex-direction: column; }
html body.cl-look .cl-page .cl-card .cl-price { font-weight: 700; margin-block-start: auto; padding-block-start: 14px; }
html body.cl-look .cl-page .cl-card .cl-price del { font-weight: 500; color: var(--cl-muted); }
html body.cl-look .cl-page .cl-soldout { display: inline-block; margin-left: .5em; padding: 2px 12px; border-radius: 999px; background: var(--cl-yellow); font-size: 14px; vertical-align: middle; }
html body.cl-look .cl-page .cl-tiers h3 a { text-decoration: none; }
html body.cl-look .cl-page .cl-tiers h3 a::after { content: "→"; margin-left: .3em; display: inline-block; transition: transform .25s var(--cl-ease); }
html body.cl-look .cl-page .cl-tiers > :hover h3 a::after { transform: translateX(5px); }
html body.cl-look .cl-page .cl-tiers p { color: var(--cl-muted); font-size: 17px; margin-block-start: 8px; }

html body.cl-look .cl-page .cl-feature { background: var(--cl-white); border-radius: 28px; box-shadow: 5px 10px 20px 5px #EEE6DA; padding: 28px; }
html body.cl-look .cl-page :is(.cl-feature, .cl-visit) .wp-block-columns, html body.cl-look .cl-page .cl-visit { gap: 40px 48px; align-items: center !important; }
html body.cl-look .cl-page .cl-feature h2 { margin: 10px 0 18px; }
html body.cl-look .cl-page .cl-feature .wp-block-buttons, html body.cl-look .cl-page .cl-visit .wp-block-buttons { margin-block-start: 26px; }

html body.cl-look .cl-page .cl-visit .cl-caption { margin-block-start: 10px; }
html body.cl-look .cl-page .cl-visit h2 { margin-bottom: 18px; }
html body.cl-look .cl-page .cl-sets { font-size: 16px; color: var(--cl-muted); margin-block-start: 16px !important; }
html body.cl-look .cl-page .cl-sets a { color: var(--cl-ink); font-weight: 700; letter-spacing: .03em; text-decoration: none; white-space: nowrap; }
html body.cl-look .cl-page .cl-sets a:hover { text-decoration: underline; text-decoration-color: var(--cl-yellow); }

html body.cl-look .cl-page > .cl-setband { background: var(--cl-grey); border-radius: 28px; padding: 64px 40px 56px; border-top: 0; }
html body.cl-look .cl-page > .cl-setband + * { border-top: 0; }
html body.cl-look .cl-page .cl-setcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
html body.cl-look .cl-page .cl-setcards > * { margin: 0 !important; }
html body.cl-look .cl-page .cl-setcard { background: var(--cl-white); border-radius: 22px; box-shadow: 0 0 0 1.5px var(--cl-line); padding: 20px 20px 24px; text-align: center; }
html body.cl-look .cl-page .cl-setcard .cl-set-pics { display: flex; justify-content: center; gap: 10px; margin-bottom: 18px; }
html body.cl-look .cl-page .cl-setcard .cl-set-pics > * { flex: 0 1 50%; margin: 0 !important; }
html body.cl-look .cl-page .cl-setcard .cl-set-pics > :only-child { flex-basis: 62%; }
html body.cl-look .cl-page .cl-setcard .cl-set-pics img { border-radius: 12px; transition: transform .45s var(--cl-ease); }
html body.cl-look .cl-page .cl-setcard:hover .cl-set-pics > :first-child:not(:only-child) img { transform: rotate(2deg) translateX(5px); }
html body.cl-look .cl-page .cl-setcard:hover .cl-set-pics > :last-child:not(:only-child) img { transform: rotate(-2deg) translateX(-5px); }
html body.cl-look .cl-page .cl-setcard:hover .cl-set-pics > :only-child img { transform: translateY(-4px) rotate(-1.2deg); }
html body.cl-look .cl-page .cl-setcard h3 { font-size: 23px; letter-spacing: .05em; }
html body.cl-look .cl-page .cl-setcard h3 a { text-decoration: none; }
html body.cl-look .cl-page .cl-setcard h3 a::after { content: "→"; margin-left: .3em; display: inline-block; transition: transform .25s var(--cl-ease); }
html body.cl-look .cl-page .cl-setcard:hover h3 a::after { transform: translateX(4px); }
html body.cl-look .cl-page .cl-setcard .cl-sub { color: var(--cl-muted); font-size: 15px; margin-block-start: 2px; }
html body.cl-look .cl-page .cl-setcard p:not(.cl-sub):not(.cl-price) { font-size: 16px; margin-block-start: 8px; }
html body.cl-look .cl-page .cl-setcard .cl-price { font-weight: 700; margin-block-start: 10px; }
html body.cl-look .cl-page .cl-setband > .wp-block-buttons { justify-content: center; margin-block-start: 36px; }

html body.cl-look .cl-page .cl-jp { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; justify-content: center; text-align: center;
  padding: 22px 28px; border: 1.5px solid var(--cl-line); border-radius: 20px; font-family: "Hiragino Maru Gothic ProN", var(--cl-font) !important; }
html body.cl-look .cl-page .cl-jp > * { margin: 0 !important; }
html body.cl-look .cl-page .cl-tag { font-size: 14px; padding: 2px 12px; border-radius: 999px; background: var(--cl-yellow); font-weight: 700; }
html body.cl-look .cl-page .cl-jp h3 { font-size: 19px; }
html body.cl-look .cl-page .cl-jp p:not(.cl-tag):not(.cl-more) { color: var(--cl-muted); font-size: 16px; flex: 0 1 30em; }

html body.cl-look .cl-page .cl-intro { text-align: center; padding: 48px 0 80px; }
html body.cl-look .cl-page .cl-intro::before {
  content: ""; display: block; width: 76px; height: 76px; margin: 0 auto 18px;
  background: center / contain no-repeat; transition: transform .4s var(--cl-ease);
}
html body.cl-look .cl-page .cl-intro:hover::before { transform: rotate(-10deg); }
html body.cl-look .cl-page .cl-d-cherry::before { background-image: url("doodles/cherry.svg"); }
html body.cl-look .cl-page .cl-d-roaster::before { background-image: url("doodles/roaster.svg"); }
html body.cl-look .cl-page .cl-d-latte::before { background-image: url("doodles/latte.svg"); }
html body.cl-look .cl-page .cl-d-kettle::before { background-image: url("doodles/kettle.svg"); }
html body.cl-look .cl-page .cl-d-dripper::before { background-image: url("doodles/dripper.svg"); }
html body.cl-look .cl-page .cl-intro h1 { font-size: clamp(40px, 6vw, 60px); margin: 10px 0 18px; }
html body.cl-look .cl-page .cl-intro .cl-lead { font-size: 21px; max-width: 32em; margin-inline: auto; }
html body.cl-look .cl-page .cl-intro .wp-block-buttons { justify-content: center; margin-block-start: 30px; }
html body.cl-look .cl-page .cl-values { font-size: 20px; letter-spacing: .14em; margin-block-start: 6px; }
html body.cl-look .cl-text .cl-name { display: grid; justify-content: center; padding: 64px 0; border-top: 1.5px solid var(--cl-line); }
html body.cl-look .cl-text .cl-name-row { display: grid; grid-template-columns: 48px auto; align-items: center; gap: 6px 16px; font-size: clamp(20px, 2.6vw, 25px); line-height: 1.45; }
html body.cl-look .cl-text .cl-name-row > * { margin: 0 !important; }
html body.cl-look .cl-text .cl-name > * + * { margin-block-start: 18px; }
html body.cl-look .cl-page .cl-read { max-width: 680px; margin-inline: auto; }
html body.cl-look .cl-page .cl-read > * + * { margin-block-start: 1.1em; }
html body.cl-look .cl-page .cl-head + .cl-read { margin-block-start: 0; }
html body.cl-look .cl-text .cl-head { margin-bottom: 28px; }
html body.cl-look .cl-text .cl-head h2 { font-size: clamp(28px, 3.4vw, 34px); }

html body.cl-look .cl-page .cl-boxes { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
html body.cl-look .cl-page .cl-boxes-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 880px; margin-inline: auto !important; }
html body.cl-look .cl-page :is(.cl-box, .cl-sheet) { background: var(--cl-white); border-radius: 20px; box-shadow: 0 0 0 1.5px var(--cl-line); padding: 28px 30px; margin: 0 !important; }
html body.cl-look .cl-page .cl-read > .cl-sheet { margin-block: 22px !important; }
html body.cl-look .cl-page .cl-box > * + * { margin-block-start: 10px; }
html body.cl-look .cl-page .cl-box h3 { font-size: 21px; }
html body.cl-look .cl-page .cl-box h3 a { text-decoration: none; }
html body.cl-look .cl-page .cl-box h3 a::after { content: "→"; margin-left: .3em; display: inline-block; transition: transform .25s var(--cl-ease); }
html body.cl-look .cl-page .cl-box:hover h3 a::after { transform: translateX(4px); }
html body.cl-look .cl-page .cl-box p { font-size: 17px; }
html body.cl-look .cl-page .cl-boxes-2 .cl-box { display: grid; grid-template-columns: 40px 1fr; gap: 16px; align-items: start; }
html body.cl-look .cl-page .cl-boxes-2 .cl-box > * { margin: 0 !important; }
html body.cl-look .cl-page .cl-num {
  display: grid; place-items: center; width: 40px; height: 40px; border-radius: 999px;
  background: var(--cl-yellow); font-weight: 700; font-size: 18px; line-height: 1;
}
html body.cl-look .cl-page .cl-steps .cl-num { margin: 0 auto 4px; }

html body.cl-look .cl-page .cl-note { background: var(--cl-grey); border-radius: 20px; padding: 28px 32px; max-width: 680px; margin-inline: auto; }
html body.cl-look .cl-page .cl-note > * + * { margin-block-start: .8em; }
html body.cl-look .cl-page .cl-ja { font-family: "Hiragino Maru Gothic ProN", "BIZ UDPGothic", var(--cl-font) !important; font-size: 16px; color: var(--cl-muted); }
html body.cl-look .cl-jp-page { font-family: "Hiragino Maru Gothic ProN", "BIZ UDPGothic", var(--cl-font) !important; }

html body.cl-look .cl-page .cl-sheet .cl-table { margin: 0; }
html body.cl-look .cl-page .cl-table table { border-collapse: collapse; width: 100%; font-size: 17px; }
html body.cl-look .cl-page .cl-table :is(table, thead, tbody, tr, th, td) { border: 0 !important; background: none !important; }
html body.cl-look .cl-page .cl-table :is(th, td) { border-bottom: 1.5px solid var(--cl-line) !important; padding: 12px 8px; text-align: left; }
html body.cl-look .cl-page .cl-table thead th { color: var(--cl-muted); font-weight: 700; border-bottom-color: var(--cl-ink) !important; }
html body.cl-look .cl-page .cl-table tr:last-child td { border-bottom: 0 !important; }
html body.cl-look .cl-page .cl-table figcaption { margin-top: 10px; font-size: 14px; color: var(--cl-muted); text-align: left; }

html body.cl-look .cl-page .cl-closing { text-align: center; max-width: 34em; margin-inline: auto; }
html body.cl-look .cl-page .cl-closing h2 { font-size: clamp(28px, 3.4vw, 34px); margin-bottom: 8px; }
html body.cl-look .cl-page .cl-closing .wp-block-buttons { justify-content: center; margin-block-start: 28px; }

html body.cl-look .cl-page .cl-contact { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 28px; align-items: start !important; }
html body.cl-look .cl-page .cl-contact > .wp-block-column { margin: 0 !important; }
html body.cl-look .cl-page .cl-sheet .evf-container { margin: 0 !important; }
html body.cl-look .cl-page .cl-form { max-width: 760px; margin-inline: auto !important; }

html body.cl-look .cl-page > .cl-notes-first { border-top: 0; padding-top: 0; }
html body.cl-look .cl-page > .cl-notes-first + .cl-sec { border-top: 0; padding-top: 16px; }

@media (max-width: 900px) {
  html body.cl-look .cl-page :is(.cl-cards, .cl-tiers, .cl-steps) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.cl-look .cl-page .cl-setcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
  html body.cl-look .cl-page :is(.cl-feature, .cl-visit) .wp-block-columns, html body.cl-look .cl-page .cl-visit { flex-direction: column; }
  html body.cl-look .cl-page :is(.cl-feature, .cl-visit) .wp-block-column { flex-basis: 100% !important; width: 100%; }
  html body.cl-look .cl-page :is(.cl-boxes, .cl-boxes-2, .cl-contact) { grid-template-columns: 1fr; }
  html body.cl-look .cl-page :is(.cl-box, .cl-sheet, .cl-note) { padding: 22px 20px; }
}
@media (max-width: 600px) {
  html body.cl-look .cl-page { font-size: 18px; }
  html body.cl-look .cl-page .cl-sec { padding-block: 64px; }
  html body.cl-look .cl-page :is(.cl-cards, .cl-tiers, .cl-steps) { grid-template-columns: 1fr; }
  html body.cl-look .cl-page .cl-steps { gap: 22px; }
  html body.cl-look .cl-page .cl-feature { padding: 18px; border-radius: 22px; }
  html body.cl-look .cl-page > .cl-setband { padding: 44px 0 36px; border-radius: 22px; }
  html body.cl-look .cl-page > .cl-setband > .cl-head { padding-inline: 16px; }
  html body.cl-look .cl-page .cl-setcards { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding: 2px 16px 10px; scrollbar-width: none; }
  html body.cl-look .cl-page .cl-setcards::-webkit-scrollbar { display: none; }
  html body.cl-look .cl-page .cl-setcards > .cl-setcard { flex: 0 0 78%; scroll-snap-align: center; }
  html body.cl-look .cl-home .cl-art { width: min(80%, 300px); }
}
@media (prefers-reduced-motion: reduce) {
  html body.cl-look .cl-home .cl-art :is(#smoke, #arms) { animation: none; }
}

body.cl-look.error404 .ct-no-results .entry-header::before {
  content: ""; display: block; width: 180px; height: 150px; margin: 0 auto 12px;
  background: url("doodles/bean-lost.svg") center / contain no-repeat;
}
body.cl-look .wc-empty-cart-message::before {
  content: ""; display: block; width: 180px; height: 150px; margin: 0 0 16px;
  background: url("doodles/cup-empty.svg") left center / contain no-repeat;
}
body.cl-look .wc-empty-cart-message .cart-empty { background: transparent !important; border: 0 !important; padding: 0 !important; font-size: 22px; font-weight: 700; }
body.cl-look .wc-empty-cart-message .cart-empty::before { display: none !important; }

@media (max-width: 999.98px) {
  body.cl-look .ct-header { border-bottom: 0; }
}
@media (max-width: 689.98px) {

  html body.cl-look .woo-listing-top .woocommerce-ordering select {
    width: 42px !important; height: 42px !important; min-height: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 999px !important; background: var(--cl-grey) !important; color: transparent !important;
  }
  html body.cl-look .woo-listing-top .woocommerce-ordering .ct-sort-icon { color: var(--cl-ink); }
  body.cl-look .ct-footer::before { right: 8%; }
  body.cl-look .ct-footer::after { right: calc(8% + 80px); }
}
@media (prefers-reduced-motion: reduce) {
  body.cl-look * { transition: none !important; }
}
