/* Inter, locally hosted under the SIL Open Font License (../fonts/OFL.txt). */
@font-face {
  font-family:'Inter';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/inter-v12-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family:'Inter';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/inter-v12-latin-600.woff2') format('woff2');
}
@font-face {
  font-family:'Inter';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/inter-v12-latin-700.woff2') format('woff2');
}

:root {
  --cw-paper:#f7f4eb;
  --cw-ink:#29372d;
  --cw-muted:#657061;
  --cw-primary:#a7472e;
  --cw-line:#dcded1;
  --cw-surface:#eeeee3;
  --cw-accent-surface:#e8eadb;
  --cw-font:'Inter',Arial,Helvetica,sans-serif;
  --bs-primary:#a7472e;
  --bs-primary-rgb:167,71,46;
  --bs-link-color:#a7472e;
  --bs-link-hover-color:#843820;
  --bs-body-font-family:var(--cw-font);
  --bs-body-color:#29372d;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}

body.zipolite-theme {
  background:var(--cw-paper);
  color:#29372d;
  font:14px/1.65 var(--cw-font);
  margin:0;
}

.zipolite-theme * {
  box-sizing:border-box;
}

.zipolite-theme #container {
  position:relative;
  min-height:100vh;
  margin:0;
  display:flex;
  flex-direction:column;
}

.zipolite-theme main {
  flex:1;
}

.zipolite-theme #content,.zipolite-theme #column-left,.zipolite-theme #column-right {
  padding-bottom:35px;
}

.zipolite-theme footer.cw-footer {
  position:static;
  bottom:auto;
  width:100%;
}

.zipolite-theme button:focus-visible {
  outline:3px solid var(--cw-primary)!important;
  outline-offset:4px;
}

.zipolite-theme a {
  color:inherit;
  text-decoration:none;
}

.zipolite-theme a:hover {
  color:var(--cw-primary);
}

.zipolite-theme h1,.zipolite-theme h2,.zipolite-theme h3,.zipolite-theme h4 {
  color:var(--cw-ink);
  font-family:var(--cw-font);
  font-weight:700;
  letter-spacing:-.035em;
  line-height:1.2;
}

.zipolite-theme h1 {
  font-size:clamp(30px,3.2vw,42px);
}

.zipolite-theme h2 {
  font-size:clamp(27px,2.8vw,36px);
}

.zipolite-theme h3 {
  font-size:24px;
}

.zipolite-theme h4 {
  font-size:20px;
}

/* Information pages and terms dialogs use compact reading typography. */
.zipolite-theme #information-information #content h2,
.zipolite-theme #modal-information .modal-body h2 {
  font-size:18px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:normal;
  margin:24px 0 8px;
}
.zipolite-theme #information-information #content ol,
.zipolite-theme #modal-information .modal-body ol {
  padding-left:24px;
  margin:24px 0 0;
}
.zipolite-theme #information-information #content ol>li,
.zipolite-theme #modal-information .modal-body ol>li {
  padding-left:6px;
  margin-bottom:20px;
}
.zipolite-theme #information-information #content ol>li::marker,
.zipolite-theme #modal-information .modal-body ol>li::marker {
  font-size:16px;
  font-weight:600;
}
.zipolite-theme #information-information #content li h2,
.zipolite-theme #modal-information .modal-body li h2 {
  margin-top:0;
}
.zipolite-theme #modal-information .modal-dialog {
  width:calc(100% - 32px);
  margin:24px auto;
}
.zipolite-theme #modal-information .modal-content {
  max-height:calc(100vh - 48px);
  max-height:calc(100dvh - 48px);
  border:1px solid var(--cw-line);
  border-radius:16px;
  overflow:hidden;
}
.zipolite-theme #modal-information .modal-header {
  padding:18px 24px;
  flex-shrink:0;
}
.zipolite-theme #modal-information .modal-body {
  padding:24px;
  overflow-y:auto;
  overscroll-behavior:contain;
  line-height:1.7;
}
.zipolite-theme #modal-information .modal-body p:last-child {
  margin-bottom:0;
}
@media(max-width:575px) {
  .zipolite-theme #modal-information .modal-header,
  .zipolite-theme #modal-information .modal-body { padding:16px; }
}

.zipolite-theme .container {
  width:100%;
  max-width:1320px;
  padding-left:48px;
  padding-right:48px;
}

.zipolite-theme :focus-visible {
  outline:3px solid var(--cw-primary);
  outline-offset:5px;
}

.cw-skip {
  position:fixed;
  top:-100px;
  left:16px;
  background:var(--cw-paper);
  padding:12px;
  z-index:1100;
}

.cw-skip:focus {
  top:10px;
}

.cw-announcement {
  display:flex;
  justify-content:space-between;
  padding:7px 48px;
  background:var(--cw-ink);
  color:var(--cw-paper);
  font-size:11px;
  font-weight:600;
}

.cw-announcement>span:last-child {
  letter-spacing:.06em;
  font-size:10px;
}

.cw-announcement-right { display:flex; align-items:center; gap:22px; }
.cw-language-switch { display:flex; align-items:center; gap:2px; margin:0; }
.cw-language-switch .dropdown-item { width:auto; padding:4px 7px; border:0; border-radius:4px; background:transparent; color:inherit; font:inherit; cursor:pointer; opacity:.7; }
.cw-language-switch .dropdown-item.is-active { opacity:1; background:#ffffff20; }
.cw-language-switch .dropdown-item:hover, .cw-language-switch .dropdown-item:focus-visible { opacity:1; background:#ffffff30; }
@media(max-width:575px) { .cw-announcement-place { display:none; } }
.cw-header {
  background:var(--cw-paper);
  position:sticky;
  top:0;
  z-index:1020;
  border-bottom:1px solid var(--cw-line);
}

.cw-header-inner {
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}

.cw-brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--cw-font);
  font-size:23px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-1px;
  flex-shrink:0;
  color:var(--cw-ink);
}

