/*
Theme Name:   SUSHI DROP
Theme URI:    https://sushidrop.pl
Description:  Motyw potomny Astry dla SUSHI DROP. Kolory, typografia, logo, nagłówek i pasek koszyka na telefonie. Nie edytuj plików Astry — zmiany wprowadzaj tutaj.
Author:       SUSHI DROP
Template:     astra
Version:      0.3.0
Text Domain:  sushidrop
*/

/* =========================================================
   1. ZMIENNE MARKI
   ========================================================= */
:root {
	--sd-rice: #F6F3EC;      /* tło */
	--sd-nori: #141414;      /* tekst, czarne sekcje */
	--sd-ink: #2B2A27;       /* tekst długi */
	--sd-muted: #55524C;     /* etykiety, opisy */
	--sd-sesame: #E7E1D5;    /* linie, tła kart */
	--sd-shu: #A8382A;       /* akcent — przyciski zamówienia */
	--sd-shu-dark: #8E2E22;
	--sd-white: #FFFFFF;

	--sd-font-head: "Archivo", "Arial Black", system-ui, sans-serif;
	--sd-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--sd-font-mono: "IBM Plex Mono", ui-monospace, "Courier New", monospace;

	--sd-gutter: 20px;
	--sd-max: 1280px;
	--sd-header-h: 64px;
	--sd-tap: 48px;

	/* Astra global palette → marka */
	--ast-global-color-0: var(--sd-shu);
	--ast-global-color-1: var(--sd-shu-dark);
	--ast-global-color-2: var(--sd-nori);
	--ast-global-color-3: var(--sd-ink);
	--ast-global-color-4: var(--sd-rice);
	--ast-global-color-5: var(--sd-white);
	--ast-global-color-6: var(--sd-nori);
	--ast-global-color-7: var(--sd-sesame);
	--ast-global-color-8: var(--sd-muted);
}
@media (min-width: 922px) {
	:root { --sd-gutter: 40px; --sd-header-h: 84px; }
}

/* =========================================================
   2. PODSTAWY I TYPOGRAFIA (najpierw telefon)
   ========================================================= */
html { -webkit-text-size-adjust: 100%; }
body,
.ast-separate-container,
.ast-plain-container,
.ast-page-builder-template,
body.woocommerce,
#page,
.site-content {
	background: var(--sd-rice) !important;
}
body, button, input, select, textarea {
	font-family: var(--sd-font-body);
	color: var(--sd-ink);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.entry-title, .woocommerce-loop-product__title, .product_title, .wc-block-components-title {
	font-family: var(--sd-font-head) !important;
	font-weight: 900 !important;
	color: var(--sd-nori) !important;
	letter-spacing: -0.02em;
	line-height: 1.05;
}
h1, .entry-title { font-size: clamp(34px, 9vw, 72px); letter-spacing: -0.03em; }
h2 { font-size: clamp(28px, 7vw, 48px); }
h3 { font-size: clamp(20px, 5vw, 26px); font-weight: 800 !important; }
p { margin-bottom: 1em; }
a { color: var(--sd-nori); text-underline-offset: 3px; }
a:hover, a:focus { color: var(--sd-shu); }
:focus-visible { outline: 2px solid var(--sd-shu); outline-offset: 2px; }
.sd-mono, .sd-label {
	font-family: var(--sd-font-mono);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sd-muted);
}
::selection { background: var(--sd-nori); color: var(--sd-rice); }

/* Kontener */
.ast-container,
.site-content > .ast-container {
	max-width: var(--sd-max);
	padding-left: var(--sd-gutter);
	padding-right: var(--sd-gutter);
}
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container #primary,
.ast-plain-container #primary {
	background: transparent !important;
	padding: 0;
}
.ast-separate-container #primary,
.ast-plain-container #primary { margin: 32px 0 56px; }

/* =========================================================
   3. PRZYCISKI
   ========================================================= */
