:root {
  --orders-ink: #3d2928;
  --orders-wine: #6f3837;
  --orders-rose: #c88d78;
  --orders-blush: #f5e7e1;
  --orders-cream: #fcf8f4;
  --orders-line: rgba(111, 56, 55, .15);
}

.orders-page {
  color: var(--orders-ink);
  background: var(--orders-cream);
  overflow-x: clip;
}

.orders-hero {
  position: relative;
  min-height: 740px;
  padding: 170px 0 90px;
  overflow: hidden;
  background:
    radial-gradient(circle at 9% 23%, rgba(214, 160, 138, .24), transparent 24rem),
    linear-gradient(125deg, #fbf4ef 0%, #f6e7df 56%, #ead3ca 100%);
}

.orders-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");
}

.orders-orbit {
  position: absolute;
  border: 1px solid rgba(111, 56, 55, .14);
  border-radius: 50%;
}

.orders-orbit-one { width: 530px; height: 530px; top: 80px; right: -210px; }
.orders-orbit-two { width: 250px; height: 250px; left: -105px; bottom: -110px; }

.orders-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: clamp(50px, 7vw, 110px);
}

.orders-hero-copy { max-width: 610px; animation: orderReveal .75s both; }
.orders-hero-copy .breadcrumb { margin-bottom: 44px; }
.orders-hero-copy h1 {
  max-width: 650px;
  margin: 10px 0 24px;
  color: var(--orders-wine);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(4rem, 6.5vw, 7rem);
  font-weight: 500;
  line-height: .85;
  letter-spacing: -.055em;
}
.orders-hero-copy h1 em { display: block; color: var(--orders-rose); font-weight: 500; }
.orders-hero-copy > p:not(.eyebrow) { max-width: 560px; margin-bottom: 32px; font-size: 1.05rem; line-height: 1.8; }

.orders-hero-art { position: relative; width: 100%; max-width: 650px; justify-self: end; animation: orderReveal .85s .12s both; }
.orders-hero-frame {
  position: relative;
  height: 500px;
  padding: 12px;
  border: 1px solid rgba(111, 56, 55, .23);
  border-radius: 48% 48% 8px 8px;
}
.orders-hero-frame picture, .orders-hero-frame img { display: block; width: 100%; height: 100%; }
.orders-hero-frame img { object-fit: cover; object-position: center; border-radius: calc(48% - 10px) calc(48% - 10px) 4px 4px; }
.orders-hero-seal {
  position: absolute;
  left: -54px;
  bottom: 35px;
  display: flex;
  width: 150px;
  height: 150px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 50%;
  color: #fffaf7;
  background: var(--orders-wine);
  box-shadow: 0 20px 50px rgba(79, 37, 36, .22);
  transform: rotate(-7deg);
}
.orders-hero-seal span { font-family: "Parisienne", cursive; font-size: 1.25rem; }
.orders-hero-seal strong { margin-top: -3px; font-family: "Cormorant Garamond", serif; font-size: 1.8rem; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; }
.orders-hero-seal i { width: 34px; margin: 5px 0 6px; border-top: 1px solid rgba(255,255,255,.5); }
.orders-hero-seal small { font-size: .59rem; letter-spacing: .15em; text-transform: uppercase; }

