/* Self-hosted Inter gives the storefront a consistent, restrained typeface. */
@font-face {
  font-family: Inter;
  src: url('../fonts/inter-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

/* Shared type scale for the storefront's navigation, buying flow and content. */
:root {
  --font: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --type-body: 16px;
  --type-action: 14px;
  --type-detail: 12px;
}

body { font-family: var(--font); font-size: var(--type-body); }

/* Use the reference's firm navy headings without changing section height. */
.home-arrivals-heading h2,
.home-brand-heading h2,
.home-products-section .section-heading h2 {
  color: #20354f;
  font-weight: 700;
  letter-spacing: -.03em;
}

/* Keep the compact header readable without increasing its vertical footprint. */
.utility-links > a,
.utility-links > .utility-unavailable { font-size: var(--type-action); line-height: 1.45; }
.site-header .header-search input { font-size: 16px; }
.header-account-link,
.header-language-switcher summary { font-size: 13px; }
.mega-nav-item > summary,
.category-direct-links > a { font-size: var(--type-action); }
.category-model-tabs > [role=tab],
.category-model-list a { font-size: var(--type-action); }
.language-options a { font-size: var(--type-action); }

/* Controls, product names and secondary details share a predictable hierarchy. */
.catalog-breadcrumbs,
.catalog-stock-form,
.catalog-page-sizes,
.catalog-sort-form select,
.catalog-sort-form button,
.catalog-page .filter-summary { font-size: var(--type-action); }
.catalog-page .catalog-products .product-info h3 { font-size: 16px; }
.catalog-page .catalog-products .product-category,
.catalog-page .catalog-products .stock { font-size: var(--type-detail); }
.catalog-page .catalog-products .product-login { font-size: var(--type-action); }
.arrival-card .arrival-name { font-size: 16px; }
.arrival-card .arrival-badge,
.arrival-card .arrival-tax-note,
.arrival-card .arrival-stock,
.arrival-card .arrival-order-terms,
.arrival-card .arrival-cart-feedback { font-size: var(--type-detail); }
.arrival-card .arrival-price-locked,
.arrival-card .arrival-cart-button { font-size: var(--type-action); }
.arrival-card .arrival-quantity-caption { font-size: 11px; }
.home-arrivals-actions > a,
.product-swipe-count { font-size: 13px; }
.home-promo-eyebrow,
.bestsellers-feature-kicker,
.home-brand-feature-label { font-size: 12px; }
.home-promo-cta,
.bestsellers-feature-link,
.home-brand-heading > a { font-size: var(--type-action); }
.bestsellers-shortlist > a { font-size: 13px; }
.site-header .cart-button .cart-count { font-size: 10px; }

/* The same scale carries into the account and purchase pages. */
.auth-page,
.ibao-cart-page,
.ibao-checkout-page { font-size: var(--type-body); }
.auth-page label,
.auth-page .auth-panel input:not([type=checkbox]):not([type=hidden]),
.auth-page .auth-panel select,
.auth-page .auth-submit,
.ibao-cart-page .woocommerce button.button { font-size: var(--type-action); }
.auth-help,
.auth-page .auth-consent,
.account-invoice-state,
.ibao-cart-page .woocommerce .woocommerce-shipping-destination { font-size: var(--type-detail); }
.site-footer .footer-brand p,
.site-footer .footer-contact-details,
.site-footer .footer-column > a { font-size: var(--type-action); }
.site-footer .footer-column h2 { font-size: 16px; }
.site-footer .footer-bottom { font-size: var(--type-detail); }
.breadcrumbs { font-size: 13px; }
.preview-notice { font-size: 13px; }
.professional-page .breadcrumbs,
.professional-page-heading p,
.professional-page .button,
.delivery-details summary { font-size: var(--type-action); }
.delivery-month,
.delivery-date span { font-size: var(--type-detail); }
.delivery-details li { font-size: 13px; }
.library-image-count,
.library-card-category,
.library-card dl { font-size: var(--type-detail); }
.library-card h3 { font-size: 15px; }
.library-card-actions .library-button { font-size: 13px; }

@media (max-width: 1000px) {
  .utility-links > a,
  .utility-links > .utility-unavailable,
  .mega-nav-item > summary,
  .category-direct-links > a { font-size: 13px; }
  .header-account-link { font-size: 12px; }
}

@media (max-width: 760px) {
  :root { --type-body: 15px; --type-action: 13px; }
  .utility-links > a,
  .utility-links > .utility-unavailable { font-size: 13px; }
  .site-header .header-search input { font-size: 16px; }
  .mega-nav-item > summary,
  .category-direct-links > a { font-size: 13px; }
  .catalog-breadcrumbs { font-size: 12px; }
  .catalog-page .catalog-products .product-info h3,
  .arrival-card .arrival-name { font-size: 14px; }
  .catalog-page .catalog-products .product-category,
  .catalog-page .catalog-products .stock,
  .arrival-card .arrival-stock,
  .arrival-card .arrival-order-terms { font-size: 11px; }
  .catalog-page .catalog-products .product-login,
  .arrival-card .arrival-cart-button { font-size: 13px; }
  .home-arrivals-actions > a,
  .product-swipe-count { font-size: 12px; }
  .home-promo-eyebrow,
  .bestsellers-feature-kicker,
  .home-brand-feature-label { font-size: 12px; }
  .home-brand-heading > a,
  .bestsellers-shortlist > a { font-size: 12px; }
  .breadcrumbs,
  .preview-notice,
  .professional-page .breadcrumbs { font-size: 12px; }
  .professional-page-heading p,
  .professional-page .button,
  .delivery-details summary,
  .delivery-details li { font-size: 13px; }
  .library-card-category,
  .library-card dl { font-size: 11px; }
  .library-card h3 { font-size: 14px; }
  .library-card-actions .library-button { font-size: 12px; }
  .site-footer .footer-brand p,
  .site-footer .footer-contact-details,
  .site-footer .footer-column > a { font-size: 13px; }
  .site-footer .footer-column h2 { font-size: 14px; }
  .site-footer .footer-bottom { font-size: 12px; }
}

/* Mobile content pages: readable supporting text without enlarging card prices. */
@media (max-width: 760px) {
  .site-footer .footer-country,
  .site-footer .footer-policies,
  .site-footer .footer-policies a { font-size: 12px; line-height: 1.5; }
  .information-page .page-heading .eyebrow,
  .information-page .page-hero .eyebrow,
  .information-page .info-intro .eyebrow,
  .information-page .contact-cta .eyebrow { font-size: 12px; letter-spacing: .08em; }
  .information-page .page-heading > p:last-child,
  .information-page .page-hero p:not(.eyebrow),
  .information-page .info-intro > p:last-child,
  .information-page .info-cards p,
  .information-page .help-aside p,
  .information-page .faq-list details > p { font-size: 14px; line-height: 1.65; }
  .information-page .faq-list summary { font-size: 15px; line-height: 1.5; }
  .information-page :is(.button, .text-link),
  .favorites-placeholder .button,
  .empty-results .button { font-size: 13px; }
  .empty-results p { font-size: 13px; }
  .woocommerce div.product .product_meta,
  .woocommerce div.product .product_meta a { font-size: 12px; line-height: 1.6; }
  .ibao-product-detail div.product .summary .product_meta,
  .ibao-product-detail div.product .summary .product_meta a { font-size: 12px; line-height: 1.6; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 13px; }
  .ibao-checkout-page .woocommerce-privacy-policy-text { font-size: 12px; }
  .arrival-card .arrival-stock,
  .arrival-card .arrival-order-terms { font-size: 12px; }
  .delivery-search button,
  .professional-badge { font-size: 12px; }
  .library-languages a,
  .library-photos,
  .library-total,
  .library-category span:last-child,
  .library-result-bar { font-size: 12px; }
  .library-card-category,
  .ibao-pagination .page-numbers { font-size: 12px; }
  .library-card dl { font-size: 12px; line-height: 1.5; }
}

@media (max-width: 360px) {
  .library-grid { grid-template-columns: minmax(0, 1fr); }
  .library-card-image { aspect-ratio: 4 / 3; max-height: 250px; }
  .library-card-category,
  .library-card dl { font-size: 12px; }
}

/* Stable desktop proportions match the reference's capped column. */
@media (min-width: 1001px) {
  body.ibao-site .site-header .header-brand-crop { width: 200px; height: 40px; }
  body.ibao-site .site-header .header-brand-crop img { width: 100%; height: auto; }
  body.ibao-site .site-header .header-main { height: 80px; }
  body.ibao-site .site-header .header-search { height: 50px; }
  body.ibao-site .site-header .header-search input { font-size: 15px; }
  body.ibao-site .site-header .header-account-link > .ibao-icon,
  body.ibao-site .site-header .cart-button > .ibao-icon,
  body.ibao-site .site-header .header-favorites-link .ibao-icon { width: 27px; height: 27px; }
  body.ibao-site .site-header .header-account-link,
  body.ibao-site .site-header .cart-button,
  body.ibao-site .site-header .header-favorites-link,
  body.ibao-site .site-header .header-language-switcher summary { grid-template-rows: 27px 17px; height: 56px; min-height: 56px; }
  body.ibao-site .site-header .header-account-link,
  body.ibao-site .site-header .cart-button .cart-label,
  body.ibao-site .site-header .cart-button .cart-label strong,
  body.ibao-site .site-header .header-favorites-link,
  body.ibao-site .site-header .header-language-switcher summary { font-size: 13px; line-height: 17px; }
  body.ibao-site .site-header .mega-nav-item > summary,
  body.ibao-site .site-header .category-direct-links > a,
  body.ibao-site .site-header .category-direct-links > a.category-library-link { font-size: 15px; }
  .site-footer .footer-brand p,
  .site-footer .footer-contact-details,
  .site-footer .footer-column > a { font-size: 15px; }
  .site-footer .footer-column h2 { font-size: 17px; }
  .site-footer .footer-country,
  .site-footer .footer-bottom,
  .site-footer .footer-policies a { font-size: 13px; }
  .catalog-page .catalog-products .product-info h3,
  .catalog-page .catalog-products .arrival-name,
  .ibao-related-grid .arrival-name { font-size: 15px; line-height: 1.35; }
  .ibao-product-detail .ibao-detail-features dl > div { font-size: 15px; }
  .ibao-detail-description-copy { font-size: 16px; }
  body.ibao-site .image-library .library-page-title { font-size: 28px; }
  body.ibao-site .image-library .library-layout { grid-template-columns: 210px minmax(0, 1fr); }
  body.ibao-site .image-library .library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.ibao-site .image-library .library-sidebar h2,
  body.ibao-site .image-library .library-result-bar,
  body.ibao-site .image-library .library-total { font-size: 13px; }
  body.ibao-site .image-library .library-card-category { font-size: 12px; }
  body.ibao-site .image-library .library-card h3 { font-size: 16px; }
  body.ibao-site .image-library .library-category { font-size: 14px; }
  body.ibao-site .image-library .library-card dl,
  body.ibao-site .image-library .library-card-actions .library-button { font-size: 13px; }
}
@media (min-width: 1001px) and (max-width: 1200px) {
  body.ibao-site .site-header .header-brand-crop { width: 180px; height: 36px; }
  body.ibao-site .site-header .mega-nav-item > summary,
  body.ibao-site .site-header .category-direct-links > a,
  body.ibao-site .site-header .category-direct-links > a.category-library-link { font-size: 14px; }
}
