/*
Theme Name: kuZin
Theme URI: https://kuzin.al
Author: Eltion
Description: Lightweight block theme for kuZin Restaurant. Core blocks only, no page builder.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: kuzin
*/

/* Landing page helpers. Colours, fonts and spacing come from theme.json. */

html { scroll-behavior: smooth; scroll-padding-top: 1rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.kz-section { padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.kz-header { padding-block: 1.1rem; }
.kz-header .wp-block-navigation { gap: 1rem; }

.kz-logo { margin: 0; font-weight: 700; font-size: 1.75rem; letter-spacing: -0.02em; line-height: 1; }
.kz-logo a { color: inherit; text-decoration: none; }

.kz-lang { margin: 0; display: inline-flex; border: 2px solid var(--wp--preset--color--espresso); border-radius: 999px; overflow: hidden; }
.kz-lang a { display: inline-block; padding: 0.55rem 1rem; min-width: 2.75rem; text-align: center; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--espresso); }
.kz-lang a[aria-current="true"] { background: var(--wp--preset--color--espresso); color: var(--wp--preset--color--cream); }

.kz-pill { display: inline-block; margin: 0; background: var(--wp--preset--color--sand); border: 2px solid #e8d5bb; border-radius: 999px; padding: 0.4rem 1rem; font-weight: 500; font-size: 1rem; }
.kz-hero h1 { letter-spacing: -0.03em; line-height: 1.04; }

/* Photo placeholders: replace each with an Image block (or set a background image) */
.kz-ph { display: flex; align-items: center; justify-content: center; text-align: center; padding: 1.5rem; box-sizing: border-box; color: var(--wp--preset--color--mocha); font-weight: 500;
  background: repeating-linear-gradient(45deg, #f6e8d3, #f6e8d3 16px, #f0dfc5 16px, #f0dfc5 32px); border: 2px solid #e8d5bb; border-radius: 28px; }
.kz-ph p { margin: 0; }
.kz-ph--hero { min-height: 28rem; border-radius: 40px; }
.kz-ph--about { min-height: 25rem; border-radius: 40px; }
.kz-ph--dish { min-height: 13.5rem; border-radius: 0; border: 0; border-bottom: 2px solid #f0e0c8; }

.kz-facts { border-radius: 32px; padding: 1.75rem 2rem; }
.kz-facts p { margin: 0; }
.kz-facts .kz-label { font-size: 0.95rem; opacity: 0.85; }
.kz-facts .kz-value { font-size: 1.4rem; font-weight: 600; }

.kz-card { background: #fff; border: 2px solid #f0e0c8; border-radius: 28px; overflow: hidden; }
.kz-card--pad { padding: 2rem; overflow: visible; }
.kz-card--cream { background: var(--wp--preset--color--cream); border-color: #e8d5bb; }
.kz-card--dark { background: #4a2c21; border: 0; color: var(--wp--preset--color--cream); }
.kz-card__body { padding: 1.25rem 1.5rem 1.5rem; }
.kz-card__body p { margin: 0; }
.kz-price { font-weight: 600; color: var(--wp--preset--color--terracotta); white-space: nowrap; }
.kz-card--dark .kz-label { font-size: 0.95rem; color: #e8d5bb; }
.kz-card--dark .kz-big { font-size: 1.5rem; font-weight: 600; color: var(--wp--preset--color--gold); }

.kz-review { margin: 0; background: #fff; border: 2px solid #f0e0c8; border-radius: 28px; padding: 1.75rem; }
.kz-review p { font-size: 1.1rem; line-height: 1.55; }
.kz-review cite { font-style: normal; font-weight: 600; color: var(--wp--preset--color--terracotta); }

.wp-block-details { background: #fff; border: 2px solid #f0e0c8; border-radius: 22px; padding: 0.25rem 1.5rem; }
.wp-block-details summary { cursor: pointer; font-weight: 600; font-size: 1.15rem; padding: 0.9rem 0; min-height: 2.75rem; }
.wp-block-details > :not(summary) { color: var(--wp--preset--color--mocha); }
.wp-block-details + .wp-block-details { margin-top: 0.75rem; }

.kz-cta { border-radius: 40px; padding: clamp(2.5rem, 6vw, 4rem) 2rem; }
.kz-cta p { margin: 0; }
.kz-footer { padding-block: 2rem; }
.kz-footer p { margin: 0; }
.kz-footer a { color: var(--wp--preset--color--gold); font-weight: 600; text-decoration: none; }

/* Buttons: outline variant and hover */
.wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: var(--wp--preset--color--espresso); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--sand); }
.wp-block-button__link:hover { filter: brightness(1.1); }
.kz-cta .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--cream); }
.kz-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.14); }

@media (max-width: 781px) {
  .kz-ph--hero { min-height: 18rem; }
  .kz-ph--about { min-height: 16rem; }
}

.kz-hero { padding-block: 1.5rem 3.5rem; }
.kz-tight { padding-block: 0 4.5rem; }

/* Full-width sections: the background spans the screen, the padding keeps content off the edges. */
.kz-section, .kz-hero, .kz-tight, .kz-header, .kz-footer { padding-inline: 1.5rem; box-sizing: border-box; }
.wp-site-blocks, .wp-site-blocks > * { margin-block-start: 0; }
.kz-nav { margin: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 1.75rem; }
.kz-nav a { color: var(--wp--preset--color--espresso); text-decoration: none; font-weight: 500; padding: 0.6rem 0; }
.kz-nav a:hover { color: var(--wp--preset--color--terracotta); }

/* Page content wrapper must never constrain the landing sections */
.wp-block-post-content { max-width: none !important; margin-inline: 0 !important; padding-inline: 0 !important; }
.wp-block-post-content > .alignfull,
.wp-block-post-content > .wp-block-group { max-width: none !important; width: 100%; margin-inline: 0 !important; box-sizing: border-box; }
main.wp-block-group { max-width: none !important; margin-inline: 0 !important; padding-inline: 0 !important; }

/* Logo */
.kz-logo-link { display: inline-block; line-height: 0; }
.kz-logo-link img { display: block; border-radius: 50%; }
