/* Tinta: a flat editorial catalog. Only the selected theme uses these faces. */
@font-face {
  font-family: "Castock Tinta Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/tinta/dm-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Castock Tinta Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/tinta/instrument-serif-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Castock Tinta Serif";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/tinta/instrument-serif-italic-latin.woff2") format("woff2");
}

html[data-catalog-theme="tinta"] {
  --tinta-paper: #f5f3eb;
  --tinta-card: #faf9f4;
  --tinta-ink: #1e2a38;
  --tinta-muted: #666b70;
  --tinta-line: #d1d0c6;
  --tinta-photo: #eeede7;
  --tinta-profile-size: clamp(112px,14vw,154px);
  /* The runtime computes generic surfaces inline; Tinta has its own paper tones. */
  --card: var(--tinta-card) !important;
  --card-raised: var(--tinta-card) !important;
  --ink: var(--tinta-ink) !important;
  --muted: var(--tinta-muted) !important;
  --line: var(--tinta-line) !important;
  --on-primary: #fffdf5 !important;
  --on-accent: var(--on-primary) !important;
  --shadow: none;
  --checkout-ink: var(--on-primary);
  font-family: "Castock Tinta Sans", system-ui, sans-serif;
}
html[data-catalog-theme="tinta"][data-surface="dark"] {
  --tinta-paper: #171b21;
  --tinta-card: #20262e;
  --tinta-ink: #f3f0e6;
  --tinta-muted: #b3b7bf;
  --tinta-line: #40454c;
  --on-primary: #14233c !important;
}
html[data-catalog-theme="tinta"] body { background: var(--tinta-paper); }
html[data-catalog-theme="tinta"] ::selection { background: var(--primary); color: var(--on-primary); }
html[data-catalog-theme="tinta"] :focus-visible { outline-color: var(--primary); }