.orders-steps { position: relative; z-index: 2; background: #fffdfb; border-bottom: 1px solid var(--orders-line); }
.orders-steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.orders-steps article { display: flex; gap: 18px; padding: 31px 34px; border-right: 1px solid var(--orders-line); }
.orders-steps article:first-child { border-left: 1px solid var(--orders-line); }
.orders-steps article > span { color: var(--orders-rose); font-family: "Cormorant Garamond", serif; font-size: 1.55rem; font-style: italic; }
.orders-steps strong { display: block; margin: 2px 0 5px; font-family: "Cormorant Garamond", serif; font-size: 1.25rem; }
.orders-steps p { margin: 0; color: #77625f; font-size: .78rem; line-height: 1.5; }

.orders-builder { background: #fbf8f4; }
.orders-heading { max-width: 750px; margin: 0 auto 48px; }
.orders-heading h2 { color: var(--orders-wine); }
.orders-layout { display: grid; grid-template-columns: minmax(0, 1fr) 370px; align-items: start; gap: 28px; }
.orders-main { display: grid; gap: 28px; min-width: 0; }
.order-panel, .order-summary {
  border: 1px solid var(--orders-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(80, 47, 43, .055);
}
.order-panel { padding: clamp(24px, 4vw, 42px); }
.panel-title { display: flex; align-items: center; gap: 16px; margin-bottom: 30px; }
.panel-title > span {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(111,56,55,.25);
  border-radius: 50%;
  color: var(--orders-wine);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.45rem;
}
.panel-title h3 { margin: 0 0 2px; color: var(--orders-wine); font-family: "Cormorant Garamond", serif; font-size: 1.8rem; font-weight: 600; }
.panel-title p { margin: 0; color: #8a7470; font-size: .76rem; }
.customer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.field { display: grid; gap: 8px; }
.field-wide, .field-notes { grid-column: 1 / -1; }
.field > span { color: #614a47; font-size: .69rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.field input, .field textarea {
  width: 100%;
  border: 1px solid #e4d6d0;
  border-radius: 3px;
  outline: none;
  background: #fcfaf8;
  color: var(--orders-ink);
  font: 500 .88rem "Manrope", sans-serif;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.field input { min-height: 49px; padding: 0 14px; }
.field textarea { min-height: 92px; padding: 13px 14px; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--orders-rose); background: #fff; box-shadow: 0 0 0 3px rgba(200,141,120,.12); }
.field input:user-invalid { border-color: #a34d4d; }

.catalog-panel-title { margin-bottom: 22px; }
.catalog-toolbar { display: grid; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid var(--orders-line); }
.product-search { position: relative; display: block; }
.product-search svg { position: absolute; left: 15px; top: 50%; width: 19px; transform: translateY(-50%); fill: none; stroke: #917570; stroke-width: 1.6; }
.product-search input { width: 100%; height: 50px; padding: 0 18px 0 45px; border: 1px solid #e3d5cf; border-radius: 3px; outline: none; background: #fcfaf8; font: 500 .86rem "Manrope", sans-serif; }
.product-search input:focus { border-color: var(--orders-rose); box-shadow: 0 0 0 3px rgba(200,141,120,.1); }
.category-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.category-filter { padding: 8px 13px; border: 1px solid #e0cec7; border-radius: 999px; color: #6e5551; background: transparent; font: 600 .68rem "Manrope", sans-serif; cursor: pointer; transition: .2s ease; }
.category-filter:hover, .category-filter.active { border-color: var(--orders-wine); color: #fff; background: var(--orders-wine); }

.custom-item { margin: 20px 0 2px; border: 1px solid #dfcbc3; border-radius: 4px; background: linear-gradient(135deg, #fffaf7, #f8ece7); }
.custom-item summary { display: flex; align-items: center; gap: 12px; padding: 15px 17px; color: var(--orders-wine); cursor: pointer; list-style: none; }
.custom-item summary::-webkit-details-marker { display: none; }
.custom-item-icon { display: grid; flex: 0 0 32px; height: 32px; place-items: center; border-radius: 50%; color: #fff; background: var(--orders-wine); font-size: 1.25rem; line-height: 1; transition: transform .25s ease; }
.custom-item[open] .custom-item-icon { transform: rotate(45deg); }
.custom-item summary strong, .custom-item summary small { display: block; }
.custom-item summary strong { font-family: "Cormorant Garamond", serif; font-size: 1.2rem; line-height: 1; }
.custom-item summary small { margin-top: 4px; color: #92746d; font-size: .62rem; }
.custom-item-form { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(105px, .55fr) minmax(125px, .7fr) auto; gap: 12px; align-items: end; padding: 3px 17px 17px 61px; }
.custom-field { display: grid; gap: 5px; }
.custom-field > span:first-child { color: #765b55; font-size: .58rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.custom-field input { width: 100%; height: 42px; min-width: 0; padding: 0 11px; border: 1px solid #ddcbc4; border-radius: 2px; outline: none; color: var(--orders-ink); background: #fff; font: 600 .7rem "Manrope", sans-serif; }
.custom-field input:focus { border-color: var(--orders-rose); box-shadow: 0 0 0 3px rgba(200,141,120,.1); }
.custom-price-input { position: relative; display: block; }
.custom-price-input i { position: absolute; z-index: 1; left: 10px; top: 50%; color: #98766e; font-size: .65rem; font-style: normal; transform: translateY(-50%); }
.custom-price-input input { padding-left: 33px; }
.add-custom-item { height: 42px; padding: 0 15px; border: 1px solid var(--orders-wine); border-radius: 2px; color: #fff; background: var(--orders-wine); font: 700 .65rem "Manrope", sans-serif; white-space: nowrap; cursor: pointer; transition: .2s ease; }
.add-custom-item:hover { background: #57302f; }
.custom-item-status { grid-column: 1 / -1; min-height: 0; margin: -2px 0 0; color: #9b3e3e; font-size: .61rem; font-weight: 600; }

.product-list { display: grid; }
.product-row { display: grid; grid-template-columns: 112px minmax(0, 1fr) 172px; gap: 20px; align-items: center; padding: 23px 2px; border-bottom: 1px solid var(--orders-line); animation: orderReveal .35s both; }
.product-row[hidden] { display: none; }
.product-image { position: relative; width: 112px; height: 112px; overflow: hidden; border-radius: 50% 50% 8px 8px; background: var(--orders-blush); box-shadow: inset 0 0 0 1px rgba(111, 56, 55, .08); }
.product-image::after { position: absolute; inset: 5px; border: 1px solid rgba(255,255,255,.62); border-radius: inherit; content: ""; pointer-events: none; }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.product-row:hover .product-image img { transform: scale(1.045); }
.product-image span { position: absolute; z-index: 1; right: 7px; bottom: 7px; padding: 4px 7px; border-radius: 999px; color: #fff; background: rgba(72,39,37,.82); backdrop-filter: blur(5px); font-size: .49rem; font-weight: 700; letter-spacing: .04em; }
.product-category { display: block; margin-bottom: 5px; color: var(--orders-rose); font-size: .61rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.product-copy h4 { margin: 0 0 6px; color: var(--orders-ink); font-family: "Cormorant Garamond", serif; font-size: 1.35rem; line-height: 1.1; }
.product-copy p { max-width: 570px; margin: 0; color: #806b67; font-size: .72rem; line-height: 1.55; }
.product-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin-top: 9px; }
.product-price { color: var(--orders-wine); font-size: .82rem; font-weight: 700; }
.product-minimum { color: #9b7d76; font-size: .64rem; }
.product-action { display: grid; width: 172px; justify-items: stretch; gap: 8px; }
.add-product { min-width: 105px; padding: 10px 14px; border: 1px solid var(--orders-wine); border-radius: 2px; color: var(--orders-wine); background: transparent; font: 700 .68rem "Manrope", sans-serif; cursor: pointer; transition: .2s ease; }
.add-product:hover { color: #fff; background: var(--orders-wine); }
.flavor-field { display: grid; gap: 5px; }
.flavor-field span { color: var(--orders-rose); font-size: .54rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.flavor-field select { width: 100%; height: 38px; padding: 0 28px 0 10px; border: 1px solid #ddccc6; border-radius: 2px; outline: none; color: #614a47; background: #fcfaf8; font: 600 .62rem "Manrope", sans-serif; cursor: pointer; }
.flavor-field select:focus { border-color: var(--orders-rose); box-shadow: 0 0 0 3px rgba(200,141,120,.1); }
.in-order { color: #7e6762; font-size: .61rem; text-align: center; }
.flavor-error { color: #9b3e3e; font-size: .59rem; font-weight: 700; text-align: center; }
.catalog-empty { padding: 45px 20px 10px; text-align: center; }
.catalog-empty strong { font-family: "Cormorant Garamond", serif; font-size: 1.35rem; }
.catalog-empty p { color: #846d69; font-size: .8rem; }

.order-summary { position: sticky; top: 110px; overflow: hidden; padding: 0 27px 27px; }
.summary-topline { height: 5px; margin: 0 -27px; background: linear-gradient(90deg, var(--orders-wine), var(--orders-rose)); }
.summary-heading { display: flex; align-items: center; justify-content: space-between; padding: 28px 0 20px; border-bottom: 1px solid var(--orders-line); }
.summary-heading span { color: var(--orders-rose); font-size: .61rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.summary-heading h2 { margin: 1px 0 0; color: var(--orders-wine); font-family: "Cormorant Garamond", serif; font-size: 2rem; font-weight: 600; }
.summary-count { display: grid; width: 53px; height: 53px; place-content: center; border-radius: 50%; text-align: center; color: #fff; background: var(--orders-wine); }
.summary-count strong { font-family: "Cormorant Garamond", serif; font-size: 1.35rem; line-height: .8; }
.summary-count small { margin-top: 5px; font-size: .48rem; letter-spacing: .08em; text-transform: uppercase; }
.summary-items { max-height: 440px; overflow: auto; scrollbar-width: thin; scrollbar-color: #d4b8ae transparent; }
.summary-empty { display: grid; justify-items: center; padding: 45px 12px 38px; text-align: center; }
.summary-empty[hidden] { display: none; }
.summary-empty svg { width: 44px; margin-bottom: 14px; fill: none; stroke: #c6a69c; stroke-width: 1.2; }
.summary-empty strong { font-family: "Cormorant Garamond", serif; font-size: 1.2rem; }
.summary-empty p { max-width: 220px; margin: 5px 0 0; color: #927a75; font-size: .7rem; line-height: 1.55; }
.summary-item { padding: 17px 0; border-bottom: 1px solid var(--orders-line); }
.summary-item-main { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 11px; align-items: start; }
.summary-item-main > img { width: 52px; height: 52px; border-radius: 50% 50% 5px 5px; object-fit: cover; }
.summary-item-copy { min-width: 0; }
.summary-item-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.summary-item-head strong { font-family: "Cormorant Garamond", serif; font-size: 1.03rem; line-height: 1.1; }
.remove-item { flex: 0 0 auto; padding: 0; border: 0; color: #a9847b; background: transparent; font-size: 1.25rem; line-height: 1; cursor: pointer; }
.summary-flavor { display: inline-block; margin-top: 5px; padding: 3px 7px; border-radius: 999px; color: var(--orders-wine); background: var(--orders-blush); font-size: .53rem; font-weight: 700; line-height: 1.2; }
.summary-item-price { display: block; margin-top: 5px; color: #9a7e77; font-size: .58rem; }
.summary-item-controls { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; }
.quantity-control { display: flex; align-items: center; border: 1px solid #ddcdc7; border-radius: 2px; }
.quantity-control button { width: 29px; height: 29px; padding: 0; border: 0; color: var(--orders-wine); background: #faf5f2; font-size: 1rem; cursor: pointer; }
.quantity-control input { width: 56px; height: 29px; padding: 0; border: 0; border-inline: 1px solid #ddcdc7; outline: none; text-align: center; color: var(--orders-ink); background: #fff; font: 700 .7rem "Manrope", sans-serif; appearance: textfield; }
.quantity-control input::-webkit-inner-spin-button { appearance: none; }
.summary-subtotal { color: var(--orders-wine); font-size: .78rem; font-weight: 700; }
.summary-clear { display: block; margin: 13px 0 0 auto; padding: 0; border: 0; border-bottom: 1px solid currentColor; color: #92736d; background: none; font: 600 .63rem "Manrope", sans-serif; cursor: pointer; }
.summary-total { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: 22px; padding-top: 21px; border-top: 1px solid var(--orders-line); }
.summary-total span { color: #725c57; font-size: .72rem; font-weight: 600; }
.summary-total strong { color: var(--orders-wine); font-family: "Cormorant Garamond", serif; font-size: 2rem; font-weight: 600; line-height: 1; }
.summary-caption { margin: 7px 0 20px; color: #a18882; font-size: .56rem; text-align: right; }
.form-status { margin: 0 0 12px; color: #9b3e3e; font-size: .68rem; font-weight: 600; line-height: 1.45; }
.generate-pdf { display: flex; width: 100%; min-height: 53px; align-items: center; justify-content: center; gap: 9px; }
.generate-pdf svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.generate-pdf:disabled { opacity: .48; cursor: not-allowed; }
.privacy-note { display: block; margin-top: 12px; color: #a08781; font-size: .55rem; line-height: 1.5; text-align: center; }

.orders-assurance { position: relative; overflow: hidden; padding: 100px 0; color: #fffaf7; text-align: center; background: var(--orders-wine); }
.orders-assurance::before, .orders-assurance::after { content: ""; position: absolute; width: 390px; height: 390px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; }
.orders-assurance::before { left: -190px; top: -180px; }
.orders-assurance::after { right: -170px; bottom: -240px; }
.orders-assurance-inner { position: relative; z-index: 1; max-width: 800px; }
.orders-assurance .eyebrow { color: #e5b7a4; }
.orders-assurance h2 { margin: 12px 0 20px; font-family: "Cormorant Garamond", serif; font-size: clamp(2.5rem, 5vw, 4.3rem); font-weight: 500; line-height: .98; }
.orders-assurance p:not(.eyebrow) { max-width: 650px; margin: 0 auto 30px; color: rgba(255,250,247,.72); font-size: .92rem; line-height: 1.75; }

@keyframes orderReveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

@media (max-width: 1100px) {
  .orders-layout { grid-template-columns: minmax(0, 1fr) 330px; }
  .orders-hero-grid { grid-template-columns: 1fr 1fr; gap: 45px; }
  .orders-hero-seal { left: -25px; }
  .product-row { grid-template-columns: 94px minmax(0, 1fr) 160px; gap: 15px; }
  .product-image { width: 94px; height: 94px; }
  .product-action { width: 160px; }
}

@media (max-width: 900px) {
  .orders-hero { min-height: auto; padding-top: 135px; }
  .orders-hero-grid { grid-template-columns: 1fr; }
  .orders-hero-copy { max-width: 680px; }
  .orders-hero-art { max-width: 600px; justify-self: center; }
  .orders-layout { grid-template-columns: 1fr; }
  .order-summary { position: static; }
  .summary-items { max-height: none; }
}

@media (max-width: 700px) {
  .orders-hero { padding-bottom: 64px; }
  .orders-hero-copy .breadcrumb { margin-bottom: 30px; }
  .orders-hero-copy { min-width: 0; }
  .orders-hero-copy h1 { max-width: 100%; font-size: clamp(3.15rem, 14vw, 4rem); }
  .orders-hero-copy h1 em { white-space: normal; }
  .orders-hero-frame { height: 390px; }
  .orders-hero-seal { width: 125px; height: 125px; left: -5px; bottom: 20px; }
  .orders-hero-seal strong { font-size: 1.5rem; }
  .orders-steps-grid { grid-template-columns: 1fr; }
  .orders-steps article, .orders-steps article:first-child { padding: 22px 10px; border-right: 0; border-left: 0; border-bottom: 1px solid var(--orders-line); }
  .customer-grid { grid-template-columns: 1fr; }
  .field-wide, .field-notes { grid-column: auto; }
  .product-row { grid-template-columns: 82px minmax(0, 1fr); gap: 14px; align-items: start; }
  .product-image { width: 82px; height: 82px; }
  .product-action { grid-column: 1 / -1; width: 100%; padding-left: 96px; }
  .custom-item-form { grid-template-columns: 1fr 1fr; padding-left: 17px; }
  .custom-field-description, .add-custom-item, .custom-item-status { grid-column: 1 / -1; }
  .order-panel { padding: 25px 19px; }
  .orders-heading { margin-bottom: 34px; }
}

@media (max-width: 430px) {
  .product-row { grid-template-columns: 72px minmax(0, 1fr); }
  .product-image { width: 72px; height: 72px; }
  .product-image span { display: none; }
  .product-action { padding-left: 86px; }
  .product-copy h4 { font-size: 1.22rem; }
}

@media print {
  .site-header, .orders-hero, .orders-steps, .orders-heading, .orders-main, .orders-assurance, .site-footer { display: none !important; }
  .orders-builder, .section { padding: 0 !important; }
  .orders-layout { display: block; }
  .order-summary { position: static; border: 0; box-shadow: none; }
  .generate-pdf, .summary-clear, .privacy-note, .form-status { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .orders-hero-copy, .orders-hero-art, .product-row { animation: none; }
}
