/*
Theme Name: Afuronto
Template: twentytwentyfive
Description: Afuronto baby toys and gifts
Version: 1.0.0
Text Domain: afuronto
*/

:root { --af-radius: 22px; --af-shadow: 0 14px 34px rgba(74,58,51,.10); }
body { -webkit-font-smoothing: antialiased; }

/* Header */
.af-header { position: sticky; top: 0; z-index: 50; background: #FFF8F0; border-bottom: 1px solid #F1E2D3; }
.af-back { color: var(--wp--preset--color--cocoa); text-decoration: none; font-weight: 500; }
.af-header > .alignwide { min-height: 76px; gap: 18px; }
.af-logo img { display: block; height: 42px; width: auto; }
.af-header .wp-block-navigation { font-weight: 500; gap: 26px; }
.af-header .wp-block-navigation a { color: var(--wp--preset--color--cocoa); text-decoration: none; }
.af-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }
.af-header .wc-block-mini-cart__button { color: var(--wp--preset--color--cocoa); }
.af-header .wc-block-mini-cart__badge { background: var(--wp--preset--color--coral); color: var(--wp--preset--color--cocoa); }

/* Shared */
.af-kicker { font-size: .82rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.af-section { padding: clamp(56px, 8vw, 96px) 20px; }
.af-card { box-sizing: border-box; background: #fff; border-radius: var(--af-radius); box-shadow: var(--af-shadow); padding: 28px; }
.af-card h3 { font-size: 1.2rem; }
.af-icon { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--wp--preset--color--blush); margin-bottom: 14px; }
.af-icon svg { width: 34px; height: 34px; }
.wp-block-button__link { padding: .85em 1.7em; transition: background .2s, color .2s; }
.is-style-outline .wp-block-button__link { border: 2px solid var(--wp--preset--color--cocoa); background: transparent; color: var(--wp--preset--color--cocoa); }

/* Hero */
.af-hero { padding: clamp(40px, 7vw, 90px) 20px; background: radial-gradient(circle at 85% 20%, #FBE3DA 0, transparent 42%), var(--wp--preset--color--cream); }
.af-hero h1 { margin: .3em 0 .35em; }
.af-hero p.af-lead { font-size: 1.18rem; color: var(--wp--preset--color--muted); max-width: 30em; }
.af-hero-art svg { width: 100%; height: auto; max-width: 520px; display: block; margin: 0 auto; }

/* Category tiles */
.af-cat { display: block; border-radius: var(--af-radius); padding: 30px 26px; text-decoration: none !important; color: var(--wp--preset--color--cocoa) !important; min-height: 180px; position: relative; overflow: hidden; transition: transform .2s; }
.af-cat:hover { transform: translateY(-4px); }
.af-cat strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.6rem; font-weight: 600; }
.af-cat span { color: var(--wp--preset--color--muted); }
.af-cat svg { position: absolute; right: 18px; bottom: 14px; width: 92px; height: 92px; }

/* Gift banner */
.af-gift { border-radius: 32px; padding: clamp(36px, 6vw, 64px); background: var(--wp--preset--color--terracotta); color: var(--wp--preset--color--cream); }
.af-gift h2, .af-gift p { color: var(--wp--preset--color--cream); }
.af-gift .wp-block-button__link { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--cocoa); }

/* Steps */
.af-step-num { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--wp--preset--color--butter); font-weight: 700; font-family: var(--wp--preset--font-family--display); margin-bottom: 12px; }

/* WooCommerce product grid (shortcode + blocks) */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0 !important; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; display: flex; flex-direction: column; align-items: center; }
.woocommerce ul.products li.product > a:first-child { display: block; width: 100%; }
.woocommerce ul.products li.product .button { margin-top: auto !important; }
.woocommerce ul.products li.product, .wc-block-grid__product, .wc-block-product { box-sizing: border-box; background: #fff; border-radius: var(--af-radius); padding: 14px 14px 20px !important; box-shadow: var(--af-shadow); text-align: center; }
.wc-block-product { display: flex; flex-direction: column; }
.wc-block-product .wp-block-button, .wc-block-product .wc-block-components-product-button { margin-top: auto; }
.woocommerce .button, .wc-block-components-product-button .wp-block-button__link, .wc-block-components-product-button__button { white-space: nowrap; font-size: .95rem !important; }
.woocommerce .woocommerce-ordering select, .wc-block-catalog-sorting select, .woocommerce-ordering select { appearance: none; -webkit-appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234A3A33' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; border: 1px solid #E6D3C3; border-radius: 999px; padding: .5em 2.4em .5em 1.1em; font: inherit; color: var(--wp--preset--color--cocoa); }
.woocommerce-loop-product__title, .wc-block-components-product-name { overflow-wrap: anywhere; }
.price, .wc-block-components-product-price, .amount { font-family: 'DM Sans', 'Hind Siliguri', sans-serif; }
.woocommerce ul.products li.product a img, .wc-block-components-product-image img { border-radius: 16px; background: var(--wp--preset--color--blush); aspect-ratio: 1; object-fit: cover; margin-bottom: 12px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.08rem !important; color: var(--wp--preset--color--cocoa); }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .wc-block-components-product-price { color: var(--wp--preset--color--accent) !important; font-weight: 700; font-size: 1.05rem; }
.woocommerce ul.products li.product .button, .woocommerce a.button, .woocommerce button.button, .woocommerce .single_add_to_cart_button { background: var(--wp--preset--color--coral) !important; color: var(--wp--preset--color--cocoa) !important; border-radius: 999px !important; font-weight: 700; padding: .7em 1.4em !important; }
.woocommerce ul.products li.product .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--wp--preset--color--cocoa) !important; color: var(--wp--preset--color--cream) !important; }
.woocommerce span.onsale { background: var(--wp--preset--color--butter); color: var(--wp--preset--color--cocoa); }
.woocommerce div.product div.images img { border-radius: var(--af-radius); background: var(--wp--preset--color--blush); }
.wc-block-components-button:not(.is-link) { border-radius: 999px; background: var(--wp--preset--color--coral); color: var(--wp--preset--color--cocoa); font-weight: 700; }

