/*
Theme Name: Rinosta
Theme URI: https://rinosta.lv
Description: Rinosta Shipping Agency child theme for Twenty Twenty-Five.
Author: Rinosta Shipping Agency
Template: twentytwentyfive
Version: 1.0.5
Requires at least: 6.7
Text Domain: rinosta
*/

:root {
	--rs-radius: 6px;
	--rs-line: var(--wp--preset--color--line);
}

body { -webkit-font-smoothing: antialiased; }
:where(h1, h2, h3, h4) { text-wrap: balance; }

/* ---------- Page rhythm: no gaps between full-width bands ---------- */
.wp-site-blocks > *,
.wp-site-blocks > main > *,
.wp-block-post-content > .alignfull,
.rs-footer__legal { margin-block-start: 0; }
.wp-site-blocks > footer { margin-block-start: 0; }

/* ---------- Header ---------- */
.rs-header__right { flex-shrink: 0; }
.rs-nav, .rs-nav .wp-block-navigation__container { flex-wrap: nowrap !important; white-space: nowrap; }
.rs-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { flex-wrap: nowrap !important; }
header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0);
	z-index: 100;
}
.rs-header {
	padding-top: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.rs-header__inner { gap: 2rem; }
.rs-header__right { gap: 1.75rem; }
.rs-header .wp-block-site-logo img { display: block; height: auto; }
.rs-nav .wp-block-navigation__container { gap: 1.75rem; }
.rs-nav a { text-decoration: none; }
.rs-nav .wp-block-navigation-item__content:hover,
.rs-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--accent-light); }
.rs-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--navy) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, .14) !important;
	border-radius: var(--rs-radius);
	padding: .5rem 0 !important;
	min-width: 270px !important;
	box-shadow: 0 18px 40px -18px rgba(4, 22, 36, .6);
}
.rs-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.15rem !important; }

.rs-lang ul, ul.rs-lang { display: flex; gap: .2rem; margin: 0; padding: 0; list-style: none; }
.rs-lang li { margin: 0; }
.rs-lang a {
	display: block;
	padding: .32rem .5rem;
	border-radius: 4px;
	font-family: var(--wp--preset--font-family--manrope);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--mist);
}
.rs-lang a:hover { color: #fff; }
.rs-lang .current-lang a { color: #fff; background: rgba(255, 255, 255, .1); }

@media (max-width: 599px) {
	.rs-header .wp-block-site-logo img { width: 112px !important; }
	.rs-header__right { gap: .75rem; }
}

/* ---------- Home hero ---------- */
.rs-hero {
	padding-top: clamp(3.5rem, 8vw, 7rem);
	padding-bottom: clamp(4rem, 9vw, 7.5rem);
}
.rs-hero .wp-block-columns { gap: clamp(2rem, 5vw, 5rem); }
.rs-hero__title {
	font-size: clamp(1.85rem, 5.2vw, 4.25rem);
	hyphens: auto;
	overflow-wrap: normal;
	line-height: 1.04;
	letter-spacing: -.028em;
	max-width: 14ch;
	color: #fff;
}
.rs-hero__lead {
	font-size: clamp(1.05rem, 1.4vw, 1.25rem);
	color: var(--wp--preset--color--mist);
	max-width: 44ch;
}
.rs-hero .wp-block-buttons { margin-top: 2rem; }
.rs-mosaic { gap: 12px !important; }
.rs-mosaic .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--rs-radius); }
.rs-mosaic > .wp-block-image:nth-child(even) { transform: translateY(32px); }

/* ---------- Stats ---------- */
.rs-stats {
	padding-top: clamp(2.5rem, 5vw, 3.5rem);
	padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
	border-bottom: 1px solid var(--rs-line);
}
.rs-stats .wp-block-column { border-left: 2px solid var(--wp--preset--color--accent); padding-left: 1.25rem; }
.rs-stat__num {
	font-family: var(--wp--preset--font-family--manrope);
	font-weight: 800;
	font-size: clamp(2rem, 3.6vw, 2.75rem);
	line-height: 1;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--navy);
	margin: 0;
}
.rs-stat__label { color: var(--wp--preset--color--muted); margin-top: .6rem !important; max-width: 28ch; }

/* ---------- Sections ---------- */
.rs-section {
	padding-top: clamp(4rem, 8vw, 6.5rem);
	padding-bottom: clamp(4rem, 8vw, 6.5rem);
}
.rs-section__head { margin-bottom: 2.5rem; }
.rs-section__head p { color: var(--wp--preset--color--muted); max-width: 56ch; }