.cw-brand-second {
  display:block;
  font-size:.7em;
  letter-spacing:-.3px;
  color:var(--cw-primary);
}

.cw-brand-second i {
  font-size:inherit;
  font-weight:400;
  font-style:normal;
}

.cw-sun {
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  border-radius:50%;
  font-size:28px;
  color:#a7472e;
  background:#ead7b7;
}

.cw-nav {
  display:flex;
  gap:29px;
  font-size:13px;
  font-weight:600;
  color:#657061;
}

.cw-nav a {
  padding:12px 0;
}

.cw-nav a:hover {
  text-decoration:underline;
  text-underline-offset:8px;
}

.cw-header-actions {
  display:flex;
  align-items:center;
  gap:20px;
}

.cw-account {
  font-size:16px;
  width:40px;
  height:40px;
  border:1px solid var(--cw-line);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--cw-primary);
}

.cw-header #cart {
  margin:0;
  width:auto;
  min-width:0;
}

.cw-header:has(.cw-mini-cart.show) {
  z-index:1091;
}

.cw-header #cart>.dropdown>.btn {
  font-size:12px;
  border:1px solid var(--cw-primary);
  border-radius:24px;
  color:var(--cw-primary);
  background:#faf8f1;
  padding:11px 16px;
  box-shadow:none;
  text-shadow:none;
}

.cw-header #cart .dropdown-menu {
  width:min(410px,calc(100vw - 32px));
  min-width:0;
  max-height:calc(100dvh - 140px);
  overflow-y:auto;
  overscroll-behavior:contain;
  background:var(--cw-paper);
  border:1px solid var(--cw-line);
  padding:16px!important;
  border-radius:16px;
  box-shadow:0 8px 30px #29372d14;
}

.cw-header #cart .dropdown-menu li { min-width:0; }
.cw-mini-cart-items { list-style:none; margin:0; padding:0; }
.cw-mini-cart-item { display:grid; grid-template-columns:64px minmax(0,1fr) 30px; align-items:start; gap:12px; padding:16px 0; border-bottom:1px solid var(--cw-line); }
.cw-mini-cart-item:first-child { padding-top:0; }
.cw-mini-cart-image img { display:block; width:64px; height:64px; object-fit:cover; border-radius:8px; }
.cw-mini-cart-details { min-width:0; overflow-wrap:anywhere; }
.cw-mini-cart-name { display:block; font-size:13px; font-weight:600; line-height:1.45; margin-bottom:5px; }
.cw-mini-cart-option { font-size:11px; color:var(--cw-muted); margin:3px 0; line-height:1.5; }
.cw-mini-cart-price { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; margin-top:10px; font-size:12px; }
.cw-mini-cart-price>span { color:var(--cw-muted); }
.cw-mini-cart-remove { display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid var(--cw-line); border-radius:50%; color:var(--cw-muted); background:transparent; font-size:13px; }
.cw-mini-cart-remove:hover { border-color:var(--cw-primary); color:var(--cw-primary); background:#a7472e0a; }
.cw-mini-cart-totals { margin:14px 0; font-size:12px; }
.cw-mini-cart-totals>div { display:flex; justify-content:space-between; gap:16px; padding:4px 0; }
.cw-mini-cart-totals dt { font-weight:400; }
.cw-mini-cart-totals dd { margin:0; text-align:right; }
.cw-mini-cart-totals>div:last-child { font-size:14px; font-weight:700; }
.cw-mini-cart-totals>div:last-child dt { font-weight:700; }
.cw-mini-cart-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.zipolite-theme .cw-mini-cart-actions .btn { padding:11px 8px; font-size:12px; }
.cw-mini-cart-empty { padding:20px 10px; text-align:center; font-size:13px; margin:0; }

@media(max-width:991px) {
  .cw-header #cart>.dropdown { position:static; }
  .cw-header #cart .dropdown-menu {
    top:100%!important;
    left:auto!important;
    right:16px!important;
    transform:none!important;
    max-height:calc(100dvh - 130px);
  }
}

.cw-menu-toggle {
  display:none;
}

.zipolite-theme .btn {
  font-family:var(--cw-font);
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  padding:13px 22px;
  border-radius:8px;
  text-shadow:none;
  box-shadow:none;
  transition:background .15s,color .15s;
}

.zipolite-theme .btn-primary {
  background:var(--cw-primary);
  border:1px solid var(--cw-primary);
  color:#fff;
}

.zipolite-theme .btn-primary:hover,.zipolite-theme .btn-primary:focus {
  background:#843820;
  border-color:#843820;
  color:#fff;
}

.zipolite-theme .btn-outline-primary {
  border:1px solid var(--cw-primary);
  color:var(--cw-primary);
  background:#faf8f1;
}

.zipolite-theme .btn-outline-primary:hover {
  background:var(--cw-accent-surface);
  color:var(--cw-ink);
  border-color:var(--cw-ink);
}

.zipolite-theme .btn-light {
  background:#eeeee3;
  border-color:var(--cw-line);
  color:var(--cw-ink);
}

.zipolite-theme .cw-text-link {
  font-size:13px;
  font-weight:600;
  display:inline-flex;
  gap:12px;
  align-items:center;
  color:var(--cw-primary);
  padding:5px 0;
}

.cw-hero {
  display:grid;
  grid-template-columns:1fr 1.12fr;
  gap:54px;
  padding-top:42px;
  padding-bottom:44px;
  align-items:center;
}

.cw-eyebrow {
  font:600 11px/1.6 var(--cw-font);
  letter-spacing:.08em;
  margin:0 0 18px;
  text-transform:uppercase;
  color:var(--cw-primary);
}

.cw-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  display:inline-block;
  background:var(--cw-primary);
  margin-right:8px;
}

