/*
Theme Name: Lemon Auction
Theme URI: https://github.com/11gowdham/lemon
Author: Lemon Associates
Description: Fast, accessible block theme for bank auction property listings. Pairs with the Lemon Auction Core plugin, which provides listings, categories, search, WhatsApp enquiries and automatic removal after the auction.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.1
Version: 0.3.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lemon-auction-theme
Tags: block-patterns, full-site-editing, accessibility-ready, wide-blocks, translation-ready, one-column, grid-layout
*/

/* Most styling lives in theme.json. Only what theme.json cannot express is here. */
:where(.wp-site-blocks) *:focus-visible { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 2px; }
.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.la-site-header { border-bottom: 1px solid var(--wp--preset--color--border); }
.la-hero { background: linear-gradient(180deg, var(--wp--preset--color--surface) 0%, var(--wp--preset--color--base) 100%); }
.la-hero .la-search { margin-top: var(--wp--preset--spacing--40); }
.la-listing-grid > .wp-block-post-template { gap: var(--wp--preset--spacing--40); }
.la-listing-grid .wp-block-post-template > li { display: flex; }
.la-listing-grid .wp-block-post-template > li > .la-card { width: 100%; }
.la-steps .wp-block-column { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); border-radius: 12px; padding: var(--wp--preset--spacing--40); }
.la-step-number { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 999px; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); font-weight: 700; }
.la-faq details { border-bottom: 1px solid var(--wp--preset--color--border); padding: var(--wp--preset--spacing--30) 0; }
.la-faq summary { cursor: pointer; font-weight: 600; }
.la-single-aside { position: sticky; top: var(--wp--preset--spacing--40); }
/* On phones, show the countdown and WhatsApp button before the long details table. */
@media (max-width: 781px) { .la-single-aside { position: static; } .la-single-side { order: -1; } }

/* ---- Home page ---- */
.la-eyebrow { margin: 0 0 .25rem; font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--primary); }
.la-section { padding-top: clamp(2.25rem, 6vw, 4rem); }
.la-section > h2 { margin: 0 0 var(--wp--preset--spacing--40); }
.la-section__head { margin-bottom: var(--wp--preset--spacing--40); }
.la-section__head h2 { margin: 0; }
.la-more { margin: 0; font-weight: 600; }
.la-more a { text-decoration: none; }
.la-more a:hover { text-decoration: underline; }
.la-subhead { margin: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--large); }

