:root {
  --next-bg: #0B0805;
  --next-panel: #1A1613;
  --next-border: #9D671F;
  --next-gold: #DDA260;
  --next-gold-soft: #EDD0A9;
  --next-gold-dark: #9D671F;
  --next-gold-accent: #D79E1F;
  --next-red: #A20A08;
  --next-red-hover: #CD0E09;
  --next-red-deep: #591B0D;
  --next-text: #F4E7D4;
  --next-bg-rgb: 11, 8, 5;
  --next-gold-rgb: 221, 162, 96;
  --next-gold-dark-rgb: 157, 103, 31;
  --next-gold-accent-rgb: 215, 158, 31;
  --next-red-rgb: 162, 10, 8;
  --next-text-rgb: 244, 231, 212;
  --next-sub: rgba(var(--next-text-rgb), 0.78);
  --next-muted: rgba(var(--next-text-rgb), 0.58);
  --next-shadow: 0 14px 32px rgba(0, 0, 0, 0.45);
  --next-serif: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
  --next-sans: "Noto Sans JP", "Inter", system-ui, sans-serif;
  --next-display: "Playfair Display", "Noto Serif JP", serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  scroll-behavior: smooth;
  background: var(--next-bg);
}

body.next-page {
  min-height: 100%;
  margin: 0;
  background: var(--next-bg);
  color: var(--next-text);
  font-family: var(--next-sans);
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 0;
}

