/*
Theme Name: Kiosko
Theme URI: https://wordpress.com/theme/kiosko/
Author: Automattic
Author URI: https://automattic.com/
Description: Kiosko Studio is a lightweight block theme for creative and marketing studios, modernized for current WordPress and WooCommerce standards with built-in technical SEO enhancements.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.5.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: 
Text Domain: kiosko
Tags: e-commerce, four-columns, wide-blocks, block-patterns, block-styles, featured-images, full-site-editing, rtl-language-support, sticky-post, template-editing, threaded-comments, translation-ready
*/

/*
 * Control the hover stylings of outline block style.
 * Unnecessary once block styles are configurable via theme.json
 * https://github.com/WordPress/gutenberg/issues/42794
 */
.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background):hover {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--contrast);
}

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-color: var(--wp--preset--color--primary);
	text-decoration-thickness: 0.5px !important;
	text-underline-offset: 0.05em;
}

/* Reset browser default margins for blockquote element */
.wp-block-pullquote blockquote {
	margin: 0;
}

/* Search button inside style */
.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	padding: 4px;
}

/* Adjust font size for comment reply title */
.wp-block-post-comments-form .comment-reply-title {
	font-size: var(--wp--preset--font-size--large);
}

/* Remove the bottom margin from the button */
.wp-block-post-comments-form .form-submit {
	margin-bottom: 0;
}

/*
 * Responsive menu container padding.
 * This ensures the responsive container inherits the same
 * spacing defined above. This behavior may be built into
 * the Block Editor in the future.
 */
.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--50);
}

/* Adjust the top padding for the submenu items */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
	padding-top: var(--wp--preset--spacing--30);
}

/* Override the Gutenberg style to theme style */
.wp-block-post-author__byline,
.wp-block-post-author__bio {
	font-size: inherit;
}

/* Round the avatar and reset the vertical alignment */
.wp-block-post-author__avatar img {
	border-radius: 999px;
	line-height: 0;
}

/* Style tag cloud outline style  */
.wp-block-tag-cloud.is-style-outline a {
	border-color: var(--wp--preset--color--tertiary);
	border-radius: 999px;
	padding: 0 0.5rem;
}

.wp-block-tag-cloud.is-style-outline a:hover {
	color: var(--wp--preset--color--base);
	background-color: var(--wp--preset--color--primary);
}

/* Remove the default margin from author bio */
.wp-block-post-author__bio {
	margin: 0;
}

/* Remove the default margin from term description. */
.wp-block-term-description p:first-child {
	margin-top: 0;
}

.wp-block-term-description p:last-child {
	margin-bottom: 0;
}

/* Normalise font sizes for the latest comments and latest posts widgets */
.wp-block-latest-comments__comment-excerpt p,
.wp-block-latest-comments__comment-date,
.wp-block-latest-posts__post-author,
.wp-block-latest-posts__post-date {
	font-size: inherit;
}

/* Adjust font colour in the Calendar widget */
.wp-block-calendar table:where(:not(.has-text-color)) {
	color: var(--wp--preset--color--foreground);
}

/* Fix border radius setting for the avatar block */
.wp-block-avatar a,
.wp-block-avatar img {
	border-radius: inherit;
	vertical-align: middle;
}

/* Fix line height for various fields */
.wp-block-search__input,
.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]),
.wp-block-post-comments-form .comment-form textarea {
	line-height: inherit;
}

/* Style  border colour for search and Jetpack subscription blocks */
.wp-block-search__input,
.wp-block-search__button-inside .wp-block-search__inside-wrapper,
.wp-block-jetpack-subscriptions.wp-block-jetpack-subscriptions__supports-newline form input[type="email"] {
	border-color: var(--wp--preset--color--tertiary);
}

/* Needed to style input field for various Jetpack blocks */
.wp-block-jetpack-contact-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-jetpack-contact-form select,
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-mailchimp input:not([type="submit"]):not([type="checkbox"]),
.wp-block-jetpack-revue input:not([type="submit"]):not([type="checkbox"]) {
	background-color: #fff;
	border: 1px solid var(--wp--preset--color--tertiary);
	font-size: inherit;
	line-height: inherit;
	padding: 0.5rem;
}

.wp-block-jetpack-contact-form.contact-form label {
	font-weight: 400;
}

.wp-block-jetpack-contact-form.contact-form label span {
	opacity: 0.7;
}

.wp-block-jetpack-contact-form.contact-form select {
	padding: 0.5rem;
}

.wp-block-jetpack-contact-form.contact-form textarea {
	margin-bottom: var(--wp--preset--spacing--40);
}

/* Style the feedback you get after submitting the contact form */
div[id^="contact-form-"] h4 {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: inherit;
	line-height: 1.555555556;
}

div[id^="contact-form-"] .contact-form-submission {
	margin: 0;
	padding: 0;
}

