:root {
  --shop-ink: #12384d;
  --shop-blue: #086183;
  --shop-cyan: #087fa2;
  --shop-line: #d8e7ec;
}

.site-main .btn {
  min-height: 46px;
  border-radius: 14px;
  padding: 10px 18px;
  font-size: .92rem;
  line-height: 1.35;
  text-align: center;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.site-main .btn-primary,
.site-main .product-retail__buy > .btn-primary,
.site-main .commerce-cart .btn-primary {
  background: var(--shop-ink);
  color: #fff;
  border: 1px solid var(--shop-ink);
  box-shadow: none;
}
.site-main .btn-primary:hover,
.site-main .product-retail__buy > .btn-primary:hover,
.site-main .commerce-cart .btn-primary:hover {
  background: var(--shop-blue);
  border-color: var(--shop-blue);
  box-shadow: 0 8px 18px rgba(18, 56, 77, .15);
  transform: translateY(-1px);
}
.site-main .btn-ghost,
.site-main .btn-secondary {
  background: #fff;
  border: 1px solid var(--shop-line);
  color: var(--shop-ink);
  box-shadow: none;
}
.site-main .btn-ghost:hover,
.site-main .btn-secondary:hover {
  background: #f0f8fa;
  border-color: #90c2d1;
  transform: none;
}
.site-main .btn:focus-visible,
.site-main .catalogue-card__actions a:focus-visible {
  outline: 3px solid var(--shop-cyan);
  outline-offset: 3px;
}
.site-main .btn:disabled,
.site-main .btn[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.catalogue-card__actions .btn-icon .ui-icon,
.product-retail__buy .btn-icon .ui-icon { width: 19px; height: 19px; }
.catalogue-card__actions form .btn-primary { width: 100%; }
.page-cart .quantity-stepper,
.page-cart .commerce-cart .commerce-quantity-stepper {
  display: grid;
  grid-template-columns: 46px minmax(44px, 1fr) 46px;
  grid-template-areas: "decrease quantity increase";
  width: min(100%, 160px);
  min-width: 144px;
  overflow: hidden;
  border: 1px solid #b9d6df;
  border-radius: 13px;
  background: #fff;
}
.page-cart .quantity-stepper__button,
.page-cart .commerce-cart .commerce-quantity-stepper__button {
  display: grid;
  place-items: center;
  width: 46px;
  min-width: 46px;
  min-height: 48px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #eaf5f8;
  color: var(--shop-ink);
  font: 700 24px/1 Arial, sans-serif;
}
.page-cart .quantity-stepper__button:disabled,
.page-cart .commerce-cart .commerce-quantity-stepper__button:disabled { opacity: .45; }
.page-cart .quantity-stepper .qty-input,
.page-cart .commerce-cart .commerce-quantity-stepper .qty-input {
  grid-area: quantity;
  width: 100%;
  min-width: 0;
  border: 0;
  border-inline: 1px solid #d7e5e9;
  border-radius: 0;
  text-align: center;
}

.page-products .catalogue-intro { padding: clamp(20px, 4vw, 48px) 0; }
.page-products .catalogue-intro .split-panel {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(20px, 4vw, 44px);
  align-items: center;
}
.page-products .catalogue-intro__visual {
  min-width: 0;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid var(--shop-line);
  background: #06192b;
  box-shadow: 0 18px 40px rgba(9, 43, 63, .1);
}
.page-products .catalogue-intro__visual picture { display: block; }
.page-products .catalogue-intro__visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1840 / 855;
  object-fit: contain;
  transform: none;
}
.page-products .catalogue-intro .hero-actions { display: flex; }
.page-products .catalogue-intro .hero-actions .btn { min-width: 146px; }

.page-about .about-intro,
.page-contact .contact-intro {
  background: radial-gradient(circle at 85% 15%, #ddf5fa, transparent 35%), #f4f8fa;
  padding-block: clamp(32px, 6vw, 68px);
}
.page-about .about-intro .container,
.page-contact .contact-intro .container { max-width: 920px; }
.page-about .about-intro h1,
.page-contact .contact-intro h1 { max-width: 18ch; line-height: 1.2; }
.page-about .about-story-grid--editorial { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.page-about .about-story-grid--editorial .about-story-panel { box-shadow: none; border-radius: 22px; }
.page-about .about-story-grid--editorial .about-story-panel img { height: 100%; min-height: 330px; aspect-ratio: auto; object-fit: cover; }
.page-about .about-story-grid--editorial .about-story-body { display: flex; flex-direction: column; justify-content: center; min-height: 100%; padding: clamp(24px, 4vw, 46px); }
.page-about .about-story-body h2 { color: var(--shop-ink); font-size: clamp(1.5rem, 3vw, 2.3rem); }
.page-about .trust-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-about .trust-list span { border-radius: 12px; background: #f1f8fa; }
.page-about .about-campaign-section .campaign-banner--hero,
.page-about .about-campaign-section .campaign-banner--hero img { min-height: 310px; }
.page-about .about-campaign-section .campaign-banner__overlay { max-width: 100%; }

.page-contact .contact-layout { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: start; gap: 22px; }
.page-contact .contact-layout > .content-card { border: 1px solid var(--shop-line); border-radius: 22px; box-shadow: none; }
.page-contact .contact-layout .content-card-body { padding: clamp(22px, 3vw, 36px); }
.page-contact .contact-detail-card { background: #f3f9fb; }
.page-contact .contact-detail-card h3 { margin: 12px 0 24px; color: var(--shop-ink); font-size: clamp(1.4rem, 2.5vw, 2rem); }
.page-contact .contact-method { display: grid; gap: 5px; padding: 15px 0; border-block-end: 1px solid var(--shop-line); overflow-wrap: anywhere; }
.page-contact .contact-method strong { color: #526c79; font-size: .82rem; }
.page-contact .contact-method :is(a, span) { color: var(--shop-ink); font-size: 1rem; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.page-contact .contact-form-card .form-grid { gap: 16px; }
.page-contact .contact-form-card .form-grid .btn { justify-self: start; min-width: 180px; }
.page-contact .contact-form-card :is(input, textarea):focus-visible { outline: 3px solid #9de3f0; outline-offset: 2px; border-color: var(--shop-cyan); }
.page-contact .contact-map-section .map-card { overflow: hidden; border-radius: 22px; border: 1px solid var(--shop-line); }

@media (max-width: 820px) {
  .page-products .catalogue-intro .split-panel,
  .page-about .about-story-grid--editorial,
  .page-contact .contact-layout { grid-template-columns: minmax(0, 1fr); }
  .page-products .catalogue-intro__visual { border-radius: 18px; }
  .page-products .catalogue-intro__visual img { max-height: none; min-height: 0; }
  .page-products .catalogue-intro .hero-actions { flex-wrap: wrap; }
  .page-about .about-story-grid--editorial .about-story-panel img { min-height: 220px; max-height: 340px; }
  .page-about .trust-list { grid-template-columns: 1fr; }
  .page-contact .contact-form-card .form-grid .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .site-main .btn { transition: none; }
  .site-main .btn:hover { transform: none; }
}
