/* Information pages use the existing container, typeface, palette and layout. */
body { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
#main-content { flex: 1; }
.info-page { padding-top: 48px; padding-bottom: 80px; }
.info-page-heading { margin: 0 12px 64px; }
.info-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; font-size: 14px; line-height: 20px; }
.info-breadcrumbs a { text-decoration: none; }
.info-breadcrumbs a:hover { text-decoration: underline; }
.info-breadcrumbs [aria-current] { min-width: 0; overflow-wrap: anywhere; }
.info-page-heading h1 { margin: 0; font-size: 40px; line-height: 52px; font-weight: 600; letter-spacing: -.025em; }
.company-section { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.04fr); align-items: start; gap: 48px; margin-inline: 24px; }
.company-copy { min-width: 0; }
.company-copy h2 { margin: 0 0 24px; font-size: 32px; line-height: 40px; font-weight: 700; letter-spacing: -.03em; }
.company-copy p { margin: 0 0 16px; font-size: 16px; line-height: 24px; text-align: left; }
.company-copy p:last-child { margin-bottom: 0; }
.company-copy .company-legal { margin-top: 18px; color: var(--muted); font-size: 14px; line-height: 20px; }
.company-photo { display: block; min-width: 0; overflow: hidden; border-radius: 16px; aspect-ratio: 1.6; }
.company-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.company-section--quality { grid-template-columns: minmax(0,580fr) minmax(0,564fr); margin: 56px 0 0; padding: 24px 24px 0; gap: 48px; }
.company-section--quality .company-photo { aspect-ratio: 580 / 364; }
.company-section--quality .company-copy { width: 100%; max-width: 564px; }
.company-section--quality h2 { width: 530px; max-width: 100%; font-size: 32px; line-height: 44px; letter-spacing: -.02em; }
.company-section--quality p { line-height: 22px; }
.company-section--quality + .company-orders { margin-top: 72px; }
.company-orders { margin-top: 48px; padding: 24px; border-radius: 16px; background: #f9f5ee; }
.company-orders h2 { margin: 0 0 16px; font-size: 20px; line-height: 28px; font-weight: 600; }
.company-orders p { margin: 0; font-size: 16px; line-height: 24px; }
.contacts-layout { display: grid; grid-template-columns: 400px minmax(0,1fr); gap: 24px; align-items: start; }
.contacts-card { min-width: 0; padding: 28px 32px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--border); background: var(--surface); }
.contacts-card h2 { margin: 0 0 12px; font-size: 24px; line-height: 32px; font-weight: 600; }
.contacts-intro { margin: 0 0 24px; font-size: 15px; line-height: 23px; }
.contacts-details { display: flex; flex-direction: column; gap: 12px; }
.contacts-details .contact-row { align-items: flex-start; gap: 12px; margin: 0; font-size: 16px; line-height: 22px; font-style: normal; }
.contacts-details .contact-row img { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 1px; object-fit: contain; }
.contacts-details .contact-row span, .contacts-phones div { min-width: 0; overflow-wrap: anywhere; }
.contacts-details a { text-decoration: none; }
.contacts-details a:hover { text-decoration: underline; }
.contacts-phones div { display: flex; flex-direction: column; gap: 5px; }
.contacts-map-block { min-width: 0; }
.contacts-map { height: 392px; overflow: hidden; border-radius: 16px; background: #f1ede5; box-shadow: inset 0 0 0 1px var(--border); }
.contacts-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.contacts-map-address { display: flex; height: 100%; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; }
.contacts-map-address h2 { margin: 12px 0; font-size: 24px; line-height: 32px; font-weight: 600; }
.contacts-map-address p { margin: 0 0 20px; font-size: 16px; line-height: 24px; }
.contacts-map-address .button { max-width: 100%; font-size: 15px; }
.contacts-map-link { display: inline-block; margin-top: 10px; font-size: 14px; line-height: 20px; color: var(--red); }
.info-page--delivery .info-page-heading { margin-bottom: 40px; }
.delivery-copy { width: calc(100% - 48px); max-width: 800px; margin-left: 24px; }
.delivery-copy section + section { margin-top: 20px; }
.delivery-copy h2 { margin: 0 0 12px; font-size: 18px; line-height: 26px; font-weight: 600; }
.delivery-copy p { margin: 0; font-size: 16px; line-height: 24px; text-align: left; }
@media (max-width: 1199px) {
    .company-section { gap: 28px; margin-inline: 12px; }
    .company-copy h2 { font-size: 28px; line-height: 36px; }
    .contacts-layout { grid-template-columns: 360px minmax(0,1fr); }
    .contacts-card { padding: 28px 24px; }
}
@media (max-width: 1023px) {
    .info-page { padding-top: 26px; padding-bottom: 56px; }
    .info-page-heading { margin: 0 0 32px; }
    .info-breadcrumbs { margin-bottom: 12px; font-size: 13px; line-height: 18px; }
    .info-page-heading h1 { font-size: 32px; line-height: 40px; }
    .company-section, .company-section--quality { grid-template-columns: minmax(0,1fr); gap: 24px; margin-inline: 0; }
    .company-section--quality { margin-top: 48px; padding: 0; gap: 24px; }
    .company-section--quality .company-copy { max-width: none; }
    .company-section--quality h2 { width: auto; font-size: 28px; line-height: 36px; }
    .company-section--quality + .company-orders { margin-top: 48px; }
    .company-photo { width: 100%; aspect-ratio: 1.6; }
    .company-orders { margin-top: 48px; padding: 20px; }
    .contacts-layout { grid-template-columns: minmax(0,1fr); }
    .contacts-card { padding: 20px; }
    .contacts-map { height: 280px; }
    .info-page--delivery .info-page-heading { margin-bottom: 32px; }
    .delivery-copy { width: 100%; max-width: none; margin-left: 0; }
    .delivery-copy section + section { margin-top: 24px; }
}
@media (max-width: 767px) {
    .company-copy h2 { margin-bottom: 20px; font-size: 26px; line-height: 34px; }
    .company-copy p, .company-orders p, .delivery-copy p { font-size: 15px; line-height: 22px; }
    .company-copy .company-legal { font-size: 13px; line-height: 20px; }
    .company-orders h2 { font-size: 18px; line-height: 26px; }
    .delivery-copy h2 { font-size: 18px; line-height: 24px; }
}

/* The source icons contain transparent margins. Fit their visible artwork
   into a 20px frame without changing the shared footer assets. */
.contacts-details .contact-icon { position: relative; display: block; flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; overflow: hidden; }
.contacts-details .contact-icon img { position: absolute; max-width: none; margin: 0; width: var(--icon-size); height: var(--icon-size); left: var(--icon-left); top: var(--icon-top); }
.contact-icon--phone { --icon-size: 36.57143px; --icon-left: -8.28571px; --icon-top: -8.42857px; }
.contact-icon--mail { --icon-size: 40.00000px; --icon-left: -10.00000px; --icon-top: -9.84375px; }
.contact-icon--clock { --icon-size: 36.57143px; --icon-left: -8.28571px; --icon-top: -8.00000px; }
.contact-icon--location { --icon-size: 34.59459px; --icon-left: -7.29730px; --icon-top: -6.48649px; }
@media (max-width: 767px) { .company-section--quality h2 { font-size: 26px; line-height: 34px; } }

/* Legal documents are intentionally plain-text files on disk, but are rendered
   as semantic sections so long policies remain readable on every screen. */
.info-page--legal .info-page-heading { margin-bottom: 40px; }
.legal-document { width: calc(100% - 48px); max-width: 900px; margin-left: 24px; color: var(--text); }
.legal-document h2 { margin: 44px 0 16px; font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -.015em; }
.legal-document h2:first-child { margin-top: 0; }
.legal-document h3 { margin: 24px 0 10px; font-size: 18px; line-height: 26px; font-weight: 600; }
.legal-document p { margin: 0 0 12px; font-size: 16px; line-height: 25px; text-align: left; overflow-wrap: anywhere; }
.legal-document ul { margin: 4px 0 18px; padding-left: 24px; }
.legal-document li { margin: 0 0 8px; font-size: 16px; line-height: 25px; overflow-wrap: anywhere; }
.legal-document li::marker { color: var(--red); }
.legal-document__meta { margin-bottom: 28px !important; color: var(--muted); font-size: 14px !important; line-height: 20px !important; }
.legal-document__lead { margin-bottom: 20px !important; font-size: 18px !important; line-height: 28px !important; font-weight: 500; }
.legal-document__field { margin: 18px 0; padding: 20px 24px; border-radius: 16px; background: #f9f5ee; }
.legal-document__field h3 { margin: 0 0 10px; font-size: 16px; line-height: 24px; }
.legal-document__field ul { margin: 0; padding-left: 20px; }
.legal-document__field li { margin-bottom: 5px; }
.legal-document__field li:last-child { margin-bottom: 0; }
.legal-document__placeholder { color: var(--muted); }
@media (max-width: 1023px) {
    .info-page--legal .info-page-heading { margin-bottom: 28px; }
    .legal-document { width: 100%; max-width: none; margin-left: 0; }
    .legal-document h2 { margin-top: 36px; font-size: 22px; line-height: 30px; }
}
@media (max-width: 767px) {
    .legal-document h2 { margin: 32px 0 14px; font-size: 20px; line-height: 28px; }
    .legal-document h3 { margin-top: 20px; font-size: 17px; line-height: 24px; }
    .legal-document p, .legal-document li { font-size: 15px; line-height: 23px; }
    .legal-document__lead { font-size: 16px !important; line-height: 25px !important; }
    .legal-document__field { padding: 16px 18px; border-radius: 14px; }
}