/* Adjust vertical margins in the mailchimp block */
.wp-block-jetpack-mailchimp .wp-block-jetpack-button,
.wp-block-jetpack-mailchimp p {
	margin: var(--wp--preset--spacing--40) 0;
}

/* Adjust the size of the consent text in mailchimp block */
#wp-block-jetpack-mailchimp_consent-text {
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: 0;
}

/* Remove underline from the price after discounted */
ins {
	text-decoration: none;
}

/* WooCommerce-specific layout polish lives in assets/css/woocommerce.css */


/* Studio variant styles */
body {
	background: var(--wp--preset--color--base);
}

.wp-site-blocks {
	overflow-x: clip;
}

.is-style-kiosko-studio-card,
.kiosko-studio-card {
	border: 1px solid rgba(27, 29, 34, 0.1);
	box-shadow: 0 18px 50px rgba(27, 29, 34, 0.08);
}

.kiosko-studio-grid .wp-block-group,
.kiosko-studio-grid .wp-block-column {
	height: 100%;
}

.kiosko-studio-metric strong {
	font-size: clamp(2rem, 5vw, 3.6rem);
	line-height: 1;
	display: block;
}

.kiosko-studio-outline {
	position: relative;
}

.kiosko-studio-outline::after {
	content: "";
	position: absolute;
	inset: 16px -16px -16px 16px;
	border: 1px solid rgba(242, 183, 5, 0.45);
	pointer-events: none;
}

.kiosko-studio-highlight {
	background: linear-gradient(135deg, rgba(242, 183, 5, 0.16), rgba(242, 183, 5, 0.03));
}

.kiosko-studio-dark {
	background: var(--wp--preset--color--contrast);
	color: #fff;
}

.kiosko-studio-dark a {
	color: #fff;
}