.next-shell {
  width: min(100%, 430px);
  min-height: 100vh;
  margin-inline: auto;
  background: var(--next-bg);
  overflow-x: hidden;
  box-shadow: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

button,
input,
select,
textarea {
  font: inherit;
  letter-spacing: 0;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

[hidden] {
  display: none !important;
}

.dashboard-area,
main {
  width: 100%;
  min-width: 0;
}

.u-inner {
  width: calc(100% - 20px);
  margin-inline: auto;
}

.fadeInUp,
.fade_in_up,
.animated {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.next-header {
  position: relative;
  z-index: 20;
}

.next-hero {
  position: relative;
  overflow: hidden;
  padding-bottom: 0;
  background: var(--next-bg);
}

.next-hero-image {
  width: 100%;
  height: auto;
}

.next-hero-controls {
  display: none;
  gap: 0;
  padding: 10px;
  border-top: 1px solid var(--next-border);
  border-bottom: 1px solid var(--next-border);
  background: var(--next-bg);
}

.next-language-panel {
  position: absolute;
  top: 18px;
  right: 5px;
  z-index: 5;
  width: 74px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  padding: 4px;
  border: 1px solid var(--next-gold);
  border-radius: 4px;
  background: var(--next-panel);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.48);
}

.next-language-title {
  color: var(--next-gold-soft);
  font-size: 7px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.next-language-link {
  min-height: 18px;
  display: grid;
  grid-template-columns: 16px 1fr;
  align-items: center;
  gap: 3px;
  padding: 1px 3px;
  border: 1px solid rgba(var(--next-gold-accent-rgb), 0.28);
  border-radius: 3px;
  background: var(--next-panel);
  color: var(--next-text);
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
}

.next-language-menu a {
  min-height: 30px;
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-radius: 4px;
  color: var(--next-text);
  font-size: 9px;
  line-height: 1.2;
}

.next-language-link.is-active,
.next-language-link:focus-visible,
.next-language-menu a.is-active,
.next-language-menu a:focus-visible {
  border-color: var(--next-gold-soft);
  background: var(--next-red);
  outline: none;
}

.next-language-flag {
  width: 14px;
  height: 10px;
  display: block;
  border: 1px solid rgba(var(--next-text-rgb), 0.42);
  border-radius: 2px;
  object-fit: cover;
}

.next-hero-products-link {
  position: absolute;
  left: 50%;
  top: auto;
  bottom: 10px;
  right: auto;
  z-index: 4;
  width: min(220px, 54%);
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid var(--next-gold);
  border-radius: 4px;
  background: linear-gradient(180deg, var(--next-red-hover), var(--next-red-deep));
  color: var(--next-text);
  font-size: 14px;
  font-weight: 800;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    inset 0 -3px 0 rgba(0, 0, 0, 0.32),
    0 8px 18px rgba(0, 0, 0, 0.42);
  transform: translateX(-50%);
  transition:
    background 0.64s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.64s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.64s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.64s cubic-bezier(0.16, 1, 0.3, 1);
  touch-action: manipulation;
}

.next-hero-notice-cover {
  display: none;
}

.next-subheader {
  min-height: 76px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 10px;
  border-bottom: 1px solid var(--next-border);
  background:
    linear-gradient(90deg, rgba(var(--next-gold-rgb), 0.2), transparent 45%),
    var(--next-panel);
}

.next-brand {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1;
}

.next-brand span {
  font-family: var(--next-display);
  color: var(--next-text);
  font-size: 25px;
  font-weight: 700;
}

.next-brand small {
  color: var(--next-gold-soft);
  font-size: 10px;
  font-weight: 700;
}

.next-language-dropdown {
  position: relative;
}

.next-language-dropdown summary {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 9px;
  border: 1px solid var(--next-gold);
  border-radius: 7px;
  color: var(--next-text);
  list-style: none;
  font-size: 12px;
}

.next-language-dropdown summary::-webkit-details-marker {
  display: none;
}

.next-language-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 10;
  width: 176px;
  display: grid;
  gap: 4px;
  padding: 8px;
  border: 1px solid var(--next-gold);
  border-radius: 8px;
  background: var(--next-panel);
  box-shadow: var(--next-shadow);
}

.delivery_address {
  padding: 16px 0;
}

.next-site-notice {
  padding: 0 0 8px;
}

.next-site-notice-top {
  padding: 9px 0 0;
}

.next-site-notice .u-inner {
  min-height: 32px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border: 1px solid var(--next-gold);
  border-radius: 6px;
  background: var(--next-panel);
}

.next-site-notice span {
  color: var(--next-gold-soft);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.next-site-notice strong {
  min-width: 0;
  overflow: hidden;
  color: var(--next-text);
  font-size: 11px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.delivery_address_preselect {
  padding-top: 18px;
}

.next-home .delivery_address_preselect {
  padding-top: 7px;
  padding-bottom: 8px;
}

.d_a__layout,
.secProduct__item,
.p_d_explain,
.orderInfor__part01,
.orderInfo__part02,
.orderInfo__part03,
.payment_order_list,
.payment_detail_grid,
.payment_total_box,
.order_flow_steps article,
.order_flow_service,
.order_flow_delivery,
.order_flow_contact,
.legal_table,
.legal_reasons,
.legal_privacy_note {
  border: 1px solid var(--next-border);
  border-radius: 8px;
  background: linear-gradient(180deg, var(--next-panel), var(--next-bg));
  box-shadow: var(--next-shadow);
}

.d_a__layout {
  display: grid;
  gap: 13px;
  padding: 14px;
}

.hotel_selector_layout {
  padding: 0;
  border-radius: 6px;
  background: var(--next-bg);
  box-shadow: none;
}

.hotel_selector_bar {
  min-height: 36px;
  display: grid;
  grid-template-columns: minmax(118px, 1fr) minmax(112px, 124px) 88px;
  align-items: center;
  gap: 3px;
  padding: 2px 5px 2px 2px;
}

.hotel_selector_label,
.hotel_selector_delivery {
  min-width: 0;
}

.hotel_selector_label {
  padding-left: 3px;
}

.hotel_selector_label img {
  width: 100%;
  max-width: 166px;
  height: auto;
}

.hotel_selector_control {
  position: relative;
  display: block;
}

.hotel_selector_control::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 9px;
  width: 7px;
  height: 7px;
  border-right: 1px solid var(--next-gold);
  border-bottom: 1px solid var(--next-gold);
  pointer-events: none;
  transform: translateY(-65%) rotate(45deg);
}

.hotel_selector_control select {
  min-height: 30px;
  height: 30px;
  padding: 0 20px 0 7px;
  border-color: var(--next-gold-dark);
  border-radius: 3px;
  background: #050301;
  color: var(--next-text);
  font-size: 9.5px;
  font-weight: 700;
  line-height: 1;
  appearance: none;
}

.hotel_selector_delivery {
  min-height: 30px;
  display: grid;
  align-items: center;
  justify-items: center;
  gap: 2px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  line-height: 1.1;
  text-align: center;
}

.hotel_selector_delivery_status {
  color: #9DFF00;
  font-size: 8.5px;
  font-weight: 900;
  white-space: nowrap;
}

.hotel_selector_delivery_time {
  color: var(--next-gold-accent);
  font-size: 7.5px;
  font-weight: 900;
  white-space: nowrap;
}

.d_a_select_copy {
  display: grid;
  gap: 3px;
}

.d_a_select_copy strong,
.d_a_title,
.secProduct_title h2,
.payment__title,
.orderInfo__title,
.p_d_etitle,
.p_d_title,
.order_flow_hero h1,
.order_flow_intro h1,
.legal_hero h1 {
  margin: 0;
  font-family: var(--next-serif);
  font-weight: 700;
  line-height: 1.28;
}

.d_a_select_copy strong,
.d_a_title {
  color: var(--next-gold-soft);
  font-size: 20px;
}

.d_a_select_copy span {
  width: fit-content;
  padding: 1px 7px;
  border-radius: 4px;
  background: var(--next-red);
  color: var(--next-text);
  font-size: 11px;
  font-weight: 800;
}

.d_a_select_copy small,
.d_a_delivery_note,
.order_schedule_note,
.payment_notice,
.orderInfo__part01_note,
.admin_test_purchase_note {
  margin: 0;
  color: var(--next-sub);
  font-size: 12px;
}

.d_a_delivery_note {
  padding: 8px 10px;
  border: 1px solid rgba(var(--next-gold-rgb), 0.34);
  border-radius: 6px;
  background: rgba(var(--next-gold-rgb), 0.1);
  color: var(--next-gold-soft);
  font-weight: 700;
}

.d_a_form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.d_a_field {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.d_a_field span,
.total_quantity__layout label,
.orderInfo__part02_left,
.orderInfo__part03_left,
.payment_detail_grid dt {
  color: var(--next-gold-soft);
  font-size: 12px;
  font-weight: 800;
}

.d_a_contact_label,
.order_contact_label {
  max-width: 100%;
  font-size: 10px;
  line-height: 1.25;
  white-space: nowrap;
}

.d_a_field select,
.d_a_field input,
.d_a_field textarea,
.total_quantity__input,
.orderInfo__part03_row input,
.orderInfo__part03_row select,
.orderInfo__part03_row textarea {
  width: 100%;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid rgba(var(--next-gold-rgb), 0.46);
  border-radius: 8px;
  background: var(--next-bg);
  color: var(--next-text);
  outline: none;
}

.d_a_field textarea {
  min-height: 86px;
  padding: 10px 12px;
  resize: vertical;
}

.orderInfo__part03_row textarea {
  min-height: 86px;
  padding: 10px 12px;
  resize: vertical;
}

.d_a_field select:focus,
.d_a_field input:focus,
.d_a_field textarea:focus,
.orderInfo__part03_row input:focus,
.orderInfo__part03_row select:focus,
.orderInfo__part03_row textarea:focus {
  border-color: var(--next-gold-soft);
  box-shadow: 0 0 0 3px rgba(var(--next-gold-rgb), 0.18);
}

.hotel_selector_control {
  gap: 0;
}

.hotel_selector_control select {
  min-height: 30px;
  height: 30px;
  padding: 0 20px 0 7px;
  border-color: var(--next-gold-dark);
  border-radius: 3px;
  background: #050301;
  font-size: 9.5px;
  line-height: 1;
}

.hotel_selector_delivery {
  min-height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#d_a_confirm,
#orderinfo__btn,
#payment__btn,
#admin_test_purchase_btn,
.secProduct__item_cart,
.p_d_order_cta,
.product_catalog_link,
.btn-primary,
.p_d_back_to_products {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: linear-gradient(180deg, var(--next-red-hover), var(--next-red-deep));
  color: var(--next-text);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    inset 0 -3px 0 rgba(0, 0, 0, 0.32),
    0 8px 18px rgba(var(--next-red-rgb), 0.32);
  transition:
    background 0.64s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.64s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.64s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.64s cubic-bezier(0.16, 1, 0.3, 1);
  touch-action: manipulation;
}

#d_a_confirm:hover,
#orderinfo__btn:hover,
#payment__btn:hover,
#admin_test_purchase_btn:hover,
.secProduct__item_cart:hover,
.p_d_order_cta:hover,
.product_catalog_link:hover,
.btn-primary:hover,
.p_d_back_to_products:hover {
  background: linear-gradient(180deg, var(--next-red-hover), var(--next-red));
  transform: translateY(-1px);
}

#d_a_confirm:active,
#orderinfo__btn:active,
#payment__btn:active,
#admin_test_purchase_btn:active,
.secProduct__item_cart:active,
.p_d_order_cta:active,
.product_catalog_link:active,
.next-hero-products-link:active,
.btn-primary:active,
.p_d_back_to_products:active,
#d_a_confirm.is-pressed,
#orderinfo__btn.is-pressed,
#payment__btn.is-pressed,
#admin_test_purchase_btn.is-pressed,
.secProduct__item_cart.is-pressed,
.p_d_order_cta.is-pressed,
.product_catalog_link.is-pressed,
.next-hero-products-link.is-pressed,
.btn-primary.is-pressed,
.p_d_back_to_products.is-pressed {
  background: linear-gradient(180deg, var(--next-red-deep), var(--next-bg));
  box-shadow:
    inset 0 9px 16px rgba(0, 0, 0, 0.72),
    inset 0 -1px 0 rgba(var(--next-text-rgb), 0.08),
    inset 0 0 0 1px rgba(var(--next-text-rgb), 0.08),
    0 1px 4px rgba(0, 0, 0, 0.5);
  filter: brightness(0.78) saturate(1.16);
  transform: translateY(5px) scale(0.968) !important;
}

.next-hero-products-link:active,
.next-hero-products-link.is-pressed {
  transform: translateX(-50%) translateY(5px) scale(0.968) !important;
}

#d_a_confirm,
#orderinfo__btn,
#payment__btn {
  width: 100%;
  min-height: 56px;
}

.secProduct {
  padding: 28px 0 32px;
  background: var(--next-bg);
}

.next-home .secProduct {
  padding-top: 16px;
}

.secProduct + .total_quantity {
  margin-top: 0;
}

.secProduct_title {
  display: grid;
  gap: 4px;
  margin-bottom: 16px;
}

.secProduct_title_kicker,
.payment__eyebrow,
.product_catalog_hero_copy span,
.orderInfo__hero span,
.order_flow_intro span,
.legal_hero span,
.p_d_limited_badge {
  color: var(--next-gold-soft);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
}

.secProduct_title h2 {
  color: var(--next-text);
  font-size: 30px;
}

.secProduct_layout {
  display: grid;
  gap: 16px;
}

.top_featured_products {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.top_featured_products .is-featured {
  grid-column: 1 / -1;
}

.product_catalog_grid {
  grid-template-columns: 1fr;
}

.secProduct__item {
  position: relative;
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.secProduct__item.is-featured,
.secProduct__item.is-catalog {
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  grid-template-areas:
    "thumb body"
    "thumb action";
  align-items: stretch;
}

.secProduct__item.is-featured {
  padding: 14px;
}

.secProduct__item.is-compact {
  padding: 8px;
  gap: 8px;
}

.secProduct__item_thumb {
  grid-area: thumb;
  min-width: 0;
}

.secProduct__item_block01 {
  grid-area: body;
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 4px;
}

.secProduct__item_block02 {
  grid-area: action;
  align-self: end;
  display: grid;
  gap: 8px;
}

.is-compact .secProduct__item_thumb,
.is-compact .secProduct__item_block01,
.is-compact .secProduct__item_block02 {
  grid-area: auto;
}

.product_photo_carousel,
.detail_photo_carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
  background: var(--next-bg);
}

.product_photo_track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.product_photo_track::-webkit-scrollbar {
  display: none;
}

.product_photo_slide {
  flex: 0 0 100%;
  min-width: 100%;
  scroll-snap-align: start;
}

.product_photo_slide img,
.secProduct__item_img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.is-featured .product_photo_slide img,
.is-featured .secProduct__item_img {
  aspect-ratio: 1 / 1.04;
}

.product_photo_dots {
  position: absolute;
  left: 50%;
  bottom: 7px;
  z-index: 3;
  display: flex;
  gap: 5px;
  transform: translateX(-50%);
}

.product_photo_dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 1px solid rgba(var(--next-text-rgb), 0.78);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
}

.product_photo_dot.is-active {
  background: var(--next-gold-soft);
}

.secProduct__item_rank {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 4;
  width: 46px;
  height: 60px;
  display: grid;
  place-items: center;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 82%, 0 100%);
  background: var(--next-red);
  color: var(--next-text);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.28);
}

.secProduct__item_rank span {
  font-size: 11px;
  font-weight: 800;
  line-height: 1.16;
  text-align: center;
}

.secProduct__item_title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.secProduct__item_title .title {
  color: var(--next-gold-soft);
  font-size: 11px;
  font-weight: 800;
}

.secProduct__item_title .badge {
  max-width: 100%;
  padding: 2px 6px;
  border: 1px solid rgba(var(--next-gold-rgb), 0.6);
  border-radius: 4px;
  color: var(--next-text);
  font-size: 10px;
  font-weight: 700;
}

.secProduct__item_etitle,
.secProduct__item_htitle {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  overflow-wrap: anywhere;
}

.secProduct__item_etitle {
  -webkit-line-clamp: 2;
  color: var(--next-text);
  font-family: var(--next-serif);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.28;
}

.is-featured .secProduct__item_etitle {
  font-size: 22px;
}

.is-compact .secProduct__item_etitle {
  font-size: 12px;
  line-height: 1.3;
}

.secProduct__item_htitle {
  -webkit-line-clamp: 2;
  color: var(--next-gold-soft);
  font-size: 13px;
  line-height: 1.35;
}

.is-compact .secProduct__item_htitle {
  font-size: 10px;
}

.secProduct__item_meta,
.p_d_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
}

.secProduct__item_meta span,
.p_d_meta span {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border: 1px solid rgba(var(--next-gold-dark-rgb), 0.7);
  border-radius: 4px;
  background: var(--next-panel);
  color: var(--next-text);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
}

.is-compact .secProduct__item_meta {
  gap: 3px;
}

.is-compact .secProduct__item_meta span {
  min-height: 18px;
  padding: 1px 4px;
  font-size: 9px;
}

.secProduct__item_price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 3px;
  margin-top: 2px;
}

