/*
Theme Name: Bali OOOOO
Theme URI: https://ooooo.id/bali
Author: OOOOO
Author URI: https://ooooo.id
Description: A calm, modern-minimal block theme with a Balinese soul: warm paras-stone colours, elegant serif headings and hand-drawn ornaments (patra, rice terraces, endek). A multipurpose theme for businesses, restaurants, blogs and magazines, portfolios, accommodation, events and communities. Includes 18 section patterns, 9 starter pages, original illustrations and three base colours: Paras (cream), Hutan (green) and Endek Malam (black).
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 0.5.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bali-ooooo
Tags: one-column, three-columns, grid-layout, full-site-editing, block-patterns, block-styles, style-variations, wide-blocks, custom-colors, editor-style, translation-ready, blog, portfolio, food-and-drink
*/

/* Ornament separators (own SVG artwork, see readme.txt) */
.wp-block-separator.is-style-patra,
.wp-block-separator.is-style-sawah,
.wp-block-separator.is-style-endek {
	border: 0 !important;
	height: 24px;
	max-width: none !important;
	width: 100% !important;
	opacity: 1;
	background-color: var(--wp--preset--color--accent) !important;
	-webkit-mask: var(--bo-orn) repeat-x center / auto 100%;
	mask: var(--bo-orn) repeat-x center / auto 100%;
}
.wp-block-separator.is-style-patra { --bo-orn: url(assets/images/patra.svg); }
.wp-block-separator.is-style-sawah { --bo-orn: url(assets/images/sawah.svg); height: 48px; opacity: .55; }
.wp-block-separator.is-style-endek { --bo-orn: url(assets/images/endek.svg); height: 26px; }

/* Image with soft rounded corners ("lengkung") */
.wp-block-image.is-style-lengkung img,
.wp-block-cover.is-style-lengkung { border-radius: clamp(20px, 3vw, 40px); overflow: hidden; }
.wp-block-image.is-style-gapura img { border-radius: 999px 999px 0 0; }

/* Small uppercase label above headings */
.is-style-eyebrow {
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 500;
	color: var(--wp--preset--color--accent);
}

/* Card */
.is-style-kartu {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	overflow: hidden;
}

/* Contact buttons with icons */
.bo-contact .wp-block-button__link { display: inline-flex; align-items: center; gap: .6em; }
.bo-contact .wp-block-button__link::before {
	content: ""; width: 1.2em; height: 1.2em; background: currentColor;
	-webkit-mask: var(--bo-ic) center / contain no-repeat; mask: var(--bo-ic) center / contain no-repeat;
}
.bo-wa { --bo-ic: url(assets/images/icon-chat.svg); }
.bo-mail { --bo-ic: url(assets/images/icon-mail.svg); }
.bo-ig { --bo-ic: url(assets/images/icon-camera.svg); }

.wp-block-navigation a { text-decoration: none; }
.wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent); }
a:where(:not(.wp-element-button)):hover { text-decoration: underline; text-underline-offset: .2em; }
.wp-block-post-featured-image img { object-fit: cover; }
:where(.wp-site-blocks *:focus-visible) { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }

/* Announcement bar */
.bo-announce { position: relative; padding-right: 3rem !important; }
.bo-announce a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.bo-announce__close { position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); background: none; border: 0; color: inherit; font-size: 1.4rem; line-height: 1; cursor: pointer; opacity: .8; padding: .25rem .5rem; }
.bo-announce__close:hover { opacity: 1; }

/* Floating WhatsApp button */
.bo-wa-float { position: fixed; right: clamp(14px, 3vw, 28px); bottom: clamp(14px, 3vw, 28px); z-index: 60; margin: 0 !important; }
.bo-wa-float .wp-block-button__link { display: inline-flex; align-items: center; gap: .55em; border-radius: 999px !important; background: #25D366 !important; border-color: #25D366 !important; color: #fff !important; box-shadow: 0 8px 24px rgba(0,0,0,.18); padding: .95rem 1.4rem !important; }
.bo-wa-float .wp-block-button__link::before { content: ""; width: 1.35em; height: 1.35em; background: currentColor; -webkit-mask: url(assets/images/icon-chat.svg) center / contain no-repeat; mask: url(assets/images/icon-chat.svg) center / contain no-repeat; }
@media (max-width: 600px) { .bo-wa-float .wp-block-button__link { font-size: 0 !important; padding: 1rem !important; } .bo-wa-float .wp-block-button__link::before { width: 26px; height: 26px; } }

/* Opening hours: open now */
.bo-open { display: inline-flex; align-items: center; gap: .5em; font-weight: 500; }
.bo-open::before { content: ""; width: .6em; height: .6em; border-radius: 50%; background: var(--wp--preset--color--muted); }
.bo-open.is-open::before { background: #2E9E5B; box-shadow: 0 0 0 4px rgba(46,158,91,.18); }
.bo-open.is-closed::before { background: #C0533A; }

/* Map */
.bo-map iframe { display: block; width: 100%; border: 0; border-radius: clamp(16px, 2vw, 28px); aspect-ratio: 4 / 3; height: auto; }
.bo-price { white-space: nowrap; }
.wp-block-post-featured-image.is-style-lengkung img { border-radius: clamp(20px, 3vw, 40px); }