.cw-hero h1 {
  font-size:clamp(38px,3.7vw,54px);
  line-height:1.13;
  letter-spacing:-.045em;
  margin:0 0 22px;
}

.cw-hero h1 em {
  color:var(--cw-primary);
  font-weight:700;
  font-style:normal;
}

.cw-lead {
  max-width:430px;
  font-size:15px;
  line-height:1.8;
  color:var(--cw-muted);
  margin-bottom:26px;
}

.cw-hero-buttons {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}

.cw-hero-buttons .btn {
  display:flex;
  gap:29px;
}

.cw-hero-foot {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
  margin-top:25px;
}

.cw-hero-foot>span {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  color:var(--cw-muted);
}

.cw-hero-foot p {
  margin:0;
}

.cw-hero-visual {
  position:relative;
  min-width:0;
  align-self:stretch;
  min-height:430px;
  border-radius:20px;
  overflow:hidden;
}

.cw-hero-visual>img {
  display:block;
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  object-position:44% center;
  border-radius:20px;
}

.cw-photo-label {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:35px 24px 20px;
  background:linear-gradient(transparent,#1a231db3);
  color:#fff;
  display:flex;
  justify-content:space-between;
  font-size:10px;
  letter-spacing:.04em;
}

.cw-ribbon {
  background:var(--cw-accent-surface);
  border-block:1px solid #dcded1;
}

.cw-ribbon>.container {
  display:flex;
  align-items:center;
  justify-content:space-around;
  gap:20px;
  min-height:65px;
}

.cw-ribbon span {
  font-size:13px;
  color:var(--cw-ink);
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.cw-ribbon i {
  font-size:18px;
  color:var(--cw-primary);
  font-style:normal;
}

.cw-section {
  padding-top:64px;
  padding-bottom:64px;
}

.cw-section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:28px;
}

.cw-section-heading h2 {
  margin:0;
}

.cw-section-heading .cw-eyebrow {
  margin-bottom:14px;
}

.cw-section-heading p:not(.cw-eyebrow) {
  font-size:13px;
  color:var(--cw-muted);
  margin-bottom:5px;
  line-height:1.8;
}

.cw-pass-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.cw-pass {
  border:1px solid var(--cw-line);
  border-radius:16px;
  display:flex;
  flex-direction:column;
  position:relative;
  background:#faf8f1;
  overflow:hidden;
  box-shadow:0 4px 16px #29372d08;
}

.cw-pass-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:14px;
  font-size:11px;
  font-weight:600;
  color:var(--cw-primary);
}

.cw-pass-top>span:last-child {
  font-size:14px;
}

.cw-pass h3 {
  font-size:25px;
  margin:0 0 8px;
}

.cw-pass-time {
  font-size:13px;
  color:var(--cw-muted);
}

.cw-pass-price {
  font-size:30px;
  font-weight:700;
  color:var(--cw-ink);
  margin:18px 0 10px;
  letter-spacing:-1px;
}

.cw-pass-price small {
  font:400 12px var(--cw-font);
  color:var(--cw-muted);
  letter-spacing:0;
}

.cw-pass-copy>p:last-of-type {
  font-size:13px;
  line-height:1.7;
  min-height:45px;
  margin-bottom:26px;
}

.cw-pass .btn {
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.cw-pass-featured {
  background:var(--cw-ink);
  color:var(--cw-paper);
  border-color:var(--cw-ink);
  box-shadow:0 4px 20px #29372d12;
}

.cw-pass-featured h3 {
  color:var(--cw-paper);
}

.cw-pass-featured .cw-pass-price {
  color:var(--cw-paper);
}

.cw-pass-featured .cw-pass-time,.cw-pass-featured .cw-pass-price small,.cw-pass-featured .cw-pass-top {
  color:#d4d8c9;
}

.cw-pass-featured .btn-primary {
  background:#ead7b7;
  color:var(--cw-ink);
  border-color:#ead7b7;
}

.zipolite-theme .cw-pass-featured .btn-primary:hover,.zipolite-theme .cw-pass-featured .btn-primary:focus {
  background:#fff0d4;
  border-color:#fff0d4;
  color:var(--cw-ink);
}

.cw-section-note {
  font-size:11px;
  color:var(--cw-muted);
  margin-top:22px;
  max-width:850px;
}

.cw-cafe-section {
  background:var(--cw-surface);
}

@media(min-width:992px) {
  #product-category .cw-menu-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

.cw-menu-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:23px;
  align-items:stretch;
}

.zipolite-theme .product-thumb {
  border:1px solid var(--cw-line);
  margin:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#faf8f1;
  height:100%;
  border-radius:16px;
  box-shadow:0 3px 12px #29372d06;
}

.zipolite-theme .product-thumb .image {
  position:relative;
  float:none;
  width:100%;
  overflow:hidden;
  text-align:left;
}

.zipolite-theme .product-thumb .image img {
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .3s;
}

.zipolite-theme .product-thumb .image a:hover img {
  opacity:1;
  transform:scale(1.035);
}

.zipolite-theme .product-thumb .content {
  padding:18px 18px 0;
  margin:0;
  flex:1;
  display:flex;
  flex-direction:column;
}

.zipolite-theme .product-thumb .description {
  padding:0;
  min-height:0;
  flex:1;
}

.zipolite-theme .product-thumb h4 {
  font-size:19px;
  margin:0 0 10px;
  letter-spacing:-.025em;
}

.zipolite-theme .product-thumb p {
  font-size:12px;
  line-height:1.7;
  color:var(--cw-muted);
}

.zipolite-theme .product-thumb .price {
  color:var(--cw-ink);
  font-size:17px;
  font-weight:700;
  margin:12px 0 16px;
  min-height:0;
}

.zipolite-theme .product-thumb .price small {
  color:var(--cw-muted);
  font-size:11px;
}

.zipolite-theme .price-old {
  font-weight:400;
  color:var(--cw-muted);
}

.zipolite-theme .price-tax {
  display:block;
  font-size:11px;
  color:var(--cw-muted);
}

.zipolite-theme .cw-card-link {
  font-size:12px;
  font-weight:600;
  color:var(--cw-primary);
  display:flex;
  justify-content:space-between;
  border-top:1px solid var(--cw-line);
  padding:14px 0;
}

.cw-card-tag {
  position:absolute;
  top:12px;
  left:12px;
  background:#faf8f1;
  color:var(--cw-ink);
  border-radius:20px;
  padding:5px 10px;
  font-size:10px;
  font-weight:600;
}

.zipolite-theme .cw-product-card .description {
  margin-bottom:0;
}

.zipolite-theme #alert {
  left:auto;
  margin-left:0;
}