.secProduct__item_price_prefix,
.secProduct__item_price_unit,
.secProduct__item_price_tax {
  color: var(--next-sub);
  font-size: 11px;
}

.secProduct__item_price_amount {
  color: var(--next-text);
  font-family: var(--next-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.is-compact .secProduct__item_price_amount {
  font-size: 15px;
}

.secProduct__item_cart {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding-inline: 8px;
  font-size: 16px;
}

.is-compact .secProduct__item_cart {
  min-height: 44px;
  padding-inline: 4px;
  font-size: 10px;
}

.is-compact .cart_button_label::after {
  margin-left: 3px;
}

.cart_button_label::after {
  content: "";
  width: 17px;
  height: 17px;
  display: inline-block;
  margin-left: 7px;
  vertical-align: -2px;
  background: var(--next-gold-soft);
  mask: url("/assets/img/icons/lucide-shopping-cart.svg") center / contain no-repeat;
  -webkit-mask: url("/assets/img/icons/lucide-shopping-cart.svg") center / contain no-repeat;
}

.service_strip,
.catalog_service_strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 14px;
  border: 1px solid var(--next-border);
  border-radius: 8px;
  overflow: hidden;
}

.service_strip span,
.catalog_service_strip span {
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 6px;
  background: rgba(var(--next-gold-rgb), 0.08);
  color: var(--next-sub);
  font-size: 10px;
  text-align: center;
}

.product_catalog_link {
  width: 100%;
  margin-top: 14px;
  border-color: var(--next-gold);
  background: transparent;
  box-shadow: none;
}

.total_quantity {
  padding: 4px 0 0;
}

.total_quantity__layout {
  display: none;
}

.floating_cart {
  position: fixed;
  right: max(12px, calc((100vw - 430px) / 2 + 12px));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 80;
  width: 44px;
  height: 44px;
  display: none;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(var(--next-gold-dark-rgb), 0.94);
  border-radius: 50%;
  background: rgba(var(--next-bg-rgb), 0.94);
  color: var(--next-text);
  box-shadow: 0 7px 16px rgba(0, 0, 0, 0.42);
}

.floating_cart.has-items {
  display: grid;
}

.floating_cart_icon {
  width: 22px;
  height: 22px;
  display: block;
  background: var(--next-gold-soft);
  transform: translateY(1px);
  mask: url("/assets/img/icons/lucide-shopping-cart.svg") center / contain no-repeat;
  -webkit-mask: url("/assets/img/icons/lucide-shopping-cart.svg") center / contain no-repeat;
}

.floating_cart strong {
  position: absolute;
  right: 3px;
  top: 3px;
  min-width: 14px;
  height: 14px;
  display: grid;
  place-items: center;
  padding: 0 3px;
  border: 1px solid rgba(var(--next-text-rgb), 0.72);
  border-radius: 50%;
  background: var(--next-red);
  color: var(--next-text);
  font-size: 8px;
  line-height: 1;
}

.floating_cart.is-bumped {
  animation: next-cart-bump 0.45s ease;
}

@keyframes next-cart-bump {
  0% { transform: scale(1); }
  45% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

.page_breadcrumb {
  padding: 12px 0;
  border-bottom: 1px solid var(--next-border);
  background: var(--next-panel);
}

.page_breadcrumb .u-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  color: var(--next-sub);
  font-size: 12px;
}

.page_breadcrumb a {
  color: var(--next-gold-soft);
}

.page_breadcrumb a::after {
  content: "/";
  margin-left: 7px;
  color: var(--next-muted);
}

.product_catalog_hero,
.orderInfo__hero,
.payment__header,
.order_flow_hero,
.order_flow_intro,
.legal_hero {
  margin: 0 0 16px;
  padding: 22px 12px;
  border-bottom: 1px solid var(--next-border);
  background:
    linear-gradient(135deg, rgba(var(--next-gold-rgb), 0.22), transparent 55%),
    var(--next-panel);
  color: var(--next-text);
}

.product_catalog_hero_inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 12px;
}

