/* Classic (Razor "Default" family): only what differs from hike-base. Colours, fonts and the sharp corners
   come from design tokens (theme.json and styles/); a store's own colours (ThemeSetting) still win. */

/* Buttons: uppercase and letter-spaced; filled buttons invert on hover */
.btn { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; font-size: .82rem; border-width: 2px; padding: .9em 2.1em; }
.btn--primary:hover { background: transparent; color: var(--color-primary); }

/* Section titles: centred, uppercase, with a short accent bar under the title */
.section-heading { justify-content: center; text-align: center; flex-direction: column; align-items: center; gap: 10px; }
.section-heading h2 { text-transform: uppercase; letter-spacing: .03em; font-size: clamp(1.35rem, 1.1rem + .9vw, 1.85rem); position: relative; padding-bottom: 16px; }
.section-heading h2::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 70px; height: 2px; background: var(--color-primary); transform: translateX(-50%); }
.section-heading__link { font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }
.eyebrow { font-family: var(--font-accent-family, inherit); text-transform: none; letter-spacing: 0; font-size: 1.35rem; }

/* Slider: a letter-spaced line above an uppercase headline */
.hero__content { display: flex; flex-direction: column; }
.hero__content p { order: -1; text-transform: uppercase; letter-spacing: .25em; font-weight: 700; font-size: .9rem; margin-bottom: 10px; }
.hero h1, .hero .h1 { text-transform: uppercase; letter-spacing: .01em; line-height: 1.05; }
.hero__actions { order: 2; }

/* Product cards: no frame, centred details, a slow zoom on hover */
.product-card { --card-border: 0; --card-shadow: none; text-align: center; background: transparent; }
.product-card:hover { box-shadow: none; }
.product-card__media { overflow: hidden; background: var(--color-background-alt); }
.product-card__media img { transition: transform .6s ease; }
.product-card:hover .product-card__media img { transform: scale(1.06); }
.product-card__body { padding-inline: 0; }
.product-card__title { font-weight: 400; font-size: .98rem; }
.product-card .price { justify-content: center; }
.product-card .price__current { color: var(--color-heading); font-weight: 700; }

/* Category tiles with the name on a white band */
.category-card__name { text-transform: uppercase; letter-spacing: .06em; font-size: .9rem; font-weight: 700; }

/* Service row (multi-column "plain"): icons in the brand colour */
.multicolumn--plain .multicolumn__icon { color: var(--color-primary); }

/* Top bar and header */
.announcement { --color-announcement-background: var(--color-background-alt); --color-announcement-text: var(--color-text); font-size: .82rem; letter-spacing: .04em; }
.site-nav__link { text-transform: uppercase; font-weight: 700; font-size: .86rem; letter-spacing: .04em; }

/* Footer headings uppercase */
.site-footer h2, .site-footer h3 { text-transform: uppercase; letter-spacing: .06em; font-size: .95rem; }