.cw-space {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:80px;
  align-items:center;
}

.cw-space-image img {
  width:100%;
  height:380px;
  object-fit:cover;
  border-radius:20px;
}

.cw-space-image>span {
  display:block;
  margin-top:14px;
  font-size:9px;
  letter-spacing:.13em;
}

.cw-space-copy h2 {
  margin-bottom:23px;
}

.cw-space-copy p:not(.cw-eyebrow) {
  color:var(--cw-muted);
  font-size:14px;
  max-width:390px;
}

.cw-space-copy .btn {
  margin-top:15px;
}

.zipolite-theme .cw-footer {
  margin-top:40px;
  padding:55px 0 22px;
  background:#29372d;
  color:#eeeede;
  border:0;
}

.cw-footer-top {
  display:grid;
  grid-template-columns:1.8fr 1fr 1fr;
  gap:65px;
  padding-bottom:55px;
}

.cw-footer h2 {
  color:var(--cw-paper);
  font-size:32px;
  margin-bottom:20px;
}

.cw-footer h3 {
  color:var(--cw-paper);
  font:600 14px var(--cw-font);
  letter-spacing:0;
  margin-bottom:20px;
}

.cw-footer .cw-eyebrow {
  color:#c1c6b4;
  font-size:10px;
}

.cw-footer p:not(.cw-eyebrow),.cw-footer a {
  font-size:13px;
  color:#d4d8c9;
}

.cw-footer-top>div:not(:first-child)>a {
  display:block;
  margin-bottom:9px;
}

.zipolite-theme .cw-footer .cw-text-link {
  color:#f2d5b1;
}

.zipolite-theme .cw-footer a:hover {
  color:#fff;
  text-decoration:underline;
}

.cw-footer-bottom {
  border-top:1px solid #5a6255;
  padding-top:22px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:#c1c6b4;
}

.cw-footer-bottom a {
  font-size:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}

.zipolite-theme .breadcrumb {
  border:0;
  background:transparent;
  border-radius:0;
  padding:22px 0 18px;
  margin:0 0 12px;
  font-size:12px;
  color:var(--cw-muted);
}

.zipolite-theme .breadcrumb a {
  border:0;
}

.zipolite-theme .breadcrumb li:after {
  display:none;
}

.zipolite-theme .breadcrumb-item+.breadcrumb-item:before {
  padding:0 12px;
  color:var(--cw-muted);
  content:'/';
}

.cw-category-header {
  max-width:760px;
  padding:8px 0 30px;
}

.cw-category-header h1 {
  margin:0 0 18px;
}

.cw-category-header .cw-eyebrow {
  margin-bottom:12px;
}

.cw-category-header p {
  font-size:14px;
  color:var(--cw-muted);
}

.cw-category-links {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 30px;
}

.cw-category-links a {
  padding:8px 15px;
  border:1px solid var(--cw-line);
  font-size:12px;
  border-radius:25px;
}

.cw-category-links a:hover {
  background:var(--cw-surface);
}

.cw-catalog-tools {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  border-top:1px solid var(--cw-line);
  padding:22px 0;
  margin-bottom:12px;
}

.cw-catalog-tools>p {
  font-size:12px;
  margin:0;
  color:var(--cw-muted);
}

.cw-sort {
  display:flex;
  align-items:center;
  gap:10px;
}

.cw-sort label {
  white-space:nowrap;
  font-size:11px;
}

.cw-sort select {
  max-width:210px;
}

.cw-pagination {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:35px;
  font-size:12px;
}

.cw-related {
  padding-top:65px;
  margin-top:30px;
  border-top:1px solid var(--cw-line);
}

.zipolite-theme .form-control,.zipolite-theme .form-select {
  background-color:#fdfbf6;
  border-color:#c4c8b8;
  border-radius:8px;
  font-size:14px;
  min-height:44px;
  color:#29372d;
  padding:10px 13px;
  box-shadow:none;
}

.zipolite-theme .form-control:focus,.zipolite-theme .form-select:focus {
  border-color:var(--cw-primary);
  box-shadow:0 0 0 2px #a7472e22;
}

.zipolite-theme .form-check-input:checked {
  background-color:var(--cw-primary);
  border-color:var(--cw-primary);
}

.zipolite-theme .form-label {
  font-size:12px;
  font-weight:600;
}

.zipolite-theme legend {
  font-family:var(--cw-font);
  font-size:23px;
  font-weight:600;
  color:var(--cw-ink);
  border-color:var(--cw-line);
}

.zipolite-theme .input-group-text {
  border-color:var(--cw-line);
  background:var(--cw-surface);
  font-size:12px;
}

.zipolite-theme .table {
  --bs-table-bg:transparent;
  --bs-table-striped-bg:#eeeee3;
  --bs-table-color:var(--cw-ink);
  border-color:var(--cw-line);
  font-size:13px;
}

.zipolite-theme .list-group-item,.zipolite-theme .card {
  border-color:var(--cw-line);
  background:#faf8f1;
}

.zipolite-theme .card-header {
  background:var(--cw-surface);
}