.button, button.button, a.button, input[type="submit"],
.wp-block-button__link,
.wc-block-components-button,
.ast-button, .ast-custom-button {
	font-family: var(--sd-font-body) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	min-height: var(--sd-tap);
	padding: 0 24px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 0 !important;
	border: 1px solid var(--sd-nori) !important;
	background: var(--sd-nori) !important;
	color: var(--sd-rice) !important;
	box-shadow: none !important;
	transition: background .15s ease, color .15s ease;
}
.button:hover, a.button:hover, .wp-block-button__link:hover,
.wc-block-components-button:hover, .ast-custom-button:hover {
	background: var(--sd-shu) !important;
	border-color: var(--sd-shu) !important;
	color: var(--sd-white) !important;
}
/* Główne CTA zamówienia — jedyny czerwony element */
.sd-cta, .ast-header-button-1 .ast-custom-button,
.checkout-button, .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.single_add_to_cart_button {
	background: var(--sd-shu) !important;
	border-color: var(--sd-shu) !important;
	color: var(--sd-white) !important;
}
.sd-cta:hover, .ast-header-button-1 .ast-custom-button:hover,
.checkout-button:hover, .wc-block-cart__submit-button:hover,
.single_add_to_cart_button:hover {
	background: var(--sd-shu-dark) !important;
	border-color: var(--sd-shu-dark) !important;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="password"], input[type="search"], select, textarea,
.wc-block-components-text-input input {
	min-height: var(--sd-tap);
	border: 1px solid var(--sd-nori) !important;
	border-radius: 0 !important;
	background: var(--sd-white) !important;
	font-size: 16px !important; /* brak zoomu na iPhonie */
	padding: 10px 14px;
}

/* =========================================================
   4. NAGŁÓWEK — LOGO
   ========================================================= */
.sd-wordmark {
	display: inline-flex;
	align-items: center;
	gap: .04em;
	font-family: var(--sd-font-head);
	font-weight: 900;
	font-size: 22px;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--sd-nori);
	text-decoration: none;
	white-space: nowrap;
}
.sd-wordmark .sd-dot {
	display: inline-block;
	width: .78em;
	height: .78em;
	border-radius: 50%;
	background: var(--sd-shu);
	margin: 0 .02em;
	transform: translateY(.02em);
}
.custom-logo-link.sd-logo { display: inline-flex; align-items: center; min-height: var(--sd-tap); text-decoration: none; }
.custom-logo-link.sd-logo:hover .sd-wordmark { color: var(--sd-nori); }
.site-footer .sd-wordmark, .sd-dark .sd-wordmark { color: var(--sd-rice); }
@media (min-width: 922px) {
	.sd-wordmark { font-size: 28px; }
}

/* =========================================================
   5. NAGŁÓWEK — UKŁAD (przyklejony, cienka linia)
   ========================================================= */
#masthead {
	position: sticky;
	top: 0;
	z-index: 999;
	background: var(--sd-rice) !important;
	border-bottom: 1px solid var(--sd-nori);
}
.admin-bar #masthead { top: 46px; }
@media (min-width: 783px) { .admin-bar #masthead { top: 32px; } }
#masthead .main-header-bar,
#masthead .ast-primary-header-bar,
#masthead .ast-mobile-header-wrap .ast-primary-header-bar {
	background: var(--sd-rice) !important;
	border-bottom: 0 !important;
	min-height: var(--sd-header-h);
}
#masthead .site-primary-header-wrap { min-height: var(--sd-header-h); }

/* Menu desktop */
.main-header-menu .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
	font-family: var(--sd-font-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	color: var(--sd-nori) !important;
	padding: 0 14px !important;
}
.main-header-menu .menu-item:hover > .menu-link,
.main-header-menu .current-menu-item > .menu-link {
	color: var(--sd-shu) !important;
}

/* Przycisk „Zamów sushi” w nagłówku */
.ast-header-button-1 .ast-custom-button {
	min-height: 44px !important;
	padding: 0 20px !important;
	font-size: 13px !important;
}

/* Koszyk w nagłówku — kwadrat z licznikiem */
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart .ast-addon-cart-wrap {
	width: 44px;
	height: 44px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--sd-nori);
	border-radius: 0;
	position: relative;
}
.ast-site-header-cart .ast-cart-menu-wrap .count,
.ast-site-header-cart .ast-icon-shopping-bag .count,
.astra-icon.astra-icon-shopping-bag::after,
.ast-site-header-cart .ast-addon-cart-wrap .ast-icon-shopping-cart::after {
	background: var(--sd-nori) !important;
	color: var(--sd-rice) !important;
	border-color: var(--sd-nori) !important;
	font-family: var(--sd-font-mono);
	font-size: 11px;
}
.ast-site-header-cart .ast-woo-header-cart-info-wrap { display: none !important; } /* sama ikona — czytelniej */