/* Hero */
.la-hero__inner { max-width: 1100px; margin-inline: auto; }
.la-hero--home { padding-left: var(--wp--preset--spacing--40); padding-right: var(--wp--preset--spacing--40); position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, #17340f 0%, #2f6b17 100%); color: #fff; padding-top: clamp(2.5rem, 6vw, 4.5rem); padding-bottom: clamp(5.5rem, 11vw, 8rem); }
.la-hero--home::before { content: ""; position: absolute; z-index: -1; top: -30%; right: -12%; width: min(620px, 70vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(252 204 60 / .30) 0%, rgb(252 204 60 / 0) 68%); }
.la-hero--home::after { content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; height: clamp(70px, 12vw, 130px); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='140' viewBox='0 0 600 140'%3E%3Cg fill='%23ffffff' fill-opacity='.08'%3E%3Crect x='0' y='60' width='50' height='80'/%3E%3Crect x='56' y='30' width='40' height='110'/%3E%3Crect x='102' y='72' width='60' height='68'/%3E%3Crect x='168' y='10' width='46' height='130'/%3E%3Crect x='220' y='50' width='54' height='90'/%3E%3Crect x='280' y='80' width='40' height='60'/%3E%3Crect x='326' y='24' width='50' height='116'/%3E%3Crect x='382' y='64' width='58' height='76'/%3E%3Crect x='446' y='40' width='44' height='100'/%3E%3Crect x='496' y='76' width='50' height='64'/%3E%3Crect x='552' y='52' width='48' height='88'/%3E%3C/g%3E%3C/svg%3E") repeat-x left bottom / auto 100%; }
.la-hero--home h1, .la-hero--home .la-hero__title { margin: 0 0 var(--wp--preset--spacing--30); max-width: 18ch; color: #fff; line-height: 1.06; letter-spacing: -.02em; font-weight: 800; }
.la-hero__eyebrow { display: inline-block; margin: 0 0 var(--wp--preset--spacing--30); padding: 5px 14px; border-radius: 999px; background: rgb(255 255 255 / .12); border: 1px solid rgb(255 255 255 / .22); color: #fff; font-size: .8125rem; font-weight: 600; }
.la-hero__eyebrow::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--wp--preset--color--accent); vertical-align: 1px; }
.la-hero__lead { max-width: 40rem; margin: 0 0 var(--wp--preset--spacing--40) !important; color: rgb(255 255 255 / .86); font-size: var(--wp--preset--font-size--large); }
.la-hero--home .la-search { margin-top: var(--wp--preset--spacing--40); }
.la-hero--home .la-search--compact { box-shadow: 0 18px 40px rgb(0 0 0 / .28); border-color: transparent; }
.la-hero__popular { margin-top: var(--wp--preset--spacing--40); }
.la-hero__popular-label { margin: 0; font-size: .875rem; font-weight: 600; color: rgb(255 255 255 / .8); }
.la-hero--home .la-terms--chips .la-terms__item a { background: rgb(255 255 255 / .1); border-color: rgb(255 255 255 / .28); color: #fff; }
.la-hero--home .la-terms--chips .la-terms__item a:hover { background: rgb(255 255 255 / .2); border-color: #fff; }
.la-hero--home .la-terms--chips .la-terms__count { background: rgb(255 255 255 / .18); color: #fff; }

/* Numbers strip over the bottom of the hero */
.la-stats-wrap { position: relative; z-index: 2; margin-top: calc(-1 * clamp(2.5rem, 5vw, 3.25rem)); }

/* Sections */
.la-why { padding-bottom: clamp(2.25rem, 6vw, 4rem); }
.la-why__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--40); }
.la-why__item { padding: var(--wp--preset--spacing--40); background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); border-radius: 14px; }
.la-why__item h3 { margin: var(--wp--preset--spacing--30) 0 .35rem; }
.la-why__item p { margin: 0; }
.la-why__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--wp--preset--color--lemon-soft); color: #7a5b00; }
.la-how .la-steps { margin-top: var(--wp--preset--spacing--40); }
.la-how .wp-block-buttons { margin-top: var(--wp--preset--spacing--50); }
.la-help { padding: clamp(1.75rem, 5vw, 3rem); border-radius: 20px; background: linear-gradient(135deg, #0f5132 0%, #1a7f45 100%); color: #fff; }
.la-help__title { margin: 0 0 .5rem; color: #fff; }
.la-help__lead { max-width: 40rem; margin: 0 0 var(--wp--preset--spacing--40) !important; color: rgb(255 255 255 / .92); }
.la-help__actions { gap: var(--wp--preset--spacing--40); }
.la-help__alt { margin: 0; font-weight: 600; }
.la-help__alt a { color: #fff; }
.la-help .la-whatsapp__button { background: #fff; color: #0f5132; }
.la-help .la-whatsapp__button:hover { background: var(--wp--preset--color--lemon-soft); color: #0f5132; }

/* Header: sticky, with a WhatsApp shortcut on wide screens */
/* The sticky element is the template-part wrapper: a sticky child cannot leave its own parent. */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 40; }
.la-site-header { background: #fff; }
html { scroll-padding-top: 5rem; }
.la-header-cta .la-whatsapp__button { min-height: 40px; padding: 8px 16px; font-size: .875rem; }
@media (max-width: 781px) { .la-header-cta { display: none; } }

/* Floating WhatsApp button: in reach of a thumb on phones; hidden where the listing has its own button */
.la-fab { position: fixed; right: 14px; bottom: 14px; z-index: 50; }
.la-fab .la-whatsapp__button { min-height: 48px; padding: 10px 18px; box-shadow: 0 6px 20px rgb(0 0 0 / .28); }
.single-auction_property .la-fab { display: none; }
@media print { .la-fab, .la-header-cta { display: none; } }

/* Footer on navy */
.la-site-footer, .la-site-footer .wp-block-site-title a, .la-site-footer a { color: #fff; }
.la-site-footer a { text-decoration: none; }
.la-site-footer a:hover { text-decoration: underline; }
.la-footer__blurb, .la-footer__legal { color: rgb(255 255 255 / .75); }
.la-footer__legal { margin-top: var(--wp--preset--spacing--40); padding-top: var(--wp--preset--spacing--30); border-top: 1px solid rgb(255 255 255 / .18); }
.la-footer__title { margin: 0 0 var(--wp--preset--spacing--30); color: #fff; }
.la-site-footer .la-terms--chips .la-terms__item a { background: rgb(255 255 255 / .08); border-color: rgb(255 255 255 / .25); color: #fff; }
.la-site-footer .la-terms--chips .la-terms__item a:hover { border-color: #fff; text-decoration: none; }
.la-site-footer .la-terms--chips .la-terms__count { background: rgb(255 255 255 / .16); color: #fff; }
.la-site-footer .la-whatsapp__button { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.la-site-footer .la-whatsapp__button:hover { background: #ffe27a; color: var(--wp--preset--color--contrast); }
@media (max-width: 600px) { .la-hero--home h1 { max-width: none; } .la-help__actions { flex-direction: column; align-items: flex-start; } }

/* No gap between the header and the hero; tighter floating button */
.home .wp-site-blocks > main { margin-block-start: 0; }
.la-fab .la-whatsapp__button { min-height: 44px; padding: 8px 16px; font-size: .9rem; }

/* Phones: two property-type tiles per row, and card lists that swipe sideways instead of stacking six tall cards */
@media (max-width: 700px) {
	.la-terms--tiles { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.la-terms--tiles .la-terms__item a { padding: 16px 8px 14px; }
	.la-terms--tiles .la-terms__icon { width: 56px; height: 56px; }
	.la-terms--tiles .la-type-icon { width: 32px; height: 32px; }
	.la-terms--tiles .la-terms__name { font-size: 1rem; }
	.la-rail .wp-block-post-template { display: flex; flex-wrap: nowrap; gap: 12px; margin-inline: calc(-1 * var(--wp--preset--spacing--40)); padding: 2px var(--wp--preset--spacing--40) 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--wp--preset--spacing--40); -webkit-overflow-scrolling: touch; }
	.la-rail .wp-block-post-template > li { flex: 0 0 82%; max-width: 20rem; scroll-snap-align: start; }
	.la-budget { grid-template-columns: repeat(2, 1fr); }
	.la-budget__item:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ---- Brand: logo, lemon-yellow action buttons, green surfaces ---- */
.la-brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: inherit; }
.la-brand__mark { display: block; width: 42px; height: auto; }
.la-brand__name { display: flex; flex-direction: column; line-height: 1; font-weight: 800; text-transform: uppercase; color: var(--wp--preset--color--primary); }
.la-brand__lemon { font-size: 1.45rem; letter-spacing: .04em; }
.la-brand__assoc { margin-top: 3px; font-size: .66rem; letter-spacing: .2em; color: var(--wp--preset--color--leaf); }
.la-brand:hover .la-brand__lemon { color: #3d6819; }
.la-site-header { border-bottom: 1px solid var(--wp--preset--color--border); box-shadow: 0 1px 0 rgb(23 52 15 / .04); }
.wp-block-navigation a.wp-block-navigation-item__content { color: var(--wp--preset--color--contrast); }
.wp-block-navigation a.wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary); }
.la-hero--home .la-search__submit { background: var(--wp--preset--color--accent); color: #1c2616; }
.la-hero--home .la-search__submit:hover { background: #ffd966; }
.la-hero--home .la-search__submit:focus-visible { outline-color: #fff; }
.la-hero__rating { margin: var(--wp--preset--spacing--30) 0 0; font-size: .9rem; font-weight: 600; }
.la-hero__rating a { color: #fff; text-decoration: none; }
.la-hero__rating a:hover { text-decoration: underline; }
.la-hero__stars { color: var(--wp--preset--color--accent); letter-spacing: .08em; }
.la-help { background: linear-gradient(135deg, #fff7d6 0%, #fffbea 100%); border: 1px solid #f0dc86; color: var(--wp--preset--color--contrast); }
.la-help__title { color: var(--wp--preset--color--forest); }
.la-help__lead { color: #3d4733; }
.la-help__alt a { color: var(--wp--preset--color--primary); }
.la-help .la-whatsapp__button { background: var(--wp--preset--color--whatsapp); color: #fff; }
.la-help .la-whatsapp__button:hover { background: #136536; color: #fff; }
.la-stats__number { color: var(--wp--preset--color--primary); }

/* Footer: logo on a white card */
.la-footer__logo { display: inline-block; margin-bottom: var(--wp--preset--spacing--30); padding: 10px 14px; border-radius: 14px; background: #fff; line-height: 0; }
.la-footer__logo img { display: block; width: 120px; height: auto; }
.la-footer__nap { margin: 0 0 var(--wp--preset--spacing--30); color: rgb(255 255 255 / .85); line-height: 1.7; }
.la-footer__nap a { color: var(--wp--preset--color--accent); }

/* Coimbatore section and Google reviews */
.la-local__cols { gap: clamp(1.5rem, 4vw, 3rem); }
.la-local__cities { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.la-local__cities a, .la-local__cities span { display: inline-block; padding: 7px 16px; border: 1px solid var(--wp--preset--color--border); border-radius: 999px; background: #fff; color: var(--wp--preset--color--contrast); font-weight: 600; font-size: .9rem; text-decoration: none; }
.la-local__cities a:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); }
.la-local__cities span { color: var(--wp--preset--color--muted); background: var(--wp--preset--color--surface); }
.la-reviews { padding: clamp(1.25rem, 3vw, 1.75rem); border: 1px solid #f0dc86; border-radius: 16px; background: var(--wp--preset--color--lemon-soft); }
.la-reviews p { margin: 0 0 .5rem; }
.la-reviews__score { display: flex; align-items: baseline; gap: .6rem; }
.la-reviews__number { font-size: 2.75rem; line-height: 1; font-weight: 800; color: var(--wp--preset--color--forest); }
.la-reviews__stars { color: #e6a700; font-size: 1.4rem; letter-spacing: .08em; }
.la-reviews__count { font-weight: 600; }
.la-reviews__quotes { margin: .75rem 0 .25rem; padding: 0; list-style: none; display: grid; gap: .5rem; }
.la-reviews__quotes li { padding: .6rem .85rem; border-radius: 10px; background: #fff; font-style: italic; }
.la-reviews__source { font-size: .8rem; color: var(--wp--preset--color--muted); }
.la-reviews__link { font-weight: 700; }
.la-reviews__visit { margin-top: .9rem !important; padding-top: .9rem; border-top: 1px solid #f0dc86; font-size: .9rem; }

/* Buyer's guide */
.la-guide__intro { max-width: 52rem; margin-bottom: var(--wp--preset--spacing--40); }
.la-guide__steps { counter-reset: step; margin: 0; padding: 0; list-style: none; display: grid; gap: var(--wp--preset--spacing--30); }
.la-guide__steps li { position: relative; padding: 1rem 1.1rem 1rem 4rem; border: 1px solid var(--wp--preset--color--border); border-radius: 14px; background: #fff; counter-increment: step; }
.la-guide__steps li::before { content: counter(step); position: absolute; left: 1rem; top: 1rem; display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--wp--preset--color--accent); color: #1c2616; font-weight: 800; }
.la-guide__steps h3 { margin: 0 0 .25rem; font-size: 1.05rem; }
.la-guide__steps p { margin: 0; color: var(--wp--preset--color--muted); }
.la-guide__aside { display: grid; gap: var(--wp--preset--spacing--30); }
.la-guide__card { padding: 1.1rem 1.25rem; border-radius: 14px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); }
.la-guide__card--check { background: var(--wp--preset--color--lemon-soft); border-color: #f0dc86; }
.la-guide__card h3 { margin: 0 0 .5rem; font-size: 1.05rem; }
.la-guide__card ul { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; }
.la-guide__cols { gap: clamp(1.5rem, 4vw, 2.5rem); margin-bottom: var(--wp--preset--spacing--30); }

/* FAQ */
.la-faq details { border-bottom: 1px solid var(--wp--preset--color--border); padding: var(--wp--preset--spacing--30) 0; }
.la-faq summary { cursor: pointer; font-weight: 700; }
.la-faq summary:hover { color: var(--wp--preset--color--primary); }

/* Area pages (a state or a district): Pages using the "Area page" template. */
.la-area .la-hero--area { padding-bottom: clamp(5rem, 10vw, 7rem); }
.la-hero--area h1, .la-hero--area .la-hero__title { max-width: 22ch; }
.la-hero--area .la-crumbs { margin: 0 0 var(--wp--preset--spacing--30); }
.la-hero--area .la-crumbs, .la-hero--area .la-crumbs a, .la-hero--area .la-crumbs span { color: rgb(255 255 255 / .82); }
.la-hero--area .la-crumbs a:hover { color: #fff; }
.la-hero__actions { gap: var(--wp--preset--spacing--30); margin-top: var(--wp--preset--spacing--40); }
.la-hero__actions .la-whatsapp { margin: 0; }
.la-hero__actions .wp-block-button__link { background: transparent; border: 2px solid rgb(255 255 255 / .7); color: #fff; }
.la-hero__actions .wp-block-button__link:hover { background: rgb(255 255 255 / .12); border-color: #fff; }
.la-area-summary { font-size: 1.0625rem; color: #33402b; }
@media (min-width: 900px) { .la-area-summary { padding-right: 16rem; box-sizing: border-box; } }
.la-area-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: var(--wp--preset--spacing--40); list-style: none; margin: var(--wp--preset--spacing--40) 0 0; padding: 0; }
.la-area-grid > li { display: flex; }
.la-area-grid > li > .la-card { flex: 1; }
.la-area-more { margin-top: var(--wp--preset--spacing--40); }
.la-area-empty { padding: clamp(1.25rem, 4vw, 2rem); border-radius: 16px; background: var(--wp--preset--color--lemon-soft); border: 1px solid #f0dc86; }
.la-area-empty p { margin: 0 0 .5rem; }
.la-area-empty p:last-child { margin-bottom: 0; }
.la-area-empty a { font-weight: 700; }
.la-section--tint { background: var(--wp--preset--color--surface); padding-bottom: clamp(2.25rem, 6vw, 4rem); margin-top: clamp(2.25rem, 6vw, 4rem); }
.la-area-cols { gap: clamp(1.5rem, 4vw, 3rem); }
.la-glance { position: sticky; top: 6rem; }
.la-glance dl { margin: 0; display: grid; gap: .65rem; }
.la-glance dt { font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--wp--preset--color--muted); }
.la-glance dd { margin: 0; }
.la-checklist { list-style: none; padding: 0; margin: var(--wp--preset--spacing--30) 0 0; display: grid; gap: .75rem; }
.la-checklist li { position: relative; padding: .9rem 1rem .9rem 3rem; border: 1px solid var(--wp--preset--color--border); border-radius: 12px; background: #fff; }
.la-checklist li::before { content: ""; position: absolute; left: 1rem; top: 1.05rem; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--wp--preset--color--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5 7 11l5-6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat; }
.la-checklist strong { color: var(--wp--preset--color--forest); }
.la-area-links.la-terms--cards { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.la-regions { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--40); }
.la-regions > .wp-block-group { padding: var(--wp--preset--spacing--40); border-radius: 14px; background: #fff; border: 1px solid var(--wp--preset--color--border); }
.la-regions h3 { margin: 0 0 .4rem; }
.la-regions p { margin: 0 0 .6rem; }
@media (max-width: 781px) { .la-glance { position: static; } }

/* Grid items: no flow-layout top margin, so cards line up. */
.la-why__grid > *, .la-regions > * { margin-block-start: 0 !important; }
.la-area-links .la-terms__pre { display: block; font-size: .75rem; font-weight: 500; color: var(--wp--preset--color--muted); }
.la-area-links.la-terms--cards .la-terms__name { font-size: 1.05rem; font-weight: 700; }