/* Footer */
.af-footer { background: var(--wp--preset--color--navy); color: #D7DBE5; padding: 64px 20px 28px; margin-top: 0; }
.af-footer h4 { color: var(--wp--preset--color--cream); font-size: 1.05rem; margin-bottom: .6em; }
.af-footer a { color: #D7DBE5; text-decoration: none; }
.af-footer a:hover { color: var(--wp--preset--color--butter); }
.af-footer ul { list-style: none; padding: 0; margin: 0; line-height: 2; }
.af-footer .af-brand { font-family: var(--wp--preset--font-family--display); font-size: 1.9rem; color: var(--wp--preset--color--cream); font-weight: 600; }
.af-footer .af-copy { border-top: 1px solid rgba(215,219,229,.2); margin-top: 40px; padding-top: 20px; font-size: .88rem; }

/* Classic checkout and forms */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid #E6D3C3; border-radius: 12px; padding: .7em .9em; background: #fff; font: inherit; min-height: 48px; box-sizing: border-box; }
.select2-container .select2-selection--single { height: 48px !important; border: 1px solid #E6D3C3 !important; border-radius: 12px !important; background: #fff; display: flex; align-items: center; }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px !important; padding-left: .9em !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px !important; right: 8px; }
.woocommerce form .form-row label { font-weight: 600; margin-bottom: .3em; }
.woocommerce-checkout #payment, .woocommerce-checkout-review-order { background: #fff !important; border-radius: var(--af-radius); box-shadow: var(--af-shadow); }
.woocommerce-checkout #payment div.payment_box { background: var(--wp--preset--color--blush); color: var(--wp--preset--color--cocoa); border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--wp--preset--color--blush); }
.woocommerce #place_order { width: 100%; font-size: 1.1rem !important; padding: .9em 1.4em !important; }
.woocommerce table.shop_table { border-radius: 16px; background: #fff; border-color: #F1E2D3; }
.woocommerce-info, .woocommerce-message { border-top-color: var(--wp--preset--color--coral); background: #fff; border-radius: 12px; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--wp--preset--color--coral); }
.af-section > .woocommerce { max-width: var(--wp--style--global--wide-size) !important; }
.af-checkout { padding-top: 40px; padding-bottom: 72px; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { float: none; width: 100%; }
@media (min-width: 961px) {
  .woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 48px; align-items: start; }
  .woocommerce form.checkout > * { grid-column: 1 / -1; }
  .woocommerce form.checkout > #customer_details { grid-column: 1; grid-row: 2 / span 2; }
  .woocommerce form.checkout > #order_review_heading { grid-column: 2; grid-row: 2; margin-top: 0; }
  .woocommerce form.checkout > #order_review { grid-column: 2; grid-row: 3; position: sticky; top: 100px; }
}
#order_review { padding: 20px; }

/* Tablet: use the menu button so nav items never wrap */
@media (max-width: 960px) {
  .af-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .af-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.af-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--cream) !important; padding: 28px; }
.af-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 18px; font-size: 1.35rem; }

@media (max-width: 781px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .woocommerce ul.products li.product, .wc-block-product { padding: 10px 10px 16px !important; }
  .woocommerce .button, .wc-block-components-product-button .wp-block-button__link, .wc-block-components-product-button__button { font-size: .85rem !important; padding: .65em 1em !important; }
  .af-card { padding: 22px; }
  .af-cat { min-height: 140px; }
  .af-logo img { height: 34px; }
  .af-hero { text-align: center; }
  .af-hero .wp-block-buttons { justify-content: center; }
  .af-hero p.af-lead { margin-left: auto; margin-right: auto; }
}