.product_catalog_hero_copy h1,
.orderInfo__hero h1,
.payment__title,
.order_flow_hero h1,
.order_flow_intro h1,
.legal_hero h1 {
  margin: 6px 0 5px;
  color: var(--next-text);
  font-size: 30px;
}

.product_catalog_hero_copy p,
.orderInfo__hero p,
.payment__header p,
.order_flow_hero p,
.order_flow_intro p,
.legal_hero p {
  margin: 0;
  color: var(--next-sub);
  font-size: 13px;
}

.catalog_delivery_badge {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border: 1px solid var(--next-gold);
  border-radius: 50%;
  color: var(--next-text);
  text-align: center;
}

.catalog_delivery_badge span {
  font-size: 10px;
  line-height: 1.3;
}

.catalog_delivery_badge strong {
  font-family: var(--next-serif);
  color: var(--next-gold-soft);
  font-size: 18px;
}

.product_category_tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin: 0 0 14px;
}

.product_category_tabs span {
  min-height: 42px;
  display: grid;
  place-items: center;
  padding: 4px;
  border: 1px solid var(--next-border);
  border-radius: 6px;
  color: var(--next-sub);
  font-size: 10px;
  text-align: center;
}

.product_category_tabs .is-active {
  border-color: var(--next-gold);
  background: var(--next-red);
  color: var(--next-text);
}