.zipolite-theme .img-thumbnail {
  padding:0;
  border:0;
  background:transparent;
  border-radius:3px;
}

.zipolite-theme .nav-tabs {
  border-color:var(--cw-line);
  margin-top:40px;
}

.zipolite-theme .nav-tabs .nav-link {
  font-size:14px;
  font-weight:600;
  color:var(--cw-muted);
  border-radius:0;
  padding:14px 20px;
}

.zipolite-theme .nav-tabs .nav-link.active {
  background:transparent;
  border-color:transparent transparent var(--cw-primary);
  color:var(--cw-ink);
  border-bottom-width:2px;
}

.zipolite-theme .tab-content {
  padding:24px 0;
}

.zipolite-theme .tab-content p,.zipolite-theme .tab-content li {
  font-size:14px;
  line-height:1.8;
}

.zipolite-theme .tab-content small {
  font-size:10px;
  color:var(--cw-muted);
}

.zipolite-theme .tab-content a {
  text-decoration:underline;
  text-underline-offset:3px;
}

.cw-product-layout {
  gap:42px;
}

.cw-product-gallery {
  min-width:0;
}

.cw-product-details h1 {
  font-size:34px;
  margin:0 0 18px;
}

.cw-product-details .cw-eyebrow {
  margin-bottom:14px;
}

.cw-product-details .cw-product-note {
  font-size:12px;
  color:var(--cw-muted);
  padding-bottom:15px;
  border-bottom:1px solid var(--cw-line);
}

.cw-product-details h2 {
  font-size:30px;
}

.cw-product-details h3 {
  font-size:22px;
}

.cw-product-details .list-unstyled {
  font-size:12px;
}

.cw-product-details #product {
  padding:22px 24px;
  background:var(--cw-accent-surface);
  border:1px solid #dcded1;
  border-radius:16px;
  margin-top:24px;
}

.cw-product-details #product hr:first-child {
  display:none;
}

.cw-product-details #product h3 {
  margin-bottom:23px;
}

.cw-product-details #button-cart {
  width:100%;
  margin-top:14px;
  border-radius:8px;
}

.cw-product-details #input-quantity {
  max-width:110px;
  border-radius:0 8px 8px 0;
}

.zipolite-theme #alert {
  position:fixed;
  top:130px;
  right:24px;
  width:min(500px,calc(100% - 48px));
  z-index:1090;
}

.zipolite-theme .alert {
  font-size:13px;
}

.zipolite-theme .pagination .page-link {
  background:transparent;
  border-color:var(--cw-line);
  color:var(--cw-ink);
}

.zipolite-theme .pagination .active .page-link {
  background:var(--cw-ink);
  color:#fff;
}

.cw-pass-image {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}
.cw-pass-copy {
  display:flex;
  flex-direction:column;
  flex:1;
  padding:24px;
}
.cw-pass-featured .cw-pass-top>span {
  background:#465343;
  color:var(--cw-paper);
  padding:4px 10px;
  border-radius:16px;
  margin:-4px 0;
}
.cw-hero-foot i { color:var(--cw-primary); }
.zipolite-theme .card { border-radius:12px; overflow:hidden; }
.zipolite-theme .form-control.is-invalid,.zipolite-theme .form-select.is-invalid { border-color:var(--bs-danger); }
.zipolite-theme .input-group-text { border-radius:8px 0 0 8px; }

@media(min-width:1600px) {
  .cw-hero {
    padding-top:70px;
    padding-bottom:70px;
  }
  .cw-hero-visual {
    min-height:450px;
  }
}

@media(max-width:1199px) {
  .zipolite-theme .container {
    padding-left:30px;
    padding-right:30px;
  }
  .cw-header-inner {
    gap:18px;
  }
  .cw-nav {
    gap:20px;
  }
  .cw-header-actions {
    gap:13px;
  }
  .cw-hero {
    gap:38px;
  }
  .cw-hero-visual,.cw-hero-visual>img {
    min-height:430px;
  }
  .cw-hero-buttons {
    gap:15px;
  }
  .cw-menu-grid {
    gap:18px;
  }
  .cw-space {
    gap:45px;
  }
  .cw-pass-copy {
    padding:23px;
  }
  .cw-footer-top {
    gap:35px;
  }
}

@media(max-width:991px) {
  .cw-header-inner {
    min-height:86px;
  }
  .cw-menu-toggle {
    border-radius:8px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    width:38px;
    height:42px;
    border:1px solid var(--cw-line);
    background:transparent;
    padding:9px;
  }
  .cw-menu-toggle span {
    width:18px;
    height:1px;
    background:var(--cw-ink);
  }
  .cw-nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    background:var(--cw-paper);
    padding:20px 30px;
    border-bottom:1px solid var(--cw-line);
    box-shadow:0 15px 20px #29372d0c;
  }
  .cw-nav.is-open {
    display:flex;
    flex-direction:column;
    gap:5px;
  }
  .cw-hero {
    gap:32px;
  }
  .cw-hero h1 {
    font-size:38px;
  }
  .cw-hero-visual,.cw-hero-visual>img {
    min-height:400px;
  }
  .cw-photo-label {
    font-size:8px;
  }
  .cw-pass-price {
    font-size:26px;
  }
  .cw-pass .btn {
    padding:12px 14px;
    font-size:12px;
  }
  .cw-section-heading {
    gap:25px;
  }
  .cw-menu-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 23px;
  }
  .cw-footer-top {
    grid-template-columns:1.3fr 1fr 1fr;
    gap:28px;
  }
  .cw-footer h2 {
    font-size:29px;
  }
  .cw-product-layout {
    gap:24px;
  }
  .cw-product-details h1 {
    font-size:29px;
  }
  .cw-product-details #product {
    padding:18px;
  }
  .cw-announcement {
    padding-left:30px;
    padding-right:30px;
  }
}