.kiosko-studio-badge {
	display: inline-block;
	padding: 0.4rem 0.75rem;
	border: 1px solid rgba(27, 29, 34, 0.15);
	border-radius: 999px;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media (max-width: 781px) {
	.kiosko-studio-outline::after {
		inset: 10px -10px -10px 10px;
	}
}


/* Studio polish fixes */
.home .wp-site-blocks{overflow-x:hidden;}
.kiosko-studio-dark{background:#1b1d22;color:#fff;}
.home footer ul{list-style:none;margin:0;padding-left:0;}
.home footer li{margin:0 0 8px;}
.home footer a{color:#fff;text-decoration:none;}
.home footer a:hover{text-decoration:underline;}
.home .wp-block-columns{align-items:stretch;}
.home .kiosko-studio-card{box-sizing:border-box;}
@media (max-width: 900px){
  .home .wp-block-heading[style*="text-transform:uppercase"]{font-size:clamp(2.4rem,11vw,4rem)!important;line-height:.96!important;}
}


/* Footer and navigation refinements */
.home footer .wp-block-navigation .wp-block-navigation-item{margin:0;}
.home footer .wp-block-navigation__container{align-items:flex-start;}
.home footer .wp-block-navigation-item__content{padding:0;text-decoration:none;}
.home footer .wp-block-navigation-item__content:hover{text-decoration:underline;}
.home header .wp-block-navigation-item__content{text-decoration:none;}
.home header .wp-block-navigation-item__content:hover{text-decoration:underline;}
@media (max-width: 900px){
  .home footer .wp-block-columns{gap:24px!important;}
}


/* Footer/menu cleanup 1.3.9 */
.kiosko-site-footer .alignwide{width:min(1200px,100%);}
.kiosko-footer-shell{align-items:stretch;}
.kiosko-footer-brand{flex:1 1 52rem;max-width:52rem;}
.kiosko-footer-meta{flex:1 1 24rem;justify-content:flex-end;}
.kiosko-footer-card{flex:1 1 12rem;min-width:12rem;box-sizing:border-box;background:rgba(255,255,255,0.02);}
.kiosko-site-footer .wp-block-navigation__container{align-items:flex-start;}
.kiosko-site-footer .wp-block-navigation-item{width:100%;}
.kiosko-site-footer .wp-block-navigation-item__content{display:inline-block;padding:0;text-decoration:none;}
.kiosko-site-footer .wp-block-navigation-item__content:hover{text-decoration:underline;}
.kiosko-site-footer .wp-block-heading,
.kiosko-site-footer p{overflow-wrap:anywhere;word-break:normal;}
.kiosko-site-footer .wp-block-navigation{width:100%;}
@media (max-width: 1100px){
  .kiosko-footer-brand{max-width:none;}
  .kiosko-footer-meta{justify-content:stretch;}
}
@media (max-width: 781px){
  .kiosko-site-footer{padding-left:var(--wp--preset--spacing--40)!important;padding-right:var(--wp--preset--spacing--40)!important;}
  .kiosko-footer-card,
  .kiosko-footer-brand{min-width:100%;}
}


/* Mobile/container spacing fixes 1.3.5 */
.kiosko-footer-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,0.75fr);gap:24px;align-items:stretch;}
.kiosko-footer-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-content:start;}
.kiosko-footer-brand,.kiosko-footer-card{width:100%;min-width:0;}
.kiosko-site-footer .wp-block-navigation{min-width:0;}
.kiosko-site-footer .wp-block-navigation__container{width:100%;}
@media (max-width: 1100px){
  .kiosko-footer-shell{grid-template-columns:1fr;}
  .kiosko-footer-meta{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 900px){
  .home main > .wp-block-group.alignwide,
  .home main > .alignwide,
  .home .wp-block-group.alignwide.has-background,
  .home .wp-block-columns.alignwide,
  .home .wp-block-group > .alignwide{
    max-width:calc(100vw - 32px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home main > .wp-block-group.alignwide,
  .home .wp-block-group.alignwide.has-background{
    padding-left:20px!important;
    padding-right:20px!important;
    box-sizing:border-box;
  }
  .home .wp-block-columns{gap:16px!important;}
  .home .wp-block-column{min-width:0;}
  .home .wp-block-heading,
  .home p{overflow-wrap:anywhere;word-break:normal;}
  .home .kiosko-studio-badge{margin-left:0!important;}
}
@media (max-width: 781px){
  .home header .alignwide,
  .home footer .alignwide,
  .home main .alignwide{max-width:calc(100vw - 24px)!important;}
  .home .wp-site-blocks{overflow-x:hidden;}
  .home .wp-block-group,
  .home .wp-block-columns,
  .home .wp-block-column{box-sizing:border-box;}
  .kiosko-site-footer{padding-left:16px!important;padding-right:16px!important;}
  .kiosko-footer-shell{gap:18px;}
  .kiosko-footer-meta{grid-template-columns:1fr;gap:12px;}
  .kiosko-footer-brand,
  .kiosko-footer-card{padding:18px!important;}
}


/* Footer redesign 1.3.9 */
.kiosko-site-footer{position:relative;overflow:hidden;}
.kiosko-footer-wrap{width:min(1360px,100%);}
.kiosko-footer-panel{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.015));box-sizing:border-box;}
.kiosko-footer-brand .wp-block-columns{margin-bottom:0;}
.kiosko-footer-brand .wp-block-column{min-width:0;}
.kiosko-footer-meta{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;}
.kiosko-footer-card{min-width:0;width:100%;}
.kiosko-footer-card .wp-block-heading{margin-top:0;}
.kiosko-site-footer .wp-block-navigation{width:100%;min-width:0;}
.kiosko-site-footer .wp-block-navigation__container{width:100%;align-items:flex-start;}
.kiosko-site-footer .wp-block-navigation-item{width:100%;}
.kiosko-site-footer .wp-block-navigation-item__content{display:block;width:100%;padding:2px 0;text-decoration:none;}
.kiosko-site-footer .wp-block-navigation-item__content:hover{text-decoration:underline;}
.kiosko-site-footer .wp-block-button__link{text-decoration:none;}
.kiosko-footer-bottom p{margin:0;}
@media (max-width: 1100px){
  .kiosko-footer-brand .wp-block-columns{display:block;}
  .kiosko-footer-brand .wp-block-column + .wp-block-column{margin-top:18px;}
}
@media (max-width: 900px){
  .kiosko-footer-wrap{width:min(100%,calc(100vw - 28px));}
  .kiosko-footer-meta{grid-template-columns:1fr;gap:14px;}
  .kiosko-footer-brand,
  .kiosko-footer-card{padding:22px!important;}
  .kiosko-footer-brand .wp-block-buttons{justify-content:flex-start!important;}
  .kiosko-footer-brand .has-text-align-right{text-align:left!important;}
  .kiosko-site-footer{padding-left:14px!important;padding-right:14px!important;}
}


/* Studio carousel */
.kiosko-carousel-wrap {
	position: relative;
	left: 50%;
	right: 50%;
	width: 100vw;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	overflow: hidden;
	padding-left: max(16px, calc((100vw - min(1360px, calc(100vw - 48px))) / 2));
	padding-right: max(16px, calc((100vw - min(1360px, calc(100vw - 48px))) / 2));
	box-sizing: border-box;
}
.kiosko-carousel-track {
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(14px, 1.8vw, 24px);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 6px 0 14px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.kiosko-carousel-track::-webkit-scrollbar {
	height: 8px;
}
.kiosko-carousel-track::-webkit-scrollbar-thumb {
	background: rgba(27,29,34,.18);
	border-radius: 999px;
}
.kiosko-carousel-card {
	flex: 0 0 clamp(320px, 34vw, 520px);
	min-width: 0;
	background: #fff;
	border: 1px solid rgba(27,29,34,.1);
	border-radius: 24px;
	padding: clamp(16px, 2vw, 22px);
	box-shadow: 0 18px 50px rgba(27,29,34,.08);
	scroll-snap-align: start;
	box-sizing: border-box;
}
.kiosko-carousel-card-dark {
	background: #151821;
	border-color: rgba(255,255,255,.08);
}
.kiosko-carousel-card-highlight {
	background: #f2c100;
}
.kiosko-carousel-image,
.kiosko-carousel-image figure,
.kiosko-carousel-image img {
	margin: 0;
}
.kiosko-carousel-image img {
	display: block;
	width: 100%;
	height: clamp(220px, 26vw, 320px);
	object-fit: cover;
	border-radius: 18px;
}
.kiosko-carousel-kicker {
	margin: 16px 0 8px;
	font-size: .8rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .72;
}
@media (max-width: 1100px) {
	.kiosko-carousel-wrap {
		padding-left: 24px;
		padding-right: 24px;
	}
	.kiosko-carousel-card {
		flex-basis: clamp(320px, 58vw, 460px);
	}
}
@media (max-width: 781px) {
	.kiosko-carousel-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}
	.kiosko-carousel-card {
		flex-basis: calc(100vw - 32px);
		border-radius: 22px;
	}
	.kiosko-carousel-image img {
		height: 54vw;
	}
}


/* Yukon-inspired footer redesign */
.kiosko-footer-yukon{background:#09121d!important;color:#fff;overflow:hidden;}
.kiosko-footer-yukon .alignfull{margin-top:0;margin-bottom:0;}
.kiosko-footer-yukon__top{margin:0!important;gap:0!important;}
.kiosko-footer-yukon__top>.wp-block-column{margin-left:0!important;min-width:0;box-sizing:border-box;}
.kiosko-footer-yukon__dot{color:var(--wp--preset--color--primary,#f2b705);}
.kiosko-footer-yukon__signup{display:flex;align-items:center;border:1px solid rgba(255,255,255,.28);border-radius:18px;overflow:hidden;min-height:64px;background:rgba(5,13,22,.45);}
.kiosko-footer-yukon__signup input{flex:1;border:0;background:transparent;color:#fff;padding:0 20px;font-size:1.05rem;outline:none;min-width:0;}
.kiosko-footer-yukon__signup input::placeholder{color:#ffffff;opacity:.9;}
.kiosko-footer-yukon__signup button{border:0;background:var(--wp--preset--color--primary,#f2b705);color:#09121d;width:52px;height:52px;border-radius:999px;margin-right:8px;font-size:1.7rem;font-weight:700;line-height:1;cursor:pointer;flex:0 0 52px;}
.kiosko-footer-yukon__links .wp-block-group{min-width:0;}
.kiosko-footer-yukon__line{margin:0!important;}
.kiosko-footer-yukon__line p{margin:0;}
.kiosko-footer-yukon__bottom{margin-top:0!important;gap:24px;}
.kiosko-footer-yukon__socials p,
.kiosko-footer-yukon__legal-links p{margin:0;}
.kiosko-footer-yukon__socials{align-items:center;}
.kiosko-footer-yukon__socials p{width:40px;text-align:center;}
.kiosko-footer-yukon__legal-links{flex:1;justify-content:space-between;}
.kiosko-footer-yukon__legal-links p{text-decoration:underline;text-underline-offset:3px;}
@media (max-width: 1100px){
  .kiosko-footer-yukon__top{display:block!important;}
  .kiosko-footer-yukon__brand,.kiosko-footer-yukon__newsletter,.kiosko-footer-yukon__links{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14);padding:48px 28px!important;}
  .kiosko-footer-yukon__links{padding-bottom:40px!important;}
  .kiosko-footer-yukon__bottom{padding:18px 28px!important;}
}
@media (max-width: 640px){
  .kiosko-footer-yukon__brand,.kiosko-footer-yukon__newsletter,.kiosko-footer-yukon__links{padding:34px 18px!important;}
  .kiosko-footer-yukon__bottom{padding:18px!important;gap:18px;}
  .kiosko-footer-yukon__signup{min-height:58px;border-radius:16px;}
  .kiosko-footer-yukon__signup input{padding:0 16px;font-size:1rem;}
  .kiosko-footer-yukon__signup button{width:46px;height:46px;flex-basis:46px;font-size:1.4rem;}
  .kiosko-footer-yukon__line{padding-top:14px!important;padding-bottom:14px!important;}
  .kiosko-footer-yukon__line p:first-child{font-size:1.12rem!important;}
  .kiosko-footer-yukon__legal-links{width:100%;justify-content:flex-start;gap:16px 22px;}
}


/* Classic menus rendered through shortcode */
.kiosko-classic-menu nav,
nav.kiosko-classic-menu {
	width: 100%;
}

.kiosko-classic-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kiosko-classic-menu a {
	text-decoration: none;
}

.kiosko-header-menu,
.kiosko-header-menu nav {
	width: auto !important;
	flex: 0 1 auto;
}

.kiosko-header-menu ul,
.kiosko-header-menu .menu {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap !important;
	gap: 26px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.kiosko-header-menu li,
.kiosko-header-menu .menu-item {
	display: block;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.kiosko-header-menu li::marker,
.kiosko-header-menu .menu-item::marker {
	content: '';
}

.kiosko-header-menu a {
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.01em;
	text-decoration: none;
	padding: 10px 0;
	position: relative;
}

.kiosko-header-menu a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	height: 2px;
	background: var(--wp--preset--color--primary);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .22s ease;
}

.kiosko-header-menu a:hover::after,
.kiosko-header-menu .current-menu-item > a::after,
.kiosko-header-menu .current_page_item > a::after {
	transform: scaleX(1);
}

.kiosko-header-menu a:hover {
	opacity: 1;
}

.kiosko-footer-menu ul,
.kiosko-legal-menu ul {
	display: grid;
	gap: 0;
	border-top: 1px solid rgba(255,255,255,0.14);
}

.kiosko-footer-menu li,
.kiosko-legal-menu li {
	border-bottom: 1px solid rgba(255,255,255,0.14);
	margin: 0;
}

.kiosko-footer-menu a,
.kiosko-legal-menu a {
	display: block;
	padding: 18px 0;
	color: #ffffff;
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.25;
}

.kiosko-footer-menu a:hover,
.kiosko-legal-menu a:hover {
	color: #f2bc00;
}

.kiosko-footer-yukon__bottom .kiosko-legal-menu ul {
	display:flex;
	gap:20px;
	border-top:0;
}

.kiosko-footer-yukon__bottom .kiosko-legal-menu li {
	border-bottom:0;
}

.kiosko-footer-yukon__bottom .kiosko-legal-menu a {
	padding:0;
	color:#d7dbe3;
	font-size:0.98rem;
	font-weight:400;
}

@media (max-width: 900px) {
	.kiosko-header-menu ul,
	.kiosko-header-menu .menu {
		justify-content: flex-start !important;
		gap: 12px 16px !important;
		flex-wrap: wrap !important;
	}

	.kiosko-footer-menu a,
	.kiosko-legal-menu a {
		font-size: 1.1rem;
	}

	.kiosko-footer-yukon__bottom .kiosko-legal-menu ul {
		flex-direction: column;
		gap: 12px;
	}
}


/* Header layout polish */
header .kiosko-header-menu,
.wp-block-group .kiosko-header-menu {
	align-self: center;
}

@media (min-width: 901px) {
	.kiosko-header-menu ul,
	.kiosko-header-menu .menu {
		min-height: 44px;
	}
}


/* Compact image-only studio carousel */
.kiosko-carousel-wrap--compact {
	padding-top: 0;
	padding-bottom: 0;
}
.kiosko-carousel-track--compact {
	gap: clamp(12px, 1.5vw, 18px);
	padding-top: 0;
	padding-bottom: 0;
}
.kiosko-carousel-card--imageonly {
	flex: 0 0 clamp(240px, 26vw, 360px);
	padding: 12px;
	border-radius: 22px;
	box-shadow: 0 14px 34px rgba(27,29,34,.06);
}
.kiosko-carousel-card--imageonly .wp-block-image,
.kiosko-carousel-card--imageonly figure,
.kiosko-carousel-card--imageonly img {
	margin: 0;
}
.kiosko-carousel-card--imageonly .kiosko-carousel-image img {
	display: block;
	width: 100%;
	height: clamp(150px, 17vw, 220px);
	object-fit: cover;
	border-radius: 16px;
}
@media (max-width: 1100px) {
	.kiosko-carousel-card--imageonly {
		flex-basis: clamp(220px, 42vw, 320px);
	}
	.kiosko-carousel-card--imageonly .kiosko-carousel-image img {
		height: clamp(145px, 24vw, 210px);
	}
}
@media (max-width: 781px) {
	.kiosko-carousel-track--compact {
		gap: 12px;
	}
	.kiosko-carousel-card--imageonly {
		flex-basis: calc(78vw - 8px);
		padding: 10px;
		border-radius: 18px;
	}
	.kiosko-carousel-card--imageonly .kiosko-carousel-image img {
		height: 42vw;
		min-height: 150px;
		max-height: 220px;
		border-radius: 14px;
	}
}


/* Mobile header menu toggle 1.4.5 */
.kiosko-site-header {
	position: relative;
}

.kiosko-header-actions {
	position: relative;
}

.kiosko-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 48px;
	height: 48px;
	border: 0;
	padding: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
}

.kiosko-menu-toggle span {
	display: block;
	width: 28px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
	transition: transform .22s ease, opacity .22s ease;
}

.kiosko-menu-toggle[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.kiosko-menu-toggle[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}
.kiosko-menu-toggle[aria-expanded="true"] span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 781px) {
	.kiosko-site-header {
		gap: 14px !important;
	}

	.kiosko-site-header > .wp-block-site-title {
		flex: 1 1 auto;
		min-width: 0;
		font-size: clamp(2rem, 7vw, 2.65rem) !important;
		line-height: .95;
	}

	.kiosko-header-actions {
		flex: 0 0 auto;
		gap: 10px !important;
	}

	.kiosko-menu-toggle {
		display: inline-flex;
	}

	 .kiosko-header-cta {
		margin-left: 0 !important;
	 }

	.kiosko-header-cta .wp-block-button__link {
		padding: 14px 22px !important;
		font-size: 1rem !important;
	}

	.kiosko-header-menu {
		position: absolute;
		right: 0;
		top: calc(100% + 14px);
		width: min(320px, calc(100vw - 32px));
		padding: 18px 18px 14px;
		border: 1px solid rgba(27,29,34,.08);
		border-radius: 24px;
		background: #f7f1df;
		box-shadow: 0 24px 60px rgba(27,29,34,.16);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-8px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
		z-index: 30;
	}

	.kiosko-header-menu.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	.kiosko-header-menu ul,
	.kiosko-header-menu .menu {
		display: grid !important;
		gap: 0 !important;
		overflow: visible;
		white-space: normal;
	}

	.kiosko-header-menu li,
	.kiosko-header-menu .menu-item {
		border-bottom: 1px solid rgba(27,29,34,.08);
	}

	.kiosko-header-menu li:last-child,
	.kiosko-header-menu .menu-item:last-child {
		border-bottom: 0;
	}

	.kiosko-header-menu a {
		display: block;
		padding: 14px 0;
		font-size: 1.2rem;
		font-weight: 700;
	}

	.kiosko-header-menu a::after {
		left: 0;
		right: auto;
		width: 48px;
		bottom: 10px;
		transform-origin: left center;
	}
}

@media (max-width: 520px) {
	.kiosko-site-header > .wp-block-site-title {
		font-size: clamp(1.7rem, 6vw, 2.15rem) !important;
	}

	.kiosko-menu-toggle {
		width: 42px;
		height: 42px;
	}

	.kiosko-menu-toggle span {
		width: 24px;
	}

	.kiosko-header-cta .wp-block-button__link {
		padding: 12px 18px !important;
		font-size: .95rem !important;
	}
}

/* =================================================================
   MOBILE MENU v1.5.0 — full redesign
   ================================================================= */

/* Hidden on desktop; shown below 900px */
.kiosko-mobile-nav { display: none; }

@media (max-width: 900px) {
  .kiosko-mobile-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    order: 10;
    flex-shrink: 0;
  }
  .kiosko-header-menu { display: none !important; }
}

/* Hamburger toggle */
.kiosko-mobile-nav__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px; height: 48px;
  padding: 0;
  border: 2px solid rgba(27,29,34,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(8px);
  color: var(--wp--preset--color--contrast);
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.kiosko-mobile-nav__toggle:hover {
  background: #fff;
  border-color: rgba(27,29,34,.3);
}
.kiosko-mobile-nav__toggle span {
  display: block;
  width: 22px; height: 2px;
  background: currentColor;
  border-radius: 999px;
  transition: transform .26s ease, opacity .2s ease;
}
.kiosko-mobile-nav__toggle span + span { margin-top: 5px; }
.kiosko-mobile-nav__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.kiosko-mobile-nav__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.kiosko-mobile-nav__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 640px) {
  .kiosko-mobile-nav__toggle { width: 44px; height: 44px; }
}

/* Fullscreen backdrop */
.kiosko-mobile-nav__panel {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(9,14,22,.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 12px 12px 0;
  box-sizing: border-box;
}
.kiosko-mobile-nav__panel[hidden] { display: none !important; }

/* Drawer card */
.kiosko-mobile-nav__head,
.kiosko-mobile-nav__menu {
  width: min(360px, calc(100vw - 24px));
  background: #f7f1df;
  box-sizing: border-box;
  /* slide-in animation driven by [data-open] */
  opacity: 0;
  transform: translateX(32px);
  transition: opacity .24s ease, transform .26s cubic-bezier(.25,.46,.45,.94);
}
.kiosko-mobile-nav__panel[data-open] .kiosko-mobile-nav__head,
.kiosko-mobile-nav__panel[data-open] .kiosko-mobile-nav__menu {
  opacity: 1;
  transform: translateX(0);
}
.kiosko-mobile-nav__menu { transition-delay: .04s; }

/* Drawer head */
.kiosko-mobile-nav__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px 16px;
  border-radius: 22px 22px 0 0;
  border: 1px solid rgba(27,29,34,.1);
  border-bottom: 1px solid rgba(27,29,34,.07);
  margin-top: max(48px, env(safe-area-inset-top));
  box-shadow: 0 24px 60px rgba(0,0,0,.16);
}
.kiosko-mobile-nav__head strong {
  font-size: .95rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.kiosko-mobile-nav__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  border: 1px solid rgba(27,29,34,.14);
  border-radius: 50%;
  background: rgba(27,29,34,.05);
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: background .18s, transform .22s;
}
.kiosko-mobile-nav__close:hover {
  background: rgba(27,29,34,.14);
  transform: rotate(90deg);
}

/* Drawer menu list */
.kiosko-mobile-nav__menu {
  padding: 6px 20px max(20px, env(safe-area-inset-bottom));
  border-radius: 0 0 22px 22px;
  border: 1px solid rgba(27,29,34,.1);
  border-top: 0;
  box-shadow: 0 28px 70px rgba(0,0,0,.18);
}
.kiosko-mobile-menu-list,
.kiosko-mobile-menu-list ul { list-style: none; margin: 0; padding: 0; }
.kiosko-mobile-menu-list > li { border-bottom: 1px solid rgba(27,29,34,.09); }
.kiosko-mobile-menu-list > li:last-child { border-bottom: 0; }
.kiosko-mobile-menu-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  transition: color .15s;
}
.kiosko-mobile-menu-list a::after {
  content: '→';
  font-size: .85rem;
  opacity: .3;
  transition: opacity .15s, transform .15s;
}
.kiosko-mobile-menu-list a:hover { color: var(--wp--preset--color--primary); }
.kiosko-mobile-menu-list a:hover::after { opacity: 1; transform: translateX(4px); }
.kiosko-mobile-menu-list .sub-menu { padding: 0 0 8px 12px; }
.kiosko-mobile-menu-list .sub-menu li { border: 0; }
.kiosko-mobile-menu-list .sub-menu a { font-size: .92rem; font-weight: 500; padding: 9px 0; opacity: .72; }
.kiosko-mobile-menu-list .sub-menu a::after { display: none; }

/* Scroll lock */
html.kiosko-menu-open,
body.kiosko-menu-open { overflow: hidden; }


/* =================================================================
   HEADER FIXES v1.5.0
   ================================================================= */
.kiosko-header-shell { flex-wrap: nowrap !important; }
.kiosko-header-shell > .wp-block-site-title { flex: 1 1 auto; min-width: 0; }
.kiosko-header-shell > .wp-block-site-title a {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.kiosko-header-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 12px; }

@media (max-width: 520px) {
  .kiosko-header-cta .wp-block-button__link {
    padding: 10px 16px !important;
    font-size: .88rem !important;
    min-height: 44px;
  }
  .kiosko-header-shell > .wp-block-site-title a {
    font-size: clamp(1.4rem, 6vw, 1.9rem) !important;
  }
}
@media (max-width: 380px) {
  .kiosko-header-cta { display: none !important; }
}


/* =================================================================
   CAROUSEL LINKED IMAGES v1.5.0
   — Fix: <a> must be block + same height as img
   ================================================================= */

/* The <a> wrapper inside figure must behave like the img itself */
.kiosko-carousel-card--link .wp-block-image a,
.kiosko-carousel-card--link .kiosko-carousel-image a {
  display: block;
  text-decoration: none;
  border: 0;
  line-height: 0; /* kills inline-block gap */
  overflow: hidden;
  border-radius: 16px;
  position: relative;
}

/* Image zoom on hover */
.kiosko-carousel-card--link .kiosko-carousel-image img {
  transition: transform .36s cubic-bezier(.25,.46,.45,.94);
  will-change: transform;
}
.kiosko-carousel-card--link:hover .kiosko-carousel-image img {
  transform: scale(1.06);
}

/* Arrow badge on hover */
.kiosko-carousel-card--link .kiosko-carousel-image a::after {
  content: '↗';
  position: absolute;
  top: 12px; right: 12px;
  width: 36px; height: 36px;
  background: #fff;
  color: #1b1d22;
  border-radius: 50%;
  font-size: 1rem;
  font-weight: 700;
  line-height: 36px;
  text-align: center;
  opacity: 0;
  transform: scale(.7);
  transition: opacity .2s ease, transform .2s ease;
  pointer-events: none;
}
.kiosko-carousel-card--link:hover .kiosko-carousel-image a::after {
  opacity: 1;
  transform: scale(1);
}

/* =================================================================
   DUAL BOTTOM CAROUSEL v1.5.0
   — No wrapper overflow:hidden, no margin override
   ================================================================= */

/* Gap between 2 carousel rows */
.kiosko-carousel-bottom-gap {
  margin-top: 16px !important;
}

/* Row 2 offset for staggered look */
@media (min-width: 782px) {
  .kiosko-carousel-row2 .kiosko-carousel-track--compact {
    padding-left: clamp(60px, 8vw, 140px);
  }
}


/* =================================================================
   STUDIO STATS v1.5.0
   ================================================================= */
.kiosko-stats-shell {
  border-top: 1px solid rgba(27,29,34,.08);
  border-bottom: 1px solid rgba(27,29,34,.08);
}
.kiosko-stats-top {
  margin-bottom: 40px;
}
.kiosko-stats-intro {
  max-width: 200px;
  text-align: right;
  line-height: 1.5;
  margin: 0 !important;
}
@media (max-width: 600px) {
  .kiosko-stats-intro { text-align: left; max-width: 100%; }
}

/* Stats grid: 4 cards in a row, wrap on mobile */
.kiosko-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid rgba(27,29,34,.1);
  border-radius: 28px;
  overflow: hidden;
}
@media (max-width: 860px) {
  .kiosko-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .kiosko-stats-grid { grid-template-columns: 1fr 1fr; border-radius: 22px; }
}

.kiosko-stat-card {
  padding: clamp(24px, 3vw, 40px) clamp(20px, 2.5vw, 32px);
  border-right: 1px solid rgba(27,29,34,.1);
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  gap: 10px;
}
.kiosko-stat-card:last-child { border-right: 0; }
@media (max-width: 860px) {
  .kiosko-stat-card:nth-child(2) { border-right: 0; }
  .kiosko-stat-card:nth-child(3) { border-top: 1px solid rgba(27,29,34,.1); }
  .kiosko-stat-card:nth-child(4) { border-top: 1px solid rgba(27,29,34,.1); border-right: 0; }
}

.kiosko-stat-card--yellow { background: #f2c100; }
.kiosko-stat-card--dark   { background: #1b1d22; }
.kiosko-stat-card--light  { background: #f4ecd1; }
.kiosko-stat-card--outline{ background: #fff; }

.kiosko-stat-number {
  font-size: clamp(2.8rem, 5vw, 4.2rem) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  margin: 0 !important;
  color: inherit;
}
.kiosko-stat-card--dark .kiosko-stat-number { color: #fff; }
.kiosko-stat-card--dark .kiosko-stat-label  { color: rgba(255,255,255,.6); }

.kiosko-stat-label {
  font-size: .88rem;
  line-height: 1.4;
  letter-spacing: .01em;
  opacity: .7;
  margin: 0 !important;
  color: inherit;
}
.kiosko-stat-card--dark .kiosko-stat-label { opacity: .6; color: #fff; }


/* =================================================================
   STUDIO TESTIMONIALS v1.5.0
   ================================================================= */
.kiosko-testi-shell {
  background: #f7f1df;
}

.kiosko-testi-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .kiosko-testi-grid { grid-template-columns: 1fr 1fr; }
  .kiosko-testi-grid > *:last-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .kiosko-testi-grid { grid-template-columns: 1fr; }
  .kiosko-testi-grid > *:last-child { grid-column: auto; }
}

.kiosko-testi-card {
  border-radius: 24px;
  padding: 28px 26px 24px;
  border: 1px solid rgba(27,29,34,.1);
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 10px 40px rgba(27,29,34,.06);
  box-sizing: border-box;
}
.kiosko-testi-card--dark   { background: #1b1d22; border-color: rgba(255,255,255,.08); }
.kiosko-testi-card--yellow { background: #f2c100; border-color: rgba(27,29,34,.08); }
.kiosko-testi-card--light  { background: #fff; }

/* Star row */
.kiosko-testi-card::before {
  content: '★★★★★';
  display: block;
  font-size: 1rem;
  letter-spacing: 3px;
  color: #f2c100;
  margin-bottom: -16px;
}
.kiosko-testi-card--yellow::before { color: #1b1d22; }
.kiosko-testi-card--dark::before   { color: #f2c100; }

.kiosko-testi-quote {
  font-size: clamp(.95rem, 1.6vw, 1.06rem) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  color: inherit;
}
.kiosko-testi-card--dark .kiosko-testi-quote { color: rgba(255,255,255,.88); }

.kiosko-testi-author {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: auto;
}

/* Initials avatar */
.kiosko-testi-avatar {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .85rem;
  font-weight: 700;
  flex-shrink: 0;
}
.kiosko-testi-avatar--a { background: #f2c100; color: #1b1d22; }
.kiosko-testi-avatar--a::after { content: 'SM'; }
.kiosko-testi-avatar--b { background: #1b1d22; color: #f2c100; }
.kiosko-testi-avatar--b::after { content: 'JK'; }
.kiosko-testi-avatar--c { background: #f4ecd1; color: #1b1d22; border: 1px solid rgba(27,29,34,.12); }
.kiosko-testi-avatar--c::after { content: 'PD'; }

.kiosko-testi-card--dark .kiosko-testi-avatar--a { background: #f2c100; }

.kiosko-testi-name {
  font-size: .95rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  color: inherit;
}
.kiosko-testi-card--dark .kiosko-testi-name { color: #fff; }

.kiosko-testi-role {
  font-size: .8rem !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  opacity: .58;
  color: inherit;
}
.kiosko-testi-card--dark .kiosko-testi-role { color: rgba(255,255,255,.6); opacity: 1; }