.secProduct_notice {
  margin-bottom: 14px;
  padding: 10px 12px;
  border: 1px solid var(--next-gold);
  border-radius: 8px;
  background: rgba(var(--next-gold-rgb), 0.1);
  color: var(--next-text);
  font-size: 13px;
}

.secProductDetail,
.secOrderInfo,
.secPayment,
.order_flow_page,
.legal_page {
  padding: 20px 0 34px;
}

.secProductDetail .u-inner {
  display: grid;
  gap: 14px;
}

.detail_photo_slide img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.p_d_media_stamp {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 3;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid var(--next-gold);
  border-radius: 50%;
  background: rgba(var(--next-bg-rgb), 0.72);
  color: var(--next-gold-soft);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.p_d_media_arrow {
  display: none;
}

.p_d_explain {
  display: grid;
  gap: 14px;
  padding: 14px;
}

.p_d_limited_badge {
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid var(--next-gold);
  border-radius: 999px;
}

.p_d_etitle {
  color: var(--next-text);
  font-size: 34px;
}

.p_d_title {
  color: var(--next-gold-soft);
  font-size: 20px;
}

.p_d_flavor,
.secProduct__item_flavor {
  display: grid;
  gap: 4px;
  padding: 9px;
  border: 1px solid var(--next-border);
  border-radius: 7px;
  background: var(--next-panel);
}

.flavor-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--next-sub);
  font-size: 12px;
}