@media(max-width:767px) {
  .zipolite-theme .nav-tabs .nav-link {
    font-size:12px;
    padding:12px 6px;
  }
  .zipolite-theme .container {
    padding-left:22px;
    padding-right:22px;
  }
  .cw-announcement {
    padding:7px 22px;
    font-size:9px;
  }
  .cw-announcement>span:last-child {
    font-size:8px;
  }
  .cw-header-inner {
    min-height:79px;
    gap:14px;
  }
  .cw-brand {
    font-size:20px;
    gap:8px;
  }
  .cw-brand-second i {
    font-size:inherit;
  }
  .cw-sun {
    font-size:25px;
  }
  .cw-header-actions {
    gap:12px;
  }
  .cw-account {
    display:none;
  }
  .cw-header #cart>.dropdown>.btn {
    max-width:150px;
    padding:10px;
    font-size:10px;
    white-space:normal;
  }
  .cw-nav {
    padding:16px 22px;
  }
  .cw-hero {
    grid-template-columns:1fr;
    padding-top:38px;
    padding-bottom:32px;
    gap:32px;
  }
  .cw-hero h1 {
    font-size:clamp(35px,8.5vw,48px);
    margin-bottom:20px;
  }
  .cw-eyebrow {
    font-size:9px;
    margin-bottom:20px;
  }
  .cw-lead {
    font-size:14px;
    max-width:450px;
  }
  .cw-hero-buttons {
    gap:23px;
  }
  .cw-hero-buttons .btn {
    padding:14px 19px;
    font-size:12px;
  }
  .cw-hero-foot {
    display:none;
  }
  .cw-hero-visual,.cw-hero-visual>img {
    height:300px;
    min-height:0;
  }
  .cw-hero-visual>img {
    border-radius:20px;
    object-position:center;
  }
  .cw-photo-label {
    padding:20px 18px;
    font-size:8px;
  }
  .cw-ribbon>.container {
    flex-wrap:wrap;
    gap:12px;
    min-height:62px;
    padding-top:14px;
    padding-bottom:14px;
  }
  .cw-ribbon span {
    font-size:10px;
  }
  .cw-ribbon span:last-child {
    display:none;
  }
  .cw-ribbon i {
    font-size:20px;
  }
  .cw-section {
    padding-top:55px;
    padding-bottom:50px;
  }
  .cw-section-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:17px;
    margin-bottom:27px;
  }
  .cw-section-heading h2 {
    font-size:30px;
  }
  .cw-section-heading p br {
    display:none;
  }
  .cw-pass-grid {
    grid-template-columns:1fr;
    gap:15px;
  }
  .cw-pass-copy {
    padding:24px;
  }
  .cw-pass-top {
    margin-bottom:18px;
  }
  .cw-pass h3 {
    font-size:25px;
  }
  .cw-pass-price {
    font-size:30px;
    margin:14px 0 8px;
  }
  .cw-pass-copy>p:last-of-type {
    min-height:0;
    margin-bottom:21px;
  }
  .cw-pass .btn {
    padding:14px 18px;
  }
  .cw-section-note {
    font-size:10px;
    line-height:1.8;
  }
  .cw-menu-grid {
    gap:26px 17px;
  }
  .zipolite-theme .product-thumb h4 {
    font-size:17px;
    line-height:1.15;
  }
  .zipolite-theme .product-thumb .content {
    padding:14px 12px 0;
  }
  .zipolite-theme .product-thumb .price {
    font-size:13px;
    margin-bottom:12px;
  }
  .cw-card-link {
    font-size:10px;
  }
  .cw-space {
    grid-template-columns:1fr;
    gap:35px;
  }
  .cw-space-image img {
    height:320px;
    border-bottom-right-radius:20px;
  }
  .cw-space-copy h2 {
    font-size:29px;
  }
  .cw-footer-top {
    grid-template-columns:1fr 1fr;
    gap:35px 25px;
  }
  .cw-footer-top>div:first-child {
    grid-column:1/-1;
  }
  .zipolite-theme .cw-footer {
    padding:45px 0 22px;
    margin-top:25px;
  }
  .cw-footer-bottom {
    flex-direction:column;
    gap:6px;
  }
  .cw-footer h2 {
    font-size:29px;
  }
  .cw-category-header {
    padding-bottom:20px;
  }
  .cw-category-header h1 {
    font-size:30px;
  }
  .cw-catalog-tools {
    align-items:flex-start;
    flex-direction:column;
    gap:15px;
  }
  .cw-sort {
    width:100%;
    justify-content:space-between;
  }
  .cw-sort select {
    max-width:230px;
  }
  .cw-pagination {
    flex-direction:column;
    align-items:flex-start;
  }
  .cw-product-layout {
    display:block;
  }
  .cw-product-details {
    margin-top:30px;
  }
  .cw-product-details h1 {
    font-size:30px;
  }
  .cw-related {
    padding-top:40px;
  }
  .zipolite-theme #alert {
    top:115px;
    right:15px;
    width:calc(100% - 30px);
  }
  .zipolite-theme .breadcrumb {
    padding-top:20px;
    flex-wrap:wrap;
    line-height:1.7;
  }
  .zipolite-theme .table-responsive {
    font-size:12px;
  }
}

@media(max-width:374px) {
  .cw-brand {
    font-size:17px;
  }
  .cw-sun {
    font-size:23px;
  }
  .cw-header-actions {
    gap:6px;
  }
  .cw-header #cart>.dropdown>.btn {
    max-width:118px;
  }
  .cw-hero h1 {
    font-size:33px;
  }
  .cw-hero-buttons {
    gap:15px;
  }
  .cw-menu-grid {
    gap:22px 12px;
  }
  .zipolite-theme .product-thumb h4 {
    font-size:16px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  .zipolite-theme * {
    transition:none!important;
    animation:none!important;
  }
}