/* =========================================================
   6. NAGŁÓWEK — TELEFON
   ========================================================= */
.ast-mobile-header-wrap .ast-primary-header-bar { padding: 0 !important; }
.ast-mobile-header-wrap .site-primary-header-wrap {
	padding-left: var(--sd-gutter) !important;
	padding-right: var(--sd-gutter) !important;
}
.ast-mobile-header-wrap .ast-builder-layout-element { padding-left: 0; padding-right: 0; }
.ast-mobile-header-wrap .site-header-primary-section-right { gap: 8px; display: flex; align-items: center; }
.ast-mobile-header-wrap .ast-header-woo-cart { margin-right: 0; }

/* Ikona menu — czarny kwadrat 44×44 */
.ast-mobile-menu-trigger-minimal,
.menu-toggle.main-header-menu-toggle {
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: var(--sd-nori) !important;
	border-radius: 0 !important;
	border: 0 !important;
}
.menu-toggle .ast-mobile-svg,
.menu-toggle svg { fill: var(--sd-rice) !important; width: 20px; height: 20px; }

/* Menu wysuwane (off-canvas) */
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
	background: var(--sd-rice) !important;
	max-width: 100%;
	width: 100%;
}
.ast-mobile-popup-drawer .ast-mobile-popup-header {
	min-height: var(--sd-header-h);
	border-bottom: 1px solid var(--sd-nori);
}
.ast-mobile-popup-drawer .menu-toggle-close {
	width: 44px; height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--sd-nori) !important; color: var(--sd-rice) !important;
	border-radius: 0 !important; padding: 0 !important; margin-right: var(--sd-gutter);
}
.ast-mobile-popup-drawer .menu-toggle-close svg { fill: var(--sd-rice) !important; }
.ast-mobile-popup-content { padding: 8px var(--sd-gutter) 32px !important; }
.ast-mobile-popup-content .main-header-menu { border: 0 !important; background: transparent !important; }
.ast-mobile-popup-content .main-header-menu .menu-item > .menu-link {
	font-family: var(--sd-font-head) !important;
	font-weight: 900 !important;
	font-size: 30px !important;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
	color: var(--sd-nori) !important;
	min-height: 64px;
	display: flex !important;
	align-items: center;
	padding: 0 !important;
	border-bottom: 1px solid var(--sd-nori) !important;
}
.ast-mobile-popup-content .ast-header-button-1 { width: 100%; margin-top: 24px; }
.ast-mobile-popup-content .ast-header-button-1 .ast-custom-button {
	width: 100%;
	min-height: 56px !important;
	font-size: 15px !important;
}

/* =========================================================
   7. SKLEP — wspólne (szczegóły w Etapie 5–7)
   ========================================================= */
.woocommerce ul.products li.product,
.wc-block-grid__product {
	text-align: left;
}
.woocommerce ul.products li.product .price,
.wc-block-components-product-price {
	font-family: var(--sd-font-head);
	font-weight: 800;
	color: var(--sd-nori) !important;
	font-size: 18px;
}
.woocommerce span.onsale {
	background: var(--sd-nori) !important;
	color: var(--sd-rice) !important;
	border-radius: 0 !important;
	font-family: var(--sd-font-mono);
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	min-height: 0; min-width: 0; line-height: 1;
	padding: 6px 8px;
}
.woocommerce-breadcrumb, .ast-breadcrumbs {
	font-family: var(--sd-font-mono);
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--sd-muted);
}

/* =========================================================
   8. DOLNY PASEK KOSZYKA — TYLKO TELEFON
   ========================================================= */