.flavor-stars {
  color: var(--next-gold-soft);
  white-space: nowrap;
}

.p_d_buy_row,
.p_d_description {
  display: grid;
  gap: 12px;
}

.p_d_price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
}

.p_d_price strong {
  font-family: var(--next-serif);
  font-size: 34px;
}

.p_d_price span,
.p_d_price small,
.p_d_content,
.order_flow_steps p,
.order_flow_service li,
.order_flow_delivery p,
.order_flow_contact p,
.legal_reasons p,
.payment_body,
.payment_admin_test_notice {
  color: var(--next-sub);
}

.p_d_cart_bridge {
  display: grid;
  gap: 10px;
}

.p_d_quantity {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  min-height: 48px;
  border: 1px solid var(--next-border);
  border-radius: 8px;
  overflow: hidden;
}

.p_d_qty_btn {
  border: 0;
  background: var(--next-panel);
  color: var(--next-gold-soft);
  font-size: 20px;
  font-weight: 800;
}

.p_d_qty_input {
  width: 100%;
  border: 0;
  background: var(--next-panel);
  color: var(--next-text);
  text-align: center;
}

.p_d_back_to_products {
  width: 100%;
  min-height: 44px;
  background: transparent;
  border-color: var(--next-border);
  box-shadow: none;
  font-size: 14px;
}

