@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root {
  --larama-ink: #20352e;
  --larama-forest: #23483b;
  --larama-sage: #dce8e1;
  --larama-ivory: #fbf8f3;
  --larama-sand: #f1e8dd;
  --larama-clay: #b76749;
  --larama-line: #e5ddd3;
  --larama-muted: #68766f;
  --larama-white: #fffefc;
  --larama-shadow: 0 14px 40px rgba(34, 52, 45, .10);
}

body:not(.wp-admin) {
  background: var(--larama-ivory);
  color: var(--larama-ink);
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 17px;
  line-height: 1.65;
}

body:not(.wp-admin) h1,
body:not(.wp-admin) h2,
body:not(.wp-admin) h3,
body:not(.wp-admin) .site-title,
body:not(.wp-admin) .woocommerce-loop-product__title,
body:not(.wp-admin) .product_title {
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--larama-ink);
  letter-spacing: -.025em;
}

.larama-announcement {
  min-height: 38px;
  background: var(--larama-forest);
  color: #f3f7f5;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
}
.larama-announcement a { color: #fff; text-decoration: underline; text-underline-offset: 3px; margin-left: 6px; }
.larama-announcement-dot { color: #d9ab8d; }

.site-main-header-wrap .site-header-row-container-inner,
.site-header-row-container-inner {
  background: rgba(255,254,252,.96) !important;
  border-bottom: 1px solid var(--larama-line);
  backdrop-filter: blur(14px);
}
.site-main-header-inner-wrap { min-height: 82px; }
.site-branding .site-title { font-size: 27px !important; font-weight: 700; }
.site-branding .site-description { color: var(--larama-muted); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.main-navigation .primary-menu-container > ul > li > a { color: var(--larama-ink) !important; font-size: 15px; font-weight: 600; padding-left: 16px !important; padding-right: 16px !important; }
.main-navigation .primary-menu-container > ul > li > a:hover { color: var(--larama-clay) !important; }

.content-area { margin-top: 0; margin-bottom: 0; }
.site-main { padding: 0; }
.entry-content-wrap { padding: 0 !important; }
.home .entry-header { display: none !important; }
.home .content-container { max-width: none; padding: 0; }
.home .entry-content > .wp-block-group:first-of-type { position: relative; overflow: hidden; }
.home .entry-content > .wp-block-group:first-of-type::after {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  right: -140px;
  top: -170px;
  background: rgba(183,103,73,.10);
  pointer-events: none;
}
.home h1 { font-size: clamp(48px, 6vw, 78px) !important; line-height: 1.02 !important; }
.home h2 { font-size: clamp(34px, 4vw, 52px) !important; }

.wp-block-button__link,
button,
.button,
input[type='submit'],
.added_to_cart {
  border-radius: 999px !important;
  font-weight: 700 !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
.wp-block-button__link:hover,
button:hover,
.button:hover,
input[type='submit']:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(35,72,59,.16); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.single_add_to_cart_button,
.checkout-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: var(--larama-forest) !important;
  color: #fff !important;
}
.wp-block-button.is-style-outline .wp-block-button__link { color: var(--larama-forest); border-color: var(--larama-forest); }

.woocommerce ul.products,
ul.products,
.wc-block-grid__products { gap: 24px; }
.woocommerce ul.products li.product,
ul.products li.product,
.wc-block-grid__product {
  background: var(--larama-white);
  border: 1px solid var(--larama-line);
  border-radius: 18px;
  padding: 14px 14px 20px;
  overflow: hidden;
  box-shadow: 0 5px 18px rgba(35,52,46,.045);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover,
.wc-block-grid__product:hover { transform: translateY(-5px); box-shadow: var(--larama-shadow); border-color: #d3c5b7; }
.woocommerce ul.products li.product img,
ul.products li.product img,
.wc-block-grid__product-image img { border-radius: 13px; aspect-ratio: 1 / 1; object-fit: cover; background: #f3eee8; }
.woocommerce-loop-product__title { font-size: 20px !important; line-height: 1.25; margin-top: 14px !important; }
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price { color: var(--larama-clay) !important; font-weight: 700; font-size: 17px !important; }
.woocommerce ul.products li.product .button { width: 100%; text-align: center; margin-top: 12px; background: var(--larama-forest); color: #fff; }

.woocommerce .content-bg,
.single-product .content-bg,
.woocommerce-page .content-bg { background: transparent; }
.single-product .product { background: var(--larama-white); border: 1px solid var(--larama-line); border-radius: 24px; padding: clamp(22px,4vw,48px); margin: 46px auto; box-shadow: var(--larama-shadow); }
.woocommerce-product-gallery img { border-radius: 18px; }
.single-product .product_title { font-size: clamp(36px,4vw,56px); line-height: 1.08; }
.single-product .summary .price { color: var(--larama-clay) !important; font-size: 27px !important; font-weight: 700; }
.single-product .woocommerce-product-details__short-description { color: var(--larama-muted); font-size: 18px; }
.quantity .qty { border-radius: 999px !important; border: 1px solid var(--larama-line) !important; min-height: 48px; }

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content { max-width: 1180px; margin: 44px auto; padding: 0 24px; }
.wc-block-cart,
.wc-block-checkout,
.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-MyAccount-content {
  background: var(--larama-white);
  border: 1px solid var(--larama-line);
  border-radius: 22px;
  padding: clamp(20px,3vw,36px);
  box-shadow: 0 8px 28px rgba(35,52,46,.06);
}
.wc-block-components-text-input input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
select {
  border: 1px solid #d9d1c8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  min-height: 50px;
}
.wc-block-components-text-input input:focus,
.woocommerce form .form-row input.input-text:focus { border-color: var(--larama-forest) !important; box-shadow: 0 0 0 3px rgba(35,72,59,.12) !important; }
.wc-block-components-radio-control__option { border: 1px solid var(--larama-line); border-radius: 14px; padding: 16px !important; margin: 8px 0 !important; background: #fff; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner { border-radius: 14px; border: 1px solid var(--larama-line); background: #f3f7f4; color: var(--larama-ink); }

.larama-support-footer { background: #20352e; color: #dce8e1; border-bottom: 1px solid rgba(255,255,255,.12); }
.larama-support-footer-inner { max-width: 1240px; margin: 0 auto; padding: 34px 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.larama-support-footer-brand { display: flex; flex-direction: column; gap: 2px; }
.larama-support-footer-brand strong { color: #fff; font: 700 24px/1.2 'Playfair Display', Georgia, serif; }
.larama-support-footer-brand span { color: #b9cbc3; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.larama-support-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.larama-support-footer a { color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.larama-support-footer a:hover { color: #e4b79f; }

.site-footer { background: #172c25 !important; color: #dfeae5; margin-top: 0; }
.site-footer h2,.site-footer h3,.site-footer h4,.site-footer a { color: #fff !important; }
.site-footer .site-footer-section { padding-top: 18px; padding-bottom: 18px; }
.site-footer .footer-navigation .menu { display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; }
.site-footer .footer-navigation a { font-size: 14px; opacity: .9; }
.site-footer .site-info-inner { color: #b8c7c0; }

.page:not(.home) .entry-hero { background: var(--larama-sand); border-bottom: 1px solid var(--larama-line); }
.page:not(.home) .entry-title { font-size: clamp(38px,5vw,58px); }
.page:not(.home) .entry-content-wrap { max-width: 980px; margin: 42px auto; background: var(--larama-white); border: 1px solid var(--larama-line); border-radius: 20px; padding: clamp(24px,5vw,58px) !important; }

:focus-visible { outline: 3px solid rgba(183,103,73,.55) !important; outline-offset: 3px; }

@media (max-width: 1024px) {
  .larama-announcement { font-size: 12px; }
  .woocommerce ul.products.columns-5 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  body:not(.wp-admin) { font-size: 16px; }
  .larama-announcement { flex-wrap: wrap; gap: 6px 9px; text-align: center; }
  .larama-announcement a { width: 100%; margin-left: 0; }
  .home h1 { font-size: 46px !important; }
  .home .wp-block-columns { gap: 28px; }
  .home .wp-block-column[style*='42%'] { display: none; }
  .woocommerce ul.products.columns-5,
  .woocommerce ul.products.columns-4,
  ul.products { grid-template-columns: 1fr !important; }
  .single-product .product { margin: 20px 12px; border-radius: 18px; }
  .wc-block-cart,.wc-block-checkout { padding: 16px; border-radius: 16px; }
  .larama-support-footer-inner { flex-direction: column; align-items: flex-start; }
  .larama-support-footer nav { gap: 12px 18px; }
}