.rs-cards { gap: 1.25rem; }
.rs-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--rs-line);
	border-radius: var(--rs-radius);
	overflow: hidden;
	padding: 0 0 1.4rem;
	transition: border-color .2s ease;
}
.rs-card > * { margin-left: 1.25rem !important; margin-right: 1.25rem !important; }
.rs-card > .wp-block-image { margin: 0 0 1.15rem !important; }
.rs-card .wp-block-image img { width: 100%; display: block; }
.rs-card h3 { font-size: 1.15rem; margin-top: 0; margin-bottom: .45rem; }
.rs-card h3 a { color: inherit; text-decoration: none; }
.rs-card h3 a::after { content: ""; position: absolute; inset: 0; }
.rs-card p { color: var(--wp--preset--color--muted); font-size: .97rem; margin-top: 0; }
.rs-card:hover { border-color: var(--wp--preset--color--accent); }
.rs-card:hover h3 a { color: var(--wp--preset--color--accent); }
.rs-card--cta {
	background: var(--wp--preset--color--navy);
	border-color: var(--wp--preset--color--navy);
	padding-top: 1.75rem;
	justify-content: space-between;
}
.rs-card--cta h3 { color: #fff; font-size: 1.3rem; }
.rs-card--cta p { color: var(--wp--preset--color--mist); }
.rs-card--cta:hover { border-color: var(--wp--preset--color--navy); }

.rs-about__img img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--rs-radius); width: 100%; }
.rs-about .wp-block-columns { gap: clamp(2rem, 5vw, 5rem); }
.rs-muted { color: var(--wp--preset--color--muted); }

.rs-office { border-top: 2px solid var(--wp--preset--color--navy); padding-top: 1.25rem; }
.rs-office h3 { font-size: 1.2rem; margin-bottom: .6rem; }
.rs-office p { margin: 0; }
.rs-office a, .rs-office-card a { color: var(--wp--preset--color--ink); text-decoration: none; border-bottom: 1px solid var(--rs-line); }
.rs-office a:hover, .rs-office-card a:hover { color: var(--wp--preset--color--accent); border-color: currentColor; }

/* ---------- Inner pages ---------- */
.rs-pagehero {
	padding-top: clamp(3rem, 7vw, 5.5rem);
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.rs-pagehero .wp-block-columns { gap: clamp(2rem, 5vw, 4rem); }
.rs-pagehero__title {
	font-size: clamp(1.75rem, 4.4vw, 3.4rem);
	hyphens: auto;
	line-height: 1.06;
	letter-spacing: -.022em;
	color: #fff;
	max-width: 20ch;
	margin: 0;
}
.rs-pagehero__lead { color: var(--wp--preset--color--mist); font-size: 1.15rem; max-width: 52ch; margin-top: 1rem; }
.rs-pagehero__lead .wp-block-post-excerpt__more-text { display: none; }
.rs-pagehero__img { max-width: 380px; margin-left: auto !important; margin-bottom: -4.5rem !important; position: relative; z-index: 2; }
.rs-pagehero__img img { border-radius: var(--rs-radius); box-shadow: 0 22px 44px -22px rgba(11, 50, 80, .55); }
@media (max-width: 781px) {
	.rs-pagehero__img { margin: .5rem 0 0 !important; max-width: 100%; }
}

.rs-content { padding-top: clamp(3.5rem, 7vw, 6rem); padding-bottom: clamp(4rem, 8vw, 6rem); }
.rs-split { gap: clamp(2rem, 5vw, 4.5rem) !important; }
.rs-prose { max-width: 68ch; }
.rs-prose > :first-child { margin-top: 0; }
.rs-prose h2 { font-size: clamp(1.4rem, 2.2vw, 1.75rem); margin-top: 2.75rem; }
.rs-prose h3 { margin-top: 2rem; }
.rs-prose ul { padding-left: 1.2rem; }
.rs-prose li { margin: .35rem 0; }
.rs-prose li::marker { color: var(--wp--preset--color--accent); }
.rs-prose .wp-block-image img { border-radius: var(--rs-radius); }
.rs-prose hr.wp-block-separator { border: 0; border-top: 1px solid var(--rs-line); margin: 2.5rem 0; width: 100%; }

.rs-aside {
	background: #fff;
	border: 1px solid var(--rs-line);
	border-radius: var(--rs-radius);
	padding: 1.75rem !important;
	position: sticky;
	top: 110px;
}
.rs-aside__title {
	font-size: .8rem !important;
	text-transform: uppercase;
	letter-spacing: .09em;
	color: var(--wp--preset--color--muted);
	font-weight: 700;
	margin: 0 0 1rem !important;
}
.rs-aside .wp-block-buttons { margin-top: 1.5rem; }

.rs-person { padding: 1rem 0; border-top: 1px solid var(--rs-line); }
.rs-person:first-of-type, .rs-aside__title + .rs-person { border-top: 0; padding-top: 0; }
.rs-person p { margin: 0; }
.rs-person__name { font-family: var(--wp--preset--font-family--manrope); font-weight: 700; color: var(--wp--preset--color--navy); }
.rs-person__role { color: var(--wp--preset--color--muted); font-size: .9rem; margin-bottom: .4rem !important; }
.rs-person__meta { font-size: .93rem; line-height: 1.75; }
.rs-person__meta a { color: var(--wp--preset--color--ink); text-decoration: none; border-bottom: 1px solid var(--rs-line); overflow-wrap: anywhere; }
.rs-person__meta a:hover { color: var(--wp--preset--color--accent); border-color: currentColor; }

.rs-stat-list .rs-stat__num { font-size: 1.9rem; }
.rs-stat-list > * + * { margin-top: 1.25rem; }

/* Contacts page */
.rs-offices { gap: 1.5rem !important; }
.rs-office-card {
	background: #fff;
	border: 1px solid var(--rs-line);
	border-radius: var(--rs-radius);
	overflow: hidden;
	padding-bottom: 1.6rem;
	height: 100%;
}
.rs-office-card > * { margin-left: 1.6rem !important; margin-right: 1.6rem !important; }
.rs-office-card > .wp-block-image { margin: 0 0 1.5rem !important; }
.rs-office-card .wp-block-image img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; display: block; }
.rs-office-card h2 { font-size: 1.5rem; margin-bottom: .25rem; }
.rs-office-card p { margin-top: .6rem; }
.rs-dept { margin-top: 3rem !important; }
.rs-dept > h3 { font-size: 1.05rem; padding-bottom: .6rem; border-bottom: 2px solid var(--wp--preset--color--navy); margin-bottom: 1.25rem; }
.rs-people { gap: 1.5rem 2rem; }
.rs-people .rs-person { border-top: 0; padding: 0; }