.p_d_feature_grid,
.order_delivery_grid,
.payment_detail_grid,
.order_schedule_grid {
  display: grid;
  gap: 10px;
}

.p_d_feature_grid {
  grid-template-columns: repeat(2, 1fr);
}

.p_d_feature_grid div,
.orderInfor__part02_row,
.payment_detail_grid div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--next-border);
  border-radius: 7px;
  background: var(--next-panel);
}

.p_d_feature_grid strong,
.order_summary_item strong,
.payment_order_item strong {
  color: var(--next-text);
}

.p_d_feature_grid span,
.order_summary_item small,
.payment_order_item span {
  color: var(--next-sub);
  font-size: 12px;
}

.p_d_stitle {
  margin: 4px 0 0;
  color: var(--next-gold-soft);
  font-weight: 800;
}

.orderInfo__layout,
.payment__layout {
  display: grid;
  gap: 14px;
}

.orderInfo__hero,
.payment__header {
  border: 1px solid var(--next-border);
  border-radius: 8px;
}

.orderInfor__part01,
.orderInfo__part02,
.orderInfo__part03,
.payment_order_list,
.payment_detail_grid,
.payment_total_box {
  padding: 14px;
}

.orderInfo__header {
  margin-bottom: 10px;
}

.orderInfo__title {
  color: var(--next-gold-soft);
  font-size: 22px;
}

.order_summary_list,
.payment_order_list {
  display: grid;
  gap: 8px;
}

.order_summary_item,
.payment_order_item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 10px;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--next-border);
}

.payment_order_item {
  grid-template-columns: 1fr auto;
}

.order_summary_item b,
.payment_order_item b {
  grid-column: 2;
  color: var(--next-gold-soft);
}

.payment_order_item b {
  grid-column: auto;
}

.order_summary_index {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--next-red);
  color: var(--next-text);
  font-size: 13px;
  font-weight: 800;
}

.order_total_box,
.payment_total_box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 12px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--next-border);
  border-radius: 7px;
  background: var(--next-panel);
}

.order_total_box span,
.payment_total_box span {
  color: var(--next-sub);
}

.order_total_box strong,
.payment_total_box strong {
  color: var(--next-text);
}

.order_total_box .is-total,
.payment_total_box .is-total {
  padding-top: 10px;
  border-top: 1px solid var(--next-border);
  color: var(--next-gold-soft);
  font-size: 18px;
  font-weight: 800;
}

.orderInfor__part02_row.is-wide,
.payment_detail_grid .is-wide {
  grid-column: 1 / -1;
}

.orderInfor__part02_right,
.payment_detail_grid dd {
  margin: 0;
  color: var(--next-text);
  overflow-wrap: anywhere;
  font-weight: 700;
}

.orderInfo__part03_row {
  display: grid;
  gap: 5px;
}

.order_trust_strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.payment__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.order_trust_strip div {
  display: grid;
  place-items: center;
  min-height: 58px;
  padding: 8px;
  border: 1px solid var(--next-border);
  border-radius: 7px;
  background: var(--next-panel);
  text-align: center;
}

.order_trust_strip strong {
  color: var(--next-gold-soft);
  font-size: 14px;
}

.order_trust_strip span {
  color: var(--next-sub);
  font-size: 10px;
}

.orderInfo__footer,
.payment__footer {
  display: grid;
  gap: 10px;
}

.payment__footer form {
  margin: 0;
}

#admin_test_purchase_btn {
  background: #234635;
}

.order_flow_steps {
  display: grid;
  gap: 10px;
}

.order_flow_steps article,
.order_flow_service,
.order_flow_delivery,
.order_flow_contact,
.legal_reasons,
.legal_privacy_note {
  padding: 14px;
}

.order_flow_steps article > strong {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--next-red);
  color: var(--next-text);
}