.sd-cartbar { display: none; }
@media (max-width: 921px) {
	.sd-cartbar.is-visible {
		display: flex;
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 998;
		align-items: center;
		gap: 12px;
		padding: 10px var(--sd-gutter) calc(10px + env(safe-area-inset-bottom));
		background: var(--sd-rice);
		border-top: 1px solid var(--sd-nori);
		box-shadow: 0 -6px 20px rgba(20,20,20,.06);
	}
	.sd-cartbar__info { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; line-height: 1.2; }
	.sd-cartbar__count { font-family: var(--sd-font-mono); font-size: 11px; color: var(--sd-muted); }
	.sd-cartbar__total { font-family: var(--sd-font-head); font-weight: 800; font-size: 19px; color: var(--sd-nori); }
	.sd-cartbar__total .woocommerce-Price-amount { font-weight: 800; }
	.sd-cartbar__btn {
		flex: 0 0 auto;
		min-height: var(--sd-tap);
		display: inline-flex; align-items: center; justify-content: center;
		padding: 0 20px;
		background: var(--sd-shu); color: var(--sd-white) !important;
		font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
		text-decoration: none;
	}
	.sd-cartbar__btn:hover { background: var(--sd-shu-dark); }
	body.sd-has-cartbar { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
	/* nie zasłaniamy przycisków Astry „do góry” */
	body.sd-has-cartbar #ast-scroll-top { bottom: calc(84px + env(safe-area-inset-bottom)); }
}

/* =========================================================
   9. DOSTĘPNOŚĆ / RUCH
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
.screen-reader-text:focus { background: var(--sd-nori); color: var(--sd-rice); }

/* =========================================================
   10. STOPKA (czarna)
   ========================================================= */
.site-footer, .site-footer .site-primary-footer-wrap, .site-footer .site-below-footer-wrap { background: var(--sd-nori) !important; color: #D9D3C7; }
.site-footer .site-primary-footer-wrap { padding: 48px 0 24px !important; }
.site-footer .ast-builder-grid-row { gap: 32px; }
.site-footer p { margin: 0 0 8px; font-size: 14px; line-height: 1.6; color: #D9D3C7; }
.site-footer a { color: var(--sd-rice) !important; text-decoration: none; }
.site-footer a:hover { color: var(--sd-white) !important; text-decoration: underline; }
.site-footer .sd-wordmark { font-size: 24px; }
.site-footer .sd-label { color: #C9C3B6; margin-bottom: 10px; }
.site-footer .footer-widget-area .menu-item > a, .site-footer .ast-footer-menu .menu-link { font-size: 15px; padding: 6px 0 !important; display: inline-flex; min-height: 40px; align-items: center; }
.site-footer .site-below-footer-wrap { border-top: 1px solid #3A3833 !important; padding: 16px 0 !important; }
.site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p { font-family: var(--sd-font-mono); font-size: 12px; color: #C9C3B6; }
@media (max-width: 921px) { .site-footer .site-primary-footer-wrap { padding: 36px 0 16px !important; } .site-footer .ast-builder-grid-row { gap: 24px; } }

/* =========================================================
   11. TREŚĆ BEZ BIAŁYCH PUDEŁEK (minimalizm)
   ========================================================= */
.ast-separate-container .ast-woocommerce-container,
.ast-separate-container .site-main > .ast-row,
.ast-separate-container .site-main > article,
.ast-separate-container .comments-area,
.woocommerce .ast-woocommerce-container { background: transparent !important; padding: 0 !important; box-shadow: none !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner { background: var(--sd-white) !important; border: 1px solid var(--sd-nori) !important; border-top-width: 3px !important; color: var(--sd-ink) !important; border-radius: 0 !important; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--sd-nori) !important; }

/* 12. PASEK ADMINA — nie dotykamy jego pól */
#wpadminbar #adminbarsearch .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px,1px,1px,1px) !important; padding: 0 !important; background: none !important; }
#wpadminbar input[type="search"], #wpadminbar input[type="submit"] { min-height: 0 !important; border: 0 !important; background: transparent !important; padding: 0 !important; font-size: 13px !important; }

/* 13. TELEFON — poprawki po testach */
.ast-header-break-point .site-logo-img .custom-logo-link.sd-logo { display: inline-flex !important; }
.ast-header-break-point .custom-mobile-logo-link:empty { display: none !important; }
.site-footer .site-primary-footer-wrap .ast-builder-grid-row,
.site-footer .site-below-footer-wrap .ast-builder-grid-row { padding-left: var(--sd-gutter); padding-right: var(--sd-gutter); }
@media (max-width: 921px) {
  .site-footer .site-primary-footer-wrap .ast-builder-grid-row { grid-template-columns: 1fr !important; }
  .site-footer .site-footer-section { margin-bottom: 0 !important; }
}