/* A quiet masthead, with the business's real identity and logo. */
html[data-catalog-theme="tinta"] .catalog-header {
  grid-template-columns: minmax(0,1fr) auto auto;
  background: var(--tinta-paper);
  border-bottom: 1px solid var(--line);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html[data-catalog-theme="tinta"] .tinta-wordmark {
  min-width: 0;
  overflow: hidden;
  color: var(--primary);
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "Castock Tinta Serif", Georgia, serif;
  font-size: 27px;
  font-weight: 400;
  letter-spacing: -.02em;
}
html[data-catalog-theme="tinta"] :is(.catalog-socials a, .catalog-location-link, .cart-button, .profile-share) {
  border: 1px solid var(--line);
  border-radius: 2px;
  background: var(--tinta-paper);
  color: var(--primary);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 1;
}
html[data-catalog-theme="tinta"] .cart-button {
  border-color: var(--primary);
  font-weight: 500;
  background: var(--tinta-paper);
  color: var(--primary);
}
html[data-catalog-theme="tinta"] .cart-button b {
  color: var(--on-primary);
  background: var(--primary);
  border-radius: 1px;
  font-weight: 500;
}
html[data-catalog-theme="tinta"] .store-hero {
  grid-template-columns: var(--tinta-profile-size) minmax(0,1fr) auto;
  gap: 25px;
  padding-block: 46px 38px;
  background: transparent;
  border: 0;
}
html[data-catalog-theme="tinta"] :is(.store-hero, .profile-wrap)::before,
html[data-catalog-theme="tinta"] :is(.store-hero, .profile-wrap)::after { display: none; }
html[data-catalog-theme="tinta"] .profile-wrap { width: fit-content; max-width: 100%; justify-self: center; }
html[data-catalog-theme="tinta"] .profile-avatar {
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: minmax(0,1fr);
  width: var(--tinta-profile-size);
  height: var(--tinta-profile-size);
  aspect-ratio: 1/1;
  border: 1px solid var(--line);
  border-radius: 2px;
  box-shadow: none;
  font-family: "Castock Tinta Serif", Georgia, serif;
  font-weight: 400;
  background: var(--card);
  color: var(--primary);
  font-size: 38px;
}
/* Fill the square profile frame, regardless of the uploaded image's proportions. */
html[data-catalog-theme="tinta"] .profile-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}
html[data-catalog-theme="tinta"] .hero-copy h1 .tinta-title-accent {
  color: var(--primary);
  font-style: italic;
  font-weight: inherit;
}
html[data-catalog-theme="tinta"] .hero-copy h1 {
  font-family: "Castock Tinta Serif", Georgia, serif;
  font-size: clamp(42px,5.6vw,80px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.02;
  color: var(--ink);
  overflow-wrap: anywhere;
}
html[data-catalog-theme="tinta"] .hero-copy > p:last-child {
  max-width: 500px;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 12px;
}
html[data-catalog-theme="tinta"] .whatsapp-link {
  width: auto;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid var(--primary);
  border-radius: 0;
  background: transparent;
  color: var(--primary);
  box-shadow: none;
  font-size: 12px;
  font-weight: 500;
}
html[data-catalog-theme="tinta"] .whatsapp-link > span { display: none; }
html[data-catalog-theme="tinta"] .catalog-rating-trigger { border-radius: 2px; box-shadow: none; background: var(--card); }

/* Rules and small rectangular controls replace glass and floating pills. */
html[data-catalog-theme="tinta"] .catalog-controls {
  width: calc(100% - 32px);
  padding-block: 14px;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: var(--tinta-paper);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html[data-catalog-theme="tinta"] .catalog-controls :is(.category-menu-trigger, .catalog-sort-trigger, .collection-filter, .search-field.visible) {
  border-color: var(--line);
  border-radius: 2px;
  background: transparent;
  box-shadow: none;
  font-weight: 500;
}
html[data-catalog-theme="tinta"] .catalog-controls .collection-filter.active { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
html[data-catalog-theme="tinta"] .catalog-controls :is(.category-menu, .catalog-sort-menu) { border-radius: 2px; box-shadow: none; background: var(--card); }
html[data-catalog-theme="tinta"] :is(.catalog-sort-menu button, .category-menu-item, .catalog-active-filters button, .catalog-results-heading [data-results-count], .catalog-product-group > header > span) { border-radius: 2px; }
html[data-catalog-theme="tinta"] .catalog-product-group > header { border-bottom-color: var(--line); }
html[data-catalog-theme="tinta"] .catalog-product-group > header h3 { font-size: 17px; font-weight: 500; letter-spacing: -.02em; }
html[data-catalog-theme="tinta"] .section-heading .eyebrow { font-weight: 500; letter-spacing: .07em; }

/* A flat photo gallery; every commercial field keeps its current behavior. */
html[data-catalog-theme="tinta"] :is(.product-grid, .catalog-product-group-grid) { gap: 24px 20px; }
html[data-catalog-theme="tinta"] :is(.product-card, .product-card.has-offer, .product-card:hover) {
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  overflow: visible;
}
html[data-catalog-theme="tinta"] .product-media {
  aspect-ratio: 1/1;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: var(--tinta-photo);
  color: #252a30;
  overflow: hidden;
}
html[data-catalog-theme="tinta"] .product-media > img {
  padding: 0;
  object-fit: cover;
  object-position: center;
  background: var(--tinta-photo);
  transition: transform .3s ease;
}
html[data-catalog-theme="tinta"] .product-card:hover .product-media img { transform: none; }
@media (hover: hover) and (pointer: fine) {
  html[data-catalog-theme="tinta"] .product-card:hover .product-media img { transform: scale(1.025); }
}
html[data-catalog-theme="tinta"] .product-placeholder { background: var(--tinta-photo); color: #243d70; font-family: "Castock Tinta Serif", Georgia, serif; font-weight: 400; }
html[data-catalog-theme="tinta"] .product-info { padding: 13px 0 16px; }
html[data-catalog-theme="tinta"] .product-category { font-weight: 500; color: var(--muted); font-size: 9px; letter-spacing: .045em; }
html[data-catalog-theme="tinta"] .product-info h3 { font-size: 14px; font-weight: 500; line-height: 1.4; letter-spacing: -.015em; }
html[data-catalog-theme="tinta"] .product-variant { font-weight: 400; }
html[data-catalog-theme="tinta"] .product-bottom { gap: 8px; padding-top: 16px; flex-wrap: wrap; }
html[data-catalog-theme="tinta"] .price-wrap { flex: 1 1 110px; max-width: 100%; }
html[data-catalog-theme="tinta"] .price-wrap strong { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
html[data-catalog-theme="tinta"] .price-wrap.sale-commercial-price .sale-unit-price-main { font-size: 18px; font-weight: 600; }
html[data-catalog-theme="tinta"] .sale-unit-price-label { font-weight: 500; }
html[data-catalog-theme="tinta"] .price-wrap.sale-commercial-price :is(.sale-package-price-copy, .sale-half-package-copy) { font-weight: 400; white-space: normal; overflow: visible; }
html[data-catalog-theme="tinta"] :is(.add-button, .add-button:hover:not(:disabled)) {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border: 1px solid var(--primary);
  border-radius: 2px;
  background: var(--primary);
  color: var(--on-primary);
  box-shadow: none;
  transform: none;
  font-weight: 400;
}
html[data-catalog-theme="tinta"] :is(.catalog-featured-badge, .catalog-stock-out-badge, .catalog-portions-badge, .catalog-annotation-chip, .offer-label, .offer-timer, .sale-commercial-badge) {
  border-radius: 2px;
  box-shadow: none;
  text-shadow: none;
  transform: none;
}
html[data-catalog-theme="tinta"] :is(.catalog-featured-badge, .offer-label, .offer-timer) { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
html[data-catalog-theme="tinta"] .offer-clock b { border-radius: 1px; }
html[data-catalog-theme="tinta"] :is(.catalog-stock-out-badge, .catalog-portions-badge) { background: var(--card); color: var(--ink); border: 1px solid var(--line); }
html[data-catalog-theme="tinta"] .catalog-load-more button { border: 1px solid var(--line); border-radius: 2px; background: var(--card); box-shadow: none; }
html[data-catalog-theme="tinta"] .catalog-announcement { border-block: 1px solid var(--line); }
html[data-catalog-theme="tinta"] .announcement-entry { font-size: 13px; }
html[data-catalog-theme="tinta"] .catalog-banners { --banner-radius: 2px; --banner-dot-active: var(--primary); }
html[data-catalog-theme="tinta"] :is(.catalog-banner, .catalog-banner:hover) { border-color: var(--line); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; transform: none; }
html[data-catalog-theme="tinta"] .catalog-banner::after { display: none; }

/* The existing fullscreen mobile product page, dialogs and order flow. */
html[data-catalog-theme="tinta"] :is(.product-detail-copy h2, .cart-sheet h2, .rating-header h2, .order-details-heading h2, .catalog-empty h3, .cart-empty h3) {
  font-family: "Castock Tinta Serif", Georgia, serif;
  font-weight: 400;
  letter-spacing: -.025em;
}
html[data-catalog-theme="tinta"] :is(.sheet-card, .rating-card, .catalog-location-card, .order-details-card) { border-color: var(--line); border-radius: 2px; background: var(--card); box-shadow: none; }
html[data-catalog-theme="tinta"] .cart-item { border-color: var(--line); border-radius: 2px; background: transparent; box-shadow: none; }
html[data-catalog-theme="tinta"] :is(.sheet-close, .qty-control, .cart-thumb, .checkout-button, .checkout-button b, .order-details-submit, .rating-submit, .rating-edit-button, .order-details-field input, .order-details-field textarea, .rating-name-field input, .rating-comment-field textarea, .detail-offer-banner, .product-detail-label) { border-radius: 2px; box-shadow: none; }
html[data-catalog-theme="tinta"] :is(.detail-offer-banner, .rating-submit, .order-details-submit, .checkout-button, .toast) { background: var(--primary); color: var(--on-primary); text-shadow: none; box-shadow: none; }
html[data-catalog-theme="tinta"] :is(.detail-offer-banner, .product-detail-label) { background: var(--primary-soft); color: var(--ink); }
html[data-catalog-theme="tinta"] #product-dialog .product-sheet { border-radius: 2px; box-shadow: none; }
html[data-catalog-theme="tinta"] #product-dialog .product-detail-copy h2 { font-family: "Castock Tinta Serif", Georgia, serif; font-size: clamp(29px,3vw,39px); font-weight: 400; }
html[data-catalog-theme="tinta"] #product-dialog :is(.product-detail-toolbar button, .product-detail-media, .product-detail-gallery, .sale-package-choice-option, .detail-cart-stepper, .product-purchase-add) { border-radius: 2px; box-shadow: none; }
html[data-catalog-theme="tinta"] #product-dialog :is(.product-detail-media, .product-detail-gallery) { background: var(--tinta-photo); }
html[data-catalog-theme="tinta"] #product-dialog .sale-price-summary { padding-block: 16px; border-block: 1px solid var(--line); border-radius: 0; background: transparent; }
html[data-catalog-theme="tinta"] #product-dialog .sale-package-choice-option.is-selected { background: var(--primary-soft); color: var(--primary); box-shadow: none; }
html[data-catalog-theme="tinta"] #product-dialog .product-detail-actions { box-shadow: none; }
html[data-catalog-theme="tinta"] #product-dialog .product-purchase-add { background: var(--primary); color: var(--on-primary); }
html[data-catalog-theme="tinta"] #product-dialog .product-detail-actions .detail-whatsapp { background: transparent; color: var(--primary); }
html[data-catalog-theme="tinta"] footer { border-top: 1px solid var(--line); background: transparent; }

@media (max-width: 1000px) {
  html[data-catalog-theme="tinta"] .store-hero { grid-template-columns: var(--tinta-profile-size) minmax(0,1fr); }
  html[data-catalog-theme="tinta"] .whatsapp-link { grid-column: 2; justify-self: start; }
}
@media (max-width: 700px) {
  html[data-catalog-theme="tinta"] { --tinta-profile-size: 104px; }
  html[data-catalog-theme="tinta"] .catalog-header { min-height: 60px; }
  html[data-catalog-theme="tinta"] .cart-button { min-height: 44px; padding: 5px 8px; }
  html[data-catalog-theme="tinta"] .store-hero { grid-template-columns: minmax(0,1fr); gap: 17px; padding: 30px 16px 27px; text-align: center; }
  html[data-catalog-theme="tinta"] .profile-wrap { justify-self: center; margin-top: 0; }
  html[data-catalog-theme="tinta"] .profile-avatar { font-size: 32px; }
  html[data-catalog-theme="tinta"] .profile-share { right: -7px; bottom: -9px; width: 28px; height: 28px; }
  html[data-catalog-theme="tinta"] .hero-copy { justify-items: center; }
  html[data-catalog-theme="tinta"] .hero-copy h1 { font-size: clamp(38px,10vw,54px); line-height: 1.04; }
  html[data-catalog-theme="tinta"] .hero-copy > p:last-child { margin-top: 10px; font-size: 13px; }
  html[data-catalog-theme="tinta"] .whatsapp-link { grid-column: auto; justify-self: center; font-size: 11px; min-height: 44px; }
  html[data-catalog-theme="tinta"] .catalog-controls { width: calc(100% - 24px); padding: 12px 0; }
  html[data-catalog-theme="tinta"] .products-section { padding: 12px 12px 35px; }
  html[data-catalog-theme="tinta"] :is(.product-grid, .catalog-product-group-grid) { gap: 20px 12px; }
  html[data-catalog-theme="tinta"] .product-info { padding: 11px 0 14px; }
  html[data-catalog-theme="tinta"] .product-info h3 { font-size: 12px; }
  html[data-catalog-theme="tinta"] .product-bottom { padding-top: 12px; }
  html[data-catalog-theme="tinta"] .price-wrap { flex-basis: 100px; }
  html[data-catalog-theme="tinta"] .price-wrap.sale-commercial-price .sale-unit-price-main { font-size: 16px; }
  html[data-catalog-theme="tinta"] .add-button { width: 34px; height: 36px; flex-basis: 34px; }
  html[data-catalog-theme="tinta"] #product-dialog .product-sheet { border-radius: 0; }
  html[data-catalog-theme="tinta"] #product-dialog .product-detail-copy h2 { font-size: 32px; line-height: 1.08; }
  html[data-catalog-theme="tinta"] #product-dialog :is(.product-detail-media, .product-detail-gallery) { border-radius: 0; }
}
@media (pointer: coarse) {
  html[data-catalog-theme="tinta"] .add-button { width: 44px; height: 44px; flex-basis: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-catalog-theme="tinta"] * { transition: none; }
  html[data-catalog-theme="tinta"] .product-card:hover .product-media img { transform: none; }
}