/* ---------- Footer ---------- */
.rs-footer {
	padding-top: clamp(3.5rem, 6vw, 5rem);
	padding-bottom: 2rem;
	font-size: .95rem;
}
.rs-footer .wp-block-columns { gap: 2.5rem; }
.rs-footer a { color: #fff; text-decoration: none; }
.rs-footer a:hover { color: var(--wp--preset--color--accent-light); }
.rs-footer__h { font-size: 1rem !important; margin-bottom: .75rem; color: #fff; letter-spacing: 0; }
.rs-footer__about { max-width: 34ch; }
.rs-footer__legal {
	border-top: 1px solid rgba(255, 255, 255, .12);
	margin-top: 3rem !important;
	padding-top: 1.5rem;
	font-size: .85rem;
}

/* ---------- Mobile menu overlay ---------- */
.rs-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem var(--wp--preset--spacing--50, 1.5rem) 2rem; }
.rs-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.rs-nav .is-menu-open .wp-block-navigation__container,
.rs-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.rs-nav .is-menu-open .wp-block-navigation__container { gap: 1.1rem !important; font-size: 1.2rem; padding-top: 2rem; white-space: normal; }
.rs-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; background: transparent !important; padding: .6rem 0 0 1rem !important; min-width: 0 !important; font-size: 1rem; }
.rs-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .35rem 0 !important; color: var(--wp--preset--color--mist); }
@media (max-width: 599px) {
	.rs-mosaic > .wp-block-image:nth-child(even) { transform: translateY(16px); }
	.rs-hero { padding-bottom: 4rem; }
}

/* Single office card: image and details side by side */
@media (min-width: 782px) {
	.rs-offices > .wp-block-column:only-child .rs-office-card { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: 2.5rem; align-content: start; padding-bottom: 0; }
	.rs-offices > .wp-block-column:only-child .rs-office-card > .wp-block-image { grid-row: 1 / span 6; margin: 0 !important; }
	.rs-offices > .wp-block-column:only-child .rs-office-card > .wp-block-image img { height: 100%; aspect-ratio: auto !important; min-height: 320px; }
	.rs-offices > .wp-block-column:only-child .rs-office-card > :not(.wp-block-image) { margin-left: 0 !important; margin-right: 2rem !important; }
	.rs-offices > .wp-block-column:only-child .rs-office-card > h2 { margin-top: 2rem !important; }
	.rs-offices > .wp-block-column:only-child .rs-office-card > :last-child { margin-bottom: 2rem !important; }
}