.order_flow_step_visual {
  aspect-ratio: 1 / 0.54;
  border: 1px solid var(--next-border);
  border-radius: 7px;
  background: linear-gradient(135deg, rgba(var(--next-gold-rgb), 0.18), rgba(var(--next-red-rgb), 0.18));
}

.order_flow_steps h2,
.order_flow_service h2,
.order_flow_delivery h2,
.order_flow_contact h2,
.legal_reasons h2 {
  margin: 0;
  color: var(--next-gold-soft);
  font-family: var(--next-serif);
  font-size: 20px;
}

.order_flow_service,
.order_flow_delivery,
.order_flow_contact,
.legal_reasons,
.legal_privacy_note {
  margin-top: 12px;
}

.order_flow_service ul {
  display: grid;
  gap: 7px;
  margin: 10px 0 0;
  padding-left: 18px;
}

.order_flow_delivery > div,
.legal_reasons > div {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.order_flow_delivery article,
.legal_reasons article {
  padding: 10px;
  border: 1px solid var(--next-border);
  border-radius: 7px;
  background: var(--next-panel);
}

.order_flow_contact {
  display: grid;
  gap: 8px;
}

.order_flow_contact a,
.legal_table a {
  color: var(--next-gold-soft);
  font-weight: 800;
}

.legal_table {
  display: grid;
  padding: 0;
  overflow: hidden;
}

.legal_table div {
  display: grid;
  gap: 4px;
  padding: 13px;
  border-bottom: 1px solid var(--next-border);
}

.legal_table div:last-child {
  border-bottom: 0;
}

.legal_table dt {
  color: var(--next-gold-soft);
  font-weight: 800;
}

.legal_table dd {
  margin: 0;
  color: var(--next-sub);
  overflow-wrap: anywhere;
}

.site_legal_footer {
  padding: 16px 10px 20px;
  border-top: 1px solid var(--next-border);
  background: var(--next-bg);
  color: var(--next-sub);
}

.site_legal_footer_brand {
  width: max-content;
  display: grid;
  gap: 2px;
  margin: 0 auto 12px;
  color: var(--next-text);
  line-height: 1;
  text-align: center;
}

.site_legal_footer_brand span {
  font-family: var(--next-display);
  font-size: 22px;
}

.site_legal_footer_brand small {
  color: var(--next-gold-soft);
  font-size: 10px;
}

.site_legal_footer_contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 10px;
}

.site_legal_footer_contact a {
  min-width: 0;
  min-height: 42px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "icon label"
    "icon value";
  align-items: center;
  column-gap: 7px;
  padding: 7px 8px;
  border: 1px solid var(--next-border);
  border-radius: 6px;
  background: var(--next-panel);
}

.site_legal_footer_contact a::before {
  content: attr(data-footer-icon);
  grid-area: icon;
  min-width: 26px;
  min-height: 26px;
  display: grid;
  place-items: center;
  border: 1px solid var(--next-gold-dark);
  border-radius: 50%;
  color: var(--next-gold-soft);
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}

.site_legal_footer_contact span {
  grid-area: label;
  min-width: 0;
  overflow: hidden;
  color: var(--next-gold-soft);
  font-size: 8px;
  font-weight: 800;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site_legal_footer_contact strong {
  grid-area: value;
  min-width: 0;
  overflow: hidden;
  color: var(--next-text);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site_legal_footer_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(var(--next-gold-dark-rgb), 0.58);
}

.site_legal_footer_inner a {
  min-height: 20px;
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--next-sub);
  font-size: 10px;
  line-height: 1.1;
}

.site_legal_footer_inner a::before {
  content: attr(data-footer-icon);
  color: var(--next-gold-soft);
  font-size: 8px;
  font-weight: 800;
}

.flatpickr-calendar {
  font-family: var(--next-sans);
}

@media (max-width: 390px) {
  .next-language-panel {
    top: 16px;
    right: 5px;
    width: 70px;
    gap: 2px;
    padding: 4px;
  }

  .next-language-link {
    min-height: 17px;
    font-size: 8px;
  }

  .next-hero-products-link {
    top: auto;
    bottom: 10px;
    width: min(210px, 55%);
    min-height: 44px;
    font-size: 14px;
  }

  .is-featured .secProduct__item_etitle {
    font-size: 20px;
  }

  .secProduct__item_etitle {
    font-size: 16px;
  }

  .top_featured_products {
    gap: 8px;
  }

  .secProduct__item.is-compact {
    padding: 7px;
  }

  .is-compact .secProduct__item_cart {
    font-size: 10px;
  }
}