/* Swiper galleries: controls are scoped to each card or product gallery. */
.cw-gallery, .cw-gallery-main, .cw-card-swiper {
  width:100%;
  min-width:0;
  max-width:100%;
  --swiper-theme-color:var(--cw-primary);
  --swiper-pagination-color:#fff;
  --swiper-pagination-bullet-inactive-color:#fff;
  --swiper-pagination-bullet-inactive-opacity:.5;
}
.cw-gallery-main, .cw-card-swiper {
  overflow:hidden;
  border-radius:16px;
  background:var(--cw-surface);
}
.cw-gallery .swiper-wrapper, .cw-card-swiper .swiper-wrapper {
  align-items:stretch;
}
.cw-gallery .swiper-slide, .cw-card-swiper .swiper-slide {
  height:auto;
}
.cw-gallery-open, .cw-card-swiper .swiper-slide>a {
  display:block;
  position:relative;
}
.cw-gallery-main .cw-gallery-open img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}
.cw-gallery .cw-gallery-prev, .cw-gallery .cw-gallery-next,
.cw-card-swiper .cw-gallery-prev, .cw-card-swiper .cw-gallery-next {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid #fff8;
  border-radius:50%;
  background:#f7f4ebef;
  color:var(--cw-ink);
  font:30px/32px 'Inter',Arial,sans-serif;
  box-shadow:0 2px 8px #0002;
  display:grid;
  place-items:center;
  font-size:0;
}
.cw-gallery .cw-gallery-prev::before, .cw-gallery .cw-gallery-next::before,
.cw-card-swiper .cw-gallery-prev::before, .cw-card-swiper .cw-gallery-next::before,
.cw-thumbs-prev::before, .cw-thumbs-next::before {
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
}
.cw-gallery-prev::before, .cw-thumbs-prev::before { transform:translateX(2px) rotate(-135deg); }
.cw-gallery-next::before, .cw-thumbs-next::before { transform:translateX(-2px) rotate(45deg); }
.cw-gallery-prev { left:12px; }
.cw-gallery-next { right:12px; }
.cw-gallery .cw-gallery-prev:hover, .cw-gallery .cw-gallery-next:hover,
.cw-card-swiper .cw-gallery-prev:hover, .cw-card-swiper .cw-gallery-next:hover {
  background:#faf8f1;
}
.cw-image-count, .cw-enlarge {
  position:absolute;
  z-index:2;
  color:#fff;
  background:#29372dd9;
  border-radius:3px;
}
.cw-image-count { left:14px; bottom:14px; padding:4px 9px; font-size:11px; pointer-events:none; }
.cw-enlarge { right:14px; top:14px; width:33px; height:33px; text-align:center; font-size:17px; }
.cw-gallery .swiper-pagination, .cw-card-swiper .swiper-pagination {
  bottom:12px;
  width:auto;
  left:50%;
  transform:translateX(-50%);
  line-height:1;
  white-space:nowrap;
  background:#29372d9c;
  padding:5px 6px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.cw-gallery .swiper-pagination-bullet, .cw-card-swiper .swiper-pagination-bullet {
  padding:0;
  border:0;
  width:7px;
  height:7px;
  display:block;
  flex:0 0 auto;
  margin:0!important;
}
.cw-card-tag { z-index:2; pointer-events:none; }
.cw-thumbs-nav {
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 28px;
  align-items:center;
  gap:8px;
  margin-top:10px;
}
.cw-gallery-thumbs {
  width:100%;
  min-width:0;
  overflow:hidden;
  padding:3px;
}
.cw-gallery-thumbs .swiper-slide { width:74px; }
.cw-thumbs-prev, .cw-thumbs-next {
  width:28px;
  height:44px;
  padding:0;
  background:transparent;
  border:1px solid var(--cw-line);
  border-radius:8px;
  color:var(--cw-ink);
  font-size:0;
  display:grid;
  place-items:center;
}
.cw-thumbs-nav .swiper-button-disabled { opacity:.3; cursor:default; }
.cw-thumbs-nav .swiper-button-lock { visibility:hidden; display:grid; }
.cw-gallery-thumbs button {
  display:block;
  width:100%;
  padding:2px;
  border:2px solid transparent;
  border-radius:3px;
  background:transparent;
  opacity:.65;
}
.cw-gallery-thumbs button[aria-pressed="true"] { border-color:var(--cw-primary); opacity:1; }
.cw-gallery-thumbs button:hover { opacity:1; }
.cw-gallery-thumbs img { display:block; width:100%; height:54px; object-fit:cover; border-radius:1px; }
body.cw-gallery-is-open,body.cw-menu-offer-is-open { overflow:hidden; }
.cw-gallery-dialog {
  width:min(1200px,calc(100vw - 36px));
  max-width:none;
  max-height:calc(100dvh - 32px);
  margin:auto;
  padding:48px 12px 12px;
  border:0;
  border-radius:16px;
  background:#1a231d;
  color:#fff;
  overflow:hidden;
}
.cw-gallery-dialog::backdrop { background:#1a231ded; }
.cw-gallery-close {
  position:absolute;
  right:12px;
  top:5px;
  width:40px;
  height:40px;
  padding:0;
  background:transparent;
  color:#fff;
  border:0;
  font:32px/1 'Inter',Arial,sans-serif;
}
.cw-gallery-full { height:min(78dvh,850px); }
.cw-gallery-full .swiper-slide { display:flex; align-items:center; justify-content:center; }
.cw-gallery-full img { width:100%; height:100%; object-fit:contain; }
.cw-gallery-full .swiper-pagination { color:#fff; font-size:12px; padding:7px 12px; }

/* Optional menu suggestions after a successful pass addition. */
.cw-menu-offer {
  width:min(850px,calc(100vw - 32px));
  max-width:none;
  max-height:calc(100dvh - 40px);
  margin:auto;
  padding:0;
  border:1px solid var(--cw-line);
  border-radius:20px;
  background:var(--cw-paper);
  color:var(--cw-ink);
  overflow:hidden;
  box-shadow:0 20px 80px #29372d33;
}
.cw-checkout-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); align-items:start; gap:32px; margin:24px 0 48px; }
.cw-checkout-details { display:grid; gap:24px; min-width:0; }
.cw-checkout-card { min-width:0; padding:28px; border:1px solid var(--cw-line); border-radius:18px; background:#fffdf8; }
.cw-checkout-card legend, .cw-checkout-summary h2 { font-size:21px; font-weight:600; margin-bottom:22px; }
.cw-checkout-summary { position:sticky; top:110px; }
.cw-checkout-summary .table { font-size:13px; }
.cw-checkout-summary td { white-space:normal; overflow-wrap:anywhere; }
.cw-checkout-summary td:last-child { white-space:nowrap; }
.cw-checkout-summary #checkout-payment .btn { width:100%; margin-top:12px; }
.cw-payment-options { display:grid; gap:12px; }
.cw-payment-option { display:flex; align-items:center; gap:12px; padding:17px 18px; border:1px solid var(--cw-line); border-radius:12px; cursor:pointer; font-size:14px; }
.cw-payment-option:has(input:checked) { border-color:var(--cw-primary); background:#a7472e08; box-shadow:0 0 0 1px var(--cw-primary); }
.cw-payment-option:focus-within { outline:2px solid var(--cw-primary); outline-offset:3px; }
.cw-payment-option .form-check-input { float:none; flex-shrink:0; margin:0; width:18px; height:18px; }
.cw-checkout-comment { margin-top:28px; padding-top:24px; border-top:1px solid var(--cw-line); }
.cw-checkout-comment .form-label { font-size:16px; font-weight:600; margin-bottom:12px; }
@media(max-width:991px) {
  .cw-checkout-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .cw-checkout-summary { position:static; }
}
@media(max-width:575px) {
  .cw-checkout-card { padding:20px 16px; border-radius:14px; }
  .cw-checkout-layout { margin-top:18px; }
}
.cw-menu-offer[open] { display:flex; flex-direction:column; }
.cw-menu-offer::backdrop { background:#29372da6; }
.cw-menu-offer-header { position:relative; flex-shrink:0; padding:28px 32px 20px; }
.cw-menu-offer-header .cw-eyebrow { margin:0 40px 10px 0; color:var(--cw-ink); }
.cw-menu-offer-header h2 { font-size:27px; margin:0 30px 12px 0; }
.cw-menu-offer-header>p:last-of-type { color:var(--cw-muted); font-size:13px; margin:0; max-width:620px; }
.cw-menu-offer-close {
  position:absolute;
  right:16px;
  top:16px;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid var(--cw-line);
  border-radius:50%;
  background:var(--cw-paper);
  color:var(--cw-ink);
  font:26px/1 var(--cw-font);
  padding:0;
}
.cw-menu-offer-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:6px 32px 24px; }
.cw-menu-offer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cw-menu-offer-item { display:flex; align-items:center; gap:15px; padding:12px; border:1px solid var(--cw-line); border-radius:12px; background:#faf8f1; }
.cw-menu-offer-item:hover { border-color:var(--cw-primary); }
.cw-menu-offer-item img { width:86px; height:86px; object-fit:cover; border-radius:8px; flex-shrink:0; }
.cw-menu-offer-item-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.cw-menu-offer-item strong { font-size:14px; line-height:1.35; }
.cw-menu-offer-price { color:var(--cw-muted); font-size:12px; }
.cw-menu-offer-choose { color:var(--cw-primary); font-size:12px; font-weight:600; }
.cw-menu-offer-footer { display:flex; flex-shrink:0; justify-content:space-between; gap:16px; padding:18px 32px; border-top:1px solid var(--cw-line); background:var(--cw-paper); }
@media(max-width:575px) {
  .cw-menu-offer { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:16px; }
  .cw-menu-offer-header { padding:22px 18px 16px; }
  .cw-menu-offer-header h2 { font-size:23px; }
  .cw-menu-offer-header .cw-eyebrow { font-size:9px; }
  .cw-menu-offer-header>p:last-of-type { font-size:12px; }
  .cw-menu-offer-body { padding:6px 18px 18px; }
  .cw-menu-offer-grid { grid-template-columns:1fr; }
  .cw-menu-offer-item img { width:72px; height:72px; }
  .cw-menu-offer-footer { padding:14px 18px; gap:12px; }
  .cw-menu-offer-footer .btn { padding:11px 16px; font-size:13px; }
}
.cw-gallery-main:not(.swiper-initialized) .swiper-slide:not(:first-child),
.cw-card-swiper:not(.swiper-initialized) .swiper-slide:not(:first-child) { display:none; }
@media(max-width:767px) {
  .cw-gallery .cw-gallery-prev, .cw-gallery .cw-gallery-next,
  .cw-card-swiper .cw-gallery-prev, .cw-card-swiper .cw-gallery-next { width:32px; height:32px; font-size:0; line-height:1; }
  .cw-gallery-prev { left:8px; }
  .cw-gallery-next { right:8px; }
  .cw-gallery-thumbs .swiper-slide { width:63px; }
  .cw-gallery-thumbs img { height:46px; }
  .cw-image-count { left:10px; bottom:11px; font-size:9px; padding:4px 6px; }
  .cw-gallery-main .swiper-pagination { left:auto; right:10px; transform:none; }
  .cw-gallery-dialog { width:calc(100vw - 16px); padding:48px 4px 8px; }
  .cw-gallery-full { height:72dvh; }
  .cw-card-swiper .swiper-pagination { gap:6px; }
  .cw-card-swiper .swiper-pagination-bullet { width:5px; height:5px; }
}
