:root {
  --ocm-bg: #FFF9EE;
  --ocm-surface: #F1E8D6;
  --ocm-surface-2: #D8CBB1;
  --ocm-text: #7A563D;
  --ocm-heading: #7A563D;
  --ocm-muted: #7A563D;
  --ocm-border: rgba(122, 86, 61, .18);
  --ocm-primary: #42583D;
  --ocm-primary-2: #6B8661;
  --ocm-accent: #D9B45F;
  --ocm-accent-2: #B9925A;
  --ocm-cream: #F1E8D6;
  --ocm-offwhite: #FFF9EE;
  --ocm-sand: #D8CBB1;
  --ocm-shadow: 0 24px 70px rgba(66, 88, 61, .16);
  --ocm-radius: 28px;
  --ocm-radius-sm: 18px;
  --ocm-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  --ocm-sans: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ocm-theme {
  margin: 0;
  background: var(--ocm-bg);
  color: var(--ocm-text);
  font-family: var(--ocm-font);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ocm-primary-2); }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }
.ocm-container { width: min(var(--ocm-container), calc(100% - 40px)); margin-inline: auto; }
.ocm-skip-link { position: absolute; left: -999px; top: 8px; background: var(--ocm-primary); color: #fff; padding: 10px 14px; border-radius: 10px; z-index: 1000; }
.ocm-skip-link:focus { left: 8px; }

/* Header */
.ocm-site-header { position: sticky; top: 0; z-index: 100; background: rgba(247, 241, 232, .91); backdrop-filter: blur(16px); border-bottom: 1px solid var(--ocm-border); }
.ocm-header-inner { min-height: 86px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; }
.ocm-brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.ocm-brand-logo { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; background: #fff; border: 1px solid rgba(32,25,19,.12); box-shadow: 0 10px 28px rgba(32,25,19,.13); padding: 4px; }
.ocm-site-footer .ocm-brand-logo { box-shadow: none; border-color: rgba(255,255,255,.18); }
.ocm-brand-mark { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--ocm-primary), var(--ocm-primary-2)); font-family: var(--ocm-serif); font-weight: 700; letter-spacing: .02em; box-shadow: 0 10px 30px rgba(32,25,19,.18); }
.ocm-brand-text { display: grid; line-height: 1.1; }
.ocm-brand-text strong { font-family: var(--ocm-serif); font-size: 1.35rem; letter-spacing: .01em; }
.ocm-brand-text small { color: var(--ocm-muted); font-size: .76rem; text-transform: uppercase; letter-spacing: .13em; }
.custom-logo-link img { max-height: 68px; width: auto; }
.ocm-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.ocm-menu a { display: block; padding: 10px 12px; border-radius: 999px; color: var(--ocm-muted); font-weight: 700; font-size: .95rem; }
.ocm-menu a:hover, .ocm-menu .current-menu-item > a { background: #fff; color: var(--ocm-text); box-shadow: 0 8px 28px rgba(32,25,19,.08); }
.ocm-header-actions { display: flex; align-items: center; gap: 10px; }
.ocm-cart-link, .ocm-header-cta { border: 1px solid var(--ocm-border); background: #fff; color: var(--ocm-text); min-height: 44px; padding: 9px 14px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; font-weight: 800; box-shadow: 0 10px 28px rgba(32,25,19,.07); }
.ocm-cart-link strong { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--ocm-primary); color: #fff; font-size: .78rem; }
.ocm-header-cta { background: var(--ocm-primary); color: #fff; border-color: transparent; }
.ocm-header-cta:hover { color: #fff; background: var(--ocm-primary-2); }
.ocm-menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.ocm-menu-toggle span { display: block; width: 26px; height: 2px; background: var(--ocm-text); margin: 5px 0; border-radius: 3px; }
.ocm-menu-toggle em { position: absolute; width: 1px; height: 1px; overflow: hidden; }

/* Hero */
.ocm-hero { position: relative; overflow: hidden; padding: 86px 0 68px; background: radial-gradient(circle at 12% 18%, rgba(185,145,104,.36), transparent 28%), radial-gradient(circle at 88% 18%, rgba(46,93,104,.18), transparent 30%), linear-gradient(180deg, #fff8ec, var(--ocm-bg)); }
.ocm-hero::before { content: ""; position: absolute; inset: auto -10% -36% -10%; height: 420px; background: rgba(32,25,19,.06); border-radius: 50% 50% 0 0; }
.ocm-hero-grid { position: relative; display: grid; grid-template-columns: 1.02fr .98fr; gap: 54px; align-items: center; }
.ocm-eyebrow, .ocm-section-kicker { display: inline-flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing: .15em; font-size: .75rem; color: var(--ocm-primary-2); font-weight: 900; }
.ocm-eyebrow::before, .ocm-section-kicker::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .5; }
.ocm-hero h1, .ocm-page-hero h1, .ocm-shop-hero h1 { margin: 14px 0 16px; font-family: var(--ocm-serif); font-size: clamp(2.5rem, 5.4vw, 5.35rem); line-height: .96; letter-spacing: -.045em; max-width: 920px; }
.ocm-hero p { color: var(--ocm-muted); font-size: clamp(1rem, 1.55vw, 1.18rem); max-width: 670px; }
.ocm-hero-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-top: 30px; }
.ocm-button, .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce #payment #place_order { display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px !important; border-radius: 999px !important; border: 1px solid transparent !important; font-weight: 850 !important; text-align: center; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; line-height: 1.1 !important; }
.ocm-button:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { transform: translateY(-1px); }
.ocm-button-primary, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce #payment #place_order { background: var(--ocm-primary) !important; color: #fff !important; box-shadow: 0 14px 34px rgba(32,25,19,.22); }
.ocm-button-primary:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #payment #place_order:hover { background: var(--ocm-primary-2) !important; color: #fff !important; }
.ocm-button-ghost { background: #fff; color: var(--ocm-text); border-color: var(--ocm-border) !important; box-shadow: 0 12px 34px rgba(32,25,19,.08); }
.ocm-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-top: 36px; max-width: 670px; }
.ocm-hero-stats div { background: rgba(255,255,255,.74); border: 1px solid var(--ocm-border); border-radius: 18px; padding: 16px; box-shadow: 0 12px 36px rgba(32,25,19,.06); }
.ocm-hero-stats strong { display: block; font-family: var(--ocm-serif); font-size: 1.58rem; line-height: 1; }
.ocm-hero-stats span { display: block; color: var(--ocm-muted); font-size: .86rem; margin-top: 5px; }
.ocm-hero-panel { position: relative; min-height: 560px; }
.ocm-hero-photo { position: absolute; inset: 0 0 42px 38px; border-radius: 42px; overflow: hidden; box-shadow: var(--ocm-shadow); border: 1px solid rgba(255,255,255,.78); background: var(--ocm-surface-2); }
.ocm-hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.ocm-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.22)); }
.ocm-hero-floating-card { position: absolute; left: 0; bottom: 0; width: min(78%, 420px); background: rgba(255,250,242,.94); border: 1px solid var(--ocm-border); border-radius: 28px; padding: 24px; box-shadow: 0 22px 54px rgba(32,25,19,.18); backdrop-filter: blur(12px); }
.ocm-hero-floating-card img { width: 62px; height: 62px; border-radius: 50%; object-fit: cover; border: 1px solid var(--ocm-border); background: #fff; margin-bottom: 12px; }
.ocm-hero-floating-card strong { font-family: var(--ocm-serif); font-size: 1.28rem; display: block; line-height: 1.15; }
.ocm-hero-floating-card span { color: var(--ocm-muted); display: block; margin-top: 6px; font-size: .94rem; }
.ocm-ig-link { margin-top: 16px; display: inline-flex; align-items: center; gap: 8px; font-weight: 850; color: var(--ocm-primary-2); }

/* Sections */
.ocm-section { padding: 66px 0; }
.ocm-section-head { max-width: 760px; margin-bottom: 28px; }
.ocm-section-head h2, .ocm-product-process h2, .ocm-cta-band h2 { margin: 10px 0 10px; font-family: var(--ocm-serif); font-size: clamp(2rem, 3.8vw, 3.6rem); line-height: 1; letter-spacing: -.035em; }
.ocm-section-head p, .ocm-cta-band p, .ocm-product-process p { color: var(--ocm-muted); margin: 0; }
.ocm-section-split { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.ocm-link-arrow { color: var(--ocm-primary-2); font-weight: 900; display: inline-flex; align-items: center; gap: 6px; }
.ocm-link-arrow::after { content: "→"; transition: transform .18s ease; }
.ocm-link-arrow:hover::after { transform: translateX(3px); }

.ocm-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ocm-category-card { background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 24px; padding: 22px; min-height: 168px; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 12px 34px rgba(32,25,19,.06); transition: transform .18s ease, box-shadow .18s ease; }
.ocm-category-card:hover { transform: translateY(-3px); box-shadow: var(--ocm-shadow); color: var(--ocm-text); }
.ocm-category-card span { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: var(--ocm-surface-2); color: var(--ocm-primary-2); font-size: 1.5rem; }
.ocm-category-card strong { font-family: var(--ocm-serif); font-size: 1.12rem; line-height: 1.15; }
.ocm-category-card em { color: var(--ocm-muted); font-size: .88rem; font-style: normal; }

.ocm-story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 38px; align-items: center; }
.ocm-story-media { border-radius: 34px; overflow: hidden; box-shadow: var(--ocm-shadow); border: 1px solid rgba(255,255,255,.75); background: var(--ocm-surface-2); }
.ocm-story-media img { width: 100%; height: 455px; object-fit: cover; }
.ocm-story-card { background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 34px; padding: clamp(24px, 4vw, 44px); box-shadow: 0 16px 44px rgba(32,25,19,.08); }
.ocm-story-list { display: grid; gap: 12px; margin-top: 22px; }
.ocm-story-list div { border: 1px solid var(--ocm-border); border-radius: 18px; padding: 14px 16px; background: #fff; }
.ocm-story-list strong { display: block; font-family: var(--ocm-serif); font-size: 1.08rem; }
.ocm-story-list span { color: var(--ocm-muted); font-size: .94rem; }

/* Products */
.ocm-product-grid, .woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; margin: 0 !important; padding: 0 !important; }
.ocm-product-grid-home { align-items: stretch; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .ocm-product-card { float: none !important; width: auto !important; margin: 0 !important; background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 24px; overflow: hidden; box-shadow: 0 12px 34px rgba(32,25,19,.07); display: flex; flex-direction: column; min-width: 0; }
.ocm-product-media { position: relative; display: block; aspect-ratio: 1 / .82; background: var(--ocm-surface-2); overflow: hidden; }
.ocm-product-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.ocm-product-card:hover .ocm-product-media img { transform: scale(1.04); }
.ocm-product-placeholder { position: absolute; inset: 0; display: grid; place-items: center; background: linear-gradient(135deg, rgba(32,25,19,.92), rgba(107,81,63,.76)), url('../images/ocamafeu-acervo-vintage.jpg') center / cover; }
.ocm-product-placeholder span { width: 86px; height: 86px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,250,242,.2); color: #fff; font-size: 2.2rem; backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.18); }
.ocm-product-group { position: absolute; left: 12px; top: 12px; background: rgba(255,250,242,.92); color: var(--ocm-primary); border-radius: 999px; padding: 6px 10px; font-size: .75rem; font-weight: 900; box-shadow: 0 10px 26px rgba(32,25,19,.12); }
.ocm-product-info { padding: 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.ocm-product-info h2, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--ocm-serif); font-size: 1.18rem !important; line-height: 1.12; padding: 0 !important; margin: 0 !important; color: var(--ocm-text); }
.ocm-product-info p { color: var(--ocm-muted); margin: 0; font-size: .92rem; }
.ocm-product-bottom { margin-top: auto; display: grid; gap: 10px; }
.price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ocm-primary) !important; font-weight: 900 !important; font-size: 1rem !important; }
.ocm-price-prefix { color: var(--ocm-muted); font-weight: 700; font-size: .78rem; display: block; }
.ocm-card-button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--ocm-primary); color: #fff !important; padding: 10px 12px; font-weight: 900; text-align: center; }
.ocm-card-button:hover { background: var(--ocm-primary-2); color: #fff; }

/* Process and CTA */
.ocm-process-section { background: #fff8ef; border-block: 1px solid var(--ocm-border); }
.ocm-steps { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.ocm-steps article { background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 22px; padding: 22px; box-shadow: 0 12px 34px rgba(32,25,19,.06); }
.ocm-steps article span { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--ocm-primary); color: #fff; font-weight: 900; }
.ocm-steps article h3 { font-family: var(--ocm-serif); font-size: 1.25rem; margin: 16px 0 6px; }
.ocm-steps article p { margin: 0; color: var(--ocm-muted); font-size: .94rem; }
.ocm-cta-band { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 26px; background: linear-gradient(135deg, var(--ocm-primary), #4f3b2e); color: #fff; border-radius: 34px; padding: clamp(24px, 4vw, 46px); box-shadow: var(--ocm-shadow); overflow: hidden; position: relative; }
.ocm-cta-band::after { content: ""; position: absolute; right: -70px; top: -90px; width: 250px; height: 250px; border-radius: 50%; background: rgba(255,255,255,.08); }
.ocm-cta-band .ocm-section-kicker, .ocm-cta-band p { color: rgba(255,255,255,.78); }
.ocm-cta-band .ocm-button-primary { background: #fff !important; color: var(--ocm-primary) !important; box-shadow: none; }

/* Pages */
.ocm-page-hero, .ocm-shop-hero { padding: 58px 0 42px; background: linear-gradient(180deg,#fff8ec,var(--ocm-bg)); border-bottom: 1px solid var(--ocm-border); }
.ocm-page-hero p, .ocm-shop-hero p { color: var(--ocm-muted); max-width: 720px; }
.ocm-content-wrap { padding: 48px 0 76px; }
.ocm-page-content { background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 28px; padding: clamp(22px, 4vw, 44px); box-shadow: 0 12px 34px rgba(32,25,19,.06); }
.ocm-post-list { display: grid; gap: 16px; }
.ocm-post-card { background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 22px; padding: 22px; }
.ocm-shop-hero-grid { display: grid; grid-template-columns: 1fr 420px; gap: 36px; align-items: end; }
.ocm-shop-search { background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 22px; padding: 18px; box-shadow: 0 12px 34px rgba(32,25,19,.07); }
.ocm-shop-search label { display: block; font-weight: 900; margin-bottom: 10px; }
.ocm-shop-search div { display: flex; gap: 8px; }
.ocm-shop-search input, .ocm-live-search input, .woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .woocommerce .select2-container .select2-selection--single { width: 100%; min-height: 46px; border: 1px solid var(--ocm-border) !important; border-radius: 14px !important; background: #fff !important; padding: 10px 12px !important; color: var(--ocm-text); box-shadow: none !important; }
.ocm-shop-search button { border: 0; border-radius: 14px; background: var(--ocm-primary); color: #fff; padding: 0 16px; font-weight: 900; }
.ocm-shop-wrap { padding: 36px 0 76px; }
.ocm-filter-panel { background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 26px; padding: 20px; box-shadow: 0 12px 34px rgba(32,25,19,.06); display: grid; grid-template-columns: 240px 1fr 260px; gap: 18px; align-items: center; margin-bottom: 24px; }
.ocm-filter-panel p { color: var(--ocm-muted); margin: 4px 0 0; font-size: .88rem; }
.ocm-filter-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.ocm-filter-buttons button { border: 1px solid var(--ocm-border); background: #fff; color: var(--ocm-muted); border-radius: 999px; padding: 8px 12px; font-size: .88rem; cursor: pointer; font-weight: 850; }
.ocm-filter-buttons button.is-active, .ocm-filter-buttons button:hover { background: var(--ocm-primary); color: #fff; border-color: var(--ocm-primary); }
.ocm-live-search span { display: block; font-weight: 900; margin-bottom: 6px; font-size: .88rem; }
.ocm-shop-toolbar { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin: 0 0 24px; color: var(--ocm-muted); }
.ocm-shop-toolbar .woocommerce-ordering { margin: 0 !important; }
.ocm-shop-toolbar select { min-height: 44px; border: 1px solid var(--ocm-border); border-radius: 999px; padding: 0 12px; background: #fff; color: var(--ocm-text); }
.ocm-empty-products { background: var(--ocm-surface); border: 1px dashed var(--ocm-border); border-radius: 18px; padding: 18px; color: var(--ocm-muted); }

/* Single product */
.ocm-single-product-wrap { padding: 44px 0 74px; }
.woocommerce div.product { background: transparent; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { margin-bottom: 34px; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 30px; overflow: hidden; box-shadow: var(--ocm-shadow); }
.woocommerce div.product div.summary { background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 30px; padding: clamp(22px, 3vw, 34px); box-shadow: 0 14px 40px rgba(32,25,19,.07); }
.woocommerce div.product .product_title { font-family: var(--ocm-serif); font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1; letter-spacing: -.035em; margin: 0 0 16px; }
.ocm-product-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.ocm-product-badges span { background: var(--ocm-surface-2); color: var(--ocm-primary-2); border-radius: 999px; padding: 7px 10px; font-size: .78rem; font-weight: 900; }
.ocm-support-note { border: 1px solid rgba(107,81,63,.22); background: #fff8ec; border-radius: 18px; padding: 14px 16px; color: var(--ocm-muted); margin: 18px 0; }
.woocommerce-product-details__short-description { color: var(--ocm-muted); }
.ocm-product-process { clear: both; padding-top: 24px; }
.wc-bookings-booking-form, .woocommerce form.cart { border: 1px solid var(--ocm-border) !important; border-radius: 22px !important; background: #fff8ef !important; padding: 18px !important; margin-top: 18px !important; }
.wc-bookings-booking-form label { font-weight: 900; color: var(--ocm-text); }
.wc-bookings-date-picker .ui-datepicker, .wc-bookings-date-picker .ui-datepicker-header { border-radius: 16px !important; }
.wc-bookings-booking-cost { background: #fff !important; border: 1px solid var(--ocm-border) !important; border-radius: 16px !important; padding: 12px !important; color: var(--ocm-text); }
.single_add_to_cart_button { width: 100%; min-height: 52px !important; margin-top: 10px !important; }
.quantity .qty { border-radius: 14px; border: 1px solid var(--ocm-border); min-height: 44px; }

/* Cart and checkout */
.woocommerce-cart-form, .woocommerce-checkout, .woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation, .cart_totals, .woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon { background: var(--ocm-surface); border: 1px solid var(--ocm-border) !important; border-radius: 24px !important; padding: 22px !important; box-shadow: 0 12px 34px rgba(32,25,19,.06); }
.woocommerce table.shop_table { border: 1px solid var(--ocm-border) !important; border-radius: 18px !important; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th { background: #fff7ec; color: var(--ocm-text); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--ocm-border) !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 18px; background: #fff !important; border-top-color: var(--ocm-primary) !important; box-shadow: 0 10px 26px rgba(32,25,19,.07); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ocm-primary) !important; }
.woocommerce-error::before { color: #9f332d !important; }
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment { background: #fff8ec !important; border-radius: 22px !important; }

/* Footer */
.ocm-site-footer { background: #201913; color: rgba(255,255,255,.78); padding: 56px 0 24px; }
.ocm-footer-grid { display: grid; grid-template-columns: 1.2fr .9fr .8fr .9fr; gap: 34px; }
.ocm-site-footer .ocm-brand-text strong, .ocm-site-footer h2 { color: #fff; }
.ocm-site-footer .ocm-brand-text small, .ocm-site-footer p { color: rgba(255,255,255,.68); }
.ocm-site-footer h2 { font-family: var(--ocm-serif); font-size: 1.35rem; margin: 0 0 12px; }
.ocm-site-footer a { color: rgba(255,255,255,.88); }
.ocm-site-footer a:hover { color: #fff; }
.ocm-footer-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ocm-footer-bottom { margin-top: 34px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; gap: 12px; font-size: .88rem; color: rgba(255,255,255,.52); }

/* Responsive */
@media (max-width: 1080px) {
  .ocm-header-inner { grid-template-columns: auto auto 1fr; }
  .ocm-menu-toggle { display: block; order: 2; }
  .ocm-main-nav { position: fixed; top: 86px; left: 20px; right: 20px; background: var(--ocm-surface); border: 1px solid var(--ocm-border); border-radius: 24px; box-shadow: var(--ocm-shadow); padding: 14px; transform: translateY(-12px); opacity: 0; pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
  .ocm-main-nav.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .ocm-menu { display: grid; justify-content: stretch; gap: 4px; }
  .ocm-menu a { border-radius: 14px; }
  .ocm-header-actions { justify-self: end; order: 3; }
  .ocm-hero-grid, .ocm-shop-hero-grid, .ocm-story-grid { grid-template-columns: 1fr; }
  .ocm-hero-panel { min-height: 430px; }
  .ocm-category-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ocm-product-grid, .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ocm-filter-panel { grid-template-columns: 1fr; }
  .ocm-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ocm-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .ocm-container { width: min(100% - 28px, var(--ocm-container)); }
  .ocm-header-inner { min-height: 72px; gap: 10px; }
  .ocm-brand-logo { width: 44px; height: 44px; }
  .ocm-brand-text small { display: none; }
  .ocm-brand-text strong { font-size: 1.14rem; }
  .ocm-cart-link span { display: none; }
  .ocm-header-cta { display: none; }
  .ocm-main-nav { top: 72px; left: 14px; right: 14px; }
  .ocm-hero { padding: 46px 0 38px; }
  .ocm-hero h1, .ocm-page-hero h1, .ocm-shop-hero h1 { font-size: clamp(2.35rem, 13.5vw, 4.2rem); }
  .ocm-hero-stats { grid-template-columns: 1fr; }
  .ocm-hero-panel { min-height: 380px; }
  .ocm-hero-photo { inset: 0 0 72px 0; border-radius: 28px; }
  .ocm-hero-floating-card { width: calc(100% - 26px); left: 13px; padding: 18px; border-radius: 22px; }
  .ocm-section { padding: 48px 0; }
  .ocm-section-split, .ocm-shop-toolbar, .ocm-footer-bottom, .ocm-cta-band { display: grid; grid-template-columns: 1fr; }
  .ocm-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ocm-category-card { min-height: 148px; padding: 16px; }
  .ocm-product-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
  .ocm-product-info { padding: 14px; }
  .ocm-product-info h2, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem !important; }
  .ocm-product-info p { display: none; }
  .ocm-card-button { min-height: 40px; font-size: .86rem; }
  .ocm-steps { grid-template-columns: 1fr; }
  .ocm-shop-search div { display: grid; }
  .ocm-filter-panel { padding: 14px; border-radius: 20px; }
  .ocm-filter-buttons { max-height: 190px; overflow: auto; padding-bottom: 4px; }
  .ocm-story-media img { height: 320px; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none !important; width: 100% !important; }
  .ocm-footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .ocm-product-grid, .woocommerce ul.products { grid-template-columns: 1fr; }
  .ocm-category-grid { grid-template-columns: 1fr; }
  .ocm-hero-actions .ocm-button { width: 100%; }
}

/* Paginação do catálogo */
.woocommerce-pagination, .ocm-pagination { margin-top: 26px; display: flex; justify-content: center; }
.woocommerce-pagination ul, .ocm-pagination ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce-pagination a, .woocommerce-pagination span, .ocm-pagination a, .ocm-pagination span { min-width: 42px; min-height: 42px; padding: 8px 12px; display: grid; place-items: center; border-radius: 999px; border: 1px solid var(--ocm-border); background: var(--ocm-surface); font-weight: 800; }
.woocommerce-pagination .current, .ocm-pagination .current { background: var(--ocm-primary); color: #fff; border-color: var(--ocm-primary); }

/* ==========================================================
   V4 - Paleta pastel da página inicial + correções visuais
   ========================================================== */
:root {
  --ocm-bg: #fff7f0;
  --ocm-surface: #fffdf8;
  --ocm-surface-2: #e8f6f6;
  --ocm-text: #1d1714;
  --ocm-muted: #75675f;
  --ocm-border: rgba(29, 23, 20, .12);
  --ocm-primary: #1d1714;
  --ocm-primary-2: #f29c8f;
  --ocm-coral: #f29c8f;
  --ocm-coral-dark: #e98578;
  --ocm-aqua: #e4f6f6;
  --ocm-aqua-strong: #cfeaea;
  --ocm-cream: #fff9ef;
  --ocm-shadow: 0 22px 70px rgba(29, 23, 20, .12);
}

body.ocm-theme {
  background: linear-gradient(180deg, #fff7f0 0%, #fffdf8 42%, #f4fbfb 100%);
}
body.admin-bar .ocm-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ocm-site-header { top: 46px; } }

.ocm-site-header {
  background: rgba(255, 248, 239, .92);
  border-bottom: 1px solid rgba(29, 23, 20, .10);
  box-shadow: 0 12px 36px rgba(29, 23, 20, .04);
}
.ocm-menu a { color: #7c6b63; }
.ocm-menu a:hover,
.ocm-menu .current-menu-item > a {
  background: #fff;
  color: var(--ocm-coral-dark);
}
.ocm-cart-link { background: #fff; }
.ocm-header-cta,
.ocm-button-dark {
  background: var(--ocm-primary) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 14px 32px rgba(29, 23, 20, .16);
}
.ocm-header-cta:hover,
.ocm-button-dark:hover { background: #3a2d27 !important; color: #fff !important; }

.ocm-wedding-hero,
.ocm-hero {
  background:
    radial-gradient(circle at 10% 18%, rgba(207, 234, 234, .96), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(242, 156, 143, .18), transparent 32%),
    linear-gradient(180deg, #f4fbfb 0%, #fff7f0 72%, #fffdf8 100%);
}
.ocm-hero::before {
  background: linear-gradient(90deg, rgba(207,234,234,.55), rgba(255,255,255,.1), rgba(242,156,143,.16));
}
.ocm-eyebrow,
.ocm-section-kicker { color: var(--ocm-coral-dark); }
.ocm-hero h1,
.ocm-page-hero h1,
.ocm-shop-hero h1 { color: var(--ocm-text); }
.ocm-hero-photo {
  border: 5px solid rgba(255,255,255,.78);
  box-shadow: 0 28px 80px rgba(29, 23, 20, .13);
}
.ocm-hero-photo::after {
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(29,23,20,.16));
}
.ocm-hero-floating-card,
.ocm-hero-stats div,
.ocm-category-card,
.ocm-story-card,
.woocommerce ul.products li.product,
.ocm-product-card,
.ocm-shop-search,
.ocm-filter-panel,
.ocm-page-content,
.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation,
.cart_totals,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon {
  background: rgba(255, 253, 248, .94);
  border-color: rgba(29, 23, 20, .10) !important;
}

.ocm-button-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order {
  background: var(--ocm-coral) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(242, 156, 143, .38);
}
.ocm-button-primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover {
  background: var(--ocm-coral-dark) !important;
  color: #fff !important;
}
.ocm-button-light {
  background: #fff !important;
  color: var(--ocm-primary) !important;
  border-color: rgba(255,255,255,.74) !important;
  box-shadow: 0 14px 34px rgba(29, 23, 20, .10);
}
.ocm-link-arrow,
.ocm-ig-link { color: var(--ocm-coral-dark); }

.ocm-soft-section { background: rgba(255,255,255,.42); }
.ocm-category-card span,
.ocm-steps article span,
.ocm-product-badges span {
  background: var(--ocm-aqua);
  color: var(--ocm-text);
}
.ocm-category-card:hover { box-shadow: 0 24px 70px rgba(242, 156, 143, .16); }
.ocm-story-list div { background: #fff; }
.ocm-process-section {
  background: linear-gradient(135deg, #fff8ef 0%, #effafa 100%);
  border-block: 1px solid var(--ocm-border);
}
.ocm-product-placeholder {
  background: linear-gradient(135deg, rgba(29,23,20,.60), rgba(242,156,143,.28)), url('../images/ocamafeu-acervo-vintage.jpg') center / cover;
}
.ocm-product-group { background: rgba(255,253,248,.94); color: var(--ocm-text); }
.ocm-card-button,
.ocm-shop-search button,
.ocm-filter-buttons button.is-active,
.ocm-filter-buttons button:hover,
.woocommerce-pagination .current,
.ocm-pagination .current {
  background: var(--ocm-primary) !important;
  color: #fff !important;
  border-color: var(--ocm-primary) !important;
}
.ocm-card-button:hover,
.ocm-shop-search button:hover { background: #3a2d27 !important; }

.ocm-page-hero,
.ocm-shop-hero {
  background:
    radial-gradient(circle at 13% 8%, rgba(207,234,234,.90), transparent 32%),
    linear-gradient(180deg, #fff8ef, #fffdf8);
}
.wc-bookings-booking-form,
.woocommerce form.cart,
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment,
.woocommerce table.shop_table th { background: #fff8ef !important; }
.ocm-support-note { background: #f4fbfb; border-color: rgba(242,156,143,.22); }

.ocm-cta-band {
  background:
    radial-gradient(circle at 88% -20%, rgba(255,255,255,.18), transparent 34%),
    linear-gradient(135deg, #1d1714 0%, #4b3932 100%);
}
.ocm-cta-band .ocm-section-kicker,
.ocm-cta-band p { color: rgba(255,255,255,.78); }
.ocm-cta-band .ocm-button-primary,
.ocm-cta-band .ocm-button-light { background: #fff !important; color: var(--ocm-primary) !important; }

/* Rodapé redesenhado */
.ocm-site-footer {
  background:
    radial-gradient(circle at 5% 0%, rgba(207,234,234,.95), transparent 28%),
    linear-gradient(180deg, #fffdf8 0%, #fff7f0 48%, #eefafa 100%);
  color: var(--ocm-text);
  padding: 0 0 24px;
  border-top: 1px solid var(--ocm-border);
}
.ocm-footer-ribbon { padding: 46px 0 24px; }
.ocm-footer-ribbon-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 22px;
  align-items: center;
  background: rgba(255,255,255,.68);
  border: 1px solid var(--ocm-border);
  border-radius: 32px;
  padding: clamp(22px, 4vw, 36px);
  box-shadow: 0 18px 54px rgba(29,23,20,.08);
}
.ocm-footer-ribbon h2 {
  margin: 8px 0 0;
  font-family: var(--ocm-serif);
  font-size: clamp(1.9rem, 3.6vw, 3.35rem);
  line-height: 1;
  letter-spacing: -.035em;
  color: var(--ocm-text);
}
.ocm-footer-ribbon-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.ocm-footer-grid {
  display: grid;
  grid-template-columns: 1.25fr .95fr .8fr .95fr;
  gap: 22px;
  padding-top: 20px;
}
.ocm-footer-grid > div {
  background: rgba(255,255,255,.54);
  border: 1px solid rgba(29,23,20,.08);
  border-radius: 24px;
  padding: 22px;
}
.ocm-site-footer .ocm-brand-text strong,
.ocm-site-footer h2 { color: var(--ocm-text); }
.ocm-site-footer .ocm-brand-text small,
.ocm-site-footer p { color: var(--ocm-muted); }
.ocm-site-footer h2 {
  font-family: var(--ocm-serif);
  font-size: 1.42rem;
  margin: 0 0 12px;
}
.ocm-site-footer a { color: var(--ocm-text); font-weight: 750; }
.ocm-site-footer a:hover { color: var(--ocm-coral-dark); }
.ocm-site-footer .ocm-brand-logo { border-color: rgba(29,23,20,.10); box-shadow: 0 10px 28px rgba(29,23,20,.08); }
.ocm-footer-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.ocm-footer-menu a::before { content: "→"; margin-right: 8px; color: var(--ocm-coral-dark); }
.ocm-footer-bottom {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(29,23,20,.10);
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: .88rem;
  color: var(--ocm-muted);
}

@media (max-width: 1080px) {
  .ocm-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .ocm-footer-ribbon-inner,
  .ocm-footer-grid,
  .ocm-footer-bottom { grid-template-columns: 1fr; }
  .ocm-footer-ribbon-actions { justify-content: stretch; }
  .ocm-footer-ribbon-actions .ocm-button { width: 100%; }
}

/* ===============================
   Versão 5 - refinamento visual
   Paleta inspirada no layout claro da página inicial: azul suave, coral, creme e preto elegante.
   =============================== */
:root {
  --ocm-bg: #fff7f2;
  --ocm-surface: #ffffff;
  --ocm-surface-2: #eaf7f7;
  --ocm-text: #4A3329;
  --ocm-muted: #756a63;
  --ocm-border: rgba(28, 23, 20, .12);
  --ocm-primary: #4A3329;
  --ocm-primary-2: #f29b8d;
  --ocm-accent: #f29b8d;
  --ocm-blue: #dff3f4;
  --ocm-cream: #fff3ea;
  --ocm-shadow: 0 22px 68px rgba(28, 23, 20, .11);
}
body.ocm-theme {
  background:
    radial-gradient(circle at 8% 8%, rgba(223,243,244,.95), transparent 27%),
    radial-gradient(circle at 92% 12%, rgba(242,155,141,.18), transparent 25%),
    linear-gradient(180deg, #fffaf6 0%, #fff7f2 48%, #f8f2ec 100%) !important;
}
body.admin-bar .ocm-site-header { top: 32px; }
.ocm-site-header {
  background: rgba(255, 250, 246, .86) !important;
  border-bottom-color: rgba(28,23,20,.09) !important;
  box-shadow: 0 10px 30px rgba(28,23,20,.045);
}
.ocm-brand-text strong { color: var(--ocm-text); }
.ocm-brand-text small { color: rgba(28,23,20,.62); }
.ocm-menu a { color: rgba(28,23,20,.68); }
.ocm-menu a:hover,
.ocm-menu .current-menu-item > a {
  background: #fff !important;
  color: var(--ocm-text) !important;
  box-shadow: 0 10px 30px rgba(28,23,20,.08);
}
.ocm-cart-link,
.ocm-header-cta { box-shadow: 0 12px 32px rgba(28,23,20,.08); }
.ocm-header-cta,
.ocm-button-dark,
.ocm-button-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.ocm-card-button,
.ocm-shop-search button {
  background: var(--ocm-primary) !important;
  color: #fff !important;
}
.ocm-button-primary:hover,
.ocm-button-dark:hover,
.ocm-header-cta:hover,
.ocm-card-button:hover,
.ocm-shop-search button:hover {
  background: #3a2d27 !important;
  color: #fff !important;
}
.ocm-button-ghost,
.ocm-button-light {
  background: #fff !important;
  color: var(--ocm-text) !important;
  border-color: rgba(28,23,20,.12) !important;
  box-shadow: 0 12px 32px rgba(28,23,20,.08);
}
.ocm-eyebrow,
.ocm-section-kicker,
.ocm-link-arrow,
.ocm-ig-link,
.ocm-site-footer a:hover { color: var(--ocm-primary-2) !important; }
.ocm-hero,
.ocm-page-hero,
.ocm-shop-hero {
  background:
    radial-gradient(circle at 8% 22%, rgba(222,244,245,.96), transparent 32%),
    radial-gradient(circle at 92% 18%, rgba(242,155,141,.18), transparent 28%),
    linear-gradient(180deg, #fffaf7 0%, #fff4ef 100%) !important;
}
.ocm-hero::before {
  background: linear-gradient(180deg, rgba(222,244,245,.62), rgba(255,255,255,0)) !important;
}
.ocm-hero-photo,
.ocm-story-media {
  border: 6px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 26px 70px rgba(28,23,20,.13) !important;
}
.ocm-hero-floating-card,
.ocm-category-card,
.ocm-story-card,
.ocm-product-card,
.woocommerce ul.products li.product,
.ocm-filter-panel,
.ocm-shop-search,
.ocm-page-content,
.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation,
.cart_totals,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon {
  background: rgba(255,255,255,.86) !important;
  border-color: rgba(28,23,20,.11) !important;
  box-shadow: 0 18px 52px rgba(28,23,20,.075) !important;
}
.ocm-soft-section,
.ocm-process-section {
  background: linear-gradient(180deg, rgba(234,247,247,.5), rgba(255,247,242,.74)) !important;
  border-block-color: rgba(28,23,20,.08) !important;
}
.ocm-category-card span,
.ocm-product-badges span,
.ocm-steps article span {
  background: var(--ocm-blue) !important;
  color: var(--ocm-text) !important;
}
.ocm-filter-buttons button.is-active,
.ocm-filter-buttons button:hover {
  background: var(--ocm-primary) !important;
  color: #fff !important;
  border-color: var(--ocm-primary) !important;
}
.ocm-product-placeholder {
  background:
    linear-gradient(135deg, rgba(28,23,20,.55), rgba(242,155,141,.18)),
    url('../images/ocamafeu-acervo-vintage.jpg') center / cover !important;
}
.ocm-cta-band {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.28), transparent 30%),
    linear-gradient(135deg, #4A3329, #7A563D) !important;
  box-shadow: 0 24px 72px rgba(28,23,20,.16) !important;
}

/* Rodapé refinado */
.ocm-site-footer.ocm-footer-v5 {
  background:
    radial-gradient(circle at 8% 0%, rgba(223,243,244,.9), transparent 34%),
    linear-gradient(180deg, #fff7f2 0%, #f8efe8 100%) !important;
  color: var(--ocm-text) !important;
  padding: 46px 0 22px !important;
  border-top: 1px solid rgba(28,23,20,.09);
}
.ocm-footer-cta-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 26px;
  align-items: center;
  margin-bottom: 34px;
  padding: clamp(24px, 4vw, 42px);
  border-radius: 34px;
  background:
    radial-gradient(circle at 94% 10%, rgba(242,155,141,.24), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(234,247,247,.76));
  border: 1px solid rgba(28,23,20,.1);
  box-shadow: 0 22px 68px rgba(28,23,20,.09);
}
.ocm-footer-cta-card h2 {
  color: var(--ocm-text) !important;
  font-family: var(--ocm-serif);
  font-size: clamp(2rem, 3.6vw, 3.4rem);
  line-height: 1;
  letter-spacing: -.035em;
  margin: 10px 0;
}
.ocm-footer-cta-card p,
.ocm-footer-v5 p {
  color: var(--ocm-muted) !important;
}
.ocm-footer-v5 .ocm-footer-grid {
  grid-template-columns: 1.1fr .9fr .7fr .9fr;
  padding-top: 6px;
}
.ocm-footer-v5 .ocm-brand-logo {
  border-color: rgba(28,23,20,.12) !important;
  box-shadow: 0 12px 30px rgba(28,23,20,.08) !important;
}
.ocm-footer-v5 .ocm-brand-text strong,
.ocm-footer-v5 .ocm-footer-title,
.ocm-footer-v5 h2 {
  color: var(--ocm-text) !important;
  font-family: var(--ocm-serif) !important;
  font-size: 1.45rem !important;
  line-height: 1.05 !important;
  margin: 0 0 14px !important;
}
.ocm-footer-v5 .ocm-brand-text small { color: rgba(28,23,20,.58) !important; }
.ocm-footer-v5 a,
.ocm-footer-link {
  color: var(--ocm-text) !important;
  font-weight: 800;
}
.ocm-footer-v5 a:hover,
.ocm-footer-link:hover { color: var(--ocm-primary-2) !important; }
.ocm-footer-link { display: table; margin-top: 8px; }
.ocm-footer-menu { gap: 10px !important; }
.ocm-footer-v5 .ocm-footer-menu a {
  display: inline-flex;
  padding: 2px 0;
}
.ocm-footer-bottom {
  border-top-color: rgba(28,23,20,.1) !important;
  color: rgba(28,23,20,.58) !important;
}

@media (max-width: 782px) {
  body.admin-bar .ocm-site-header { top: 46px; }
}
@media (max-width: 760px) {
  .ocm-footer-cta-card { grid-template-columns: 1fr; }
  .ocm-footer-v5 .ocm-footer-grid { grid-template-columns: 1fr !important; }
  .ocm-footer-ribbon-actions { justify-content: stretch; display: grid; }
  .ocm-footer-ribbon-actions .ocm-button { width: 100%; }
}

/* ===============================
   Versão 7 - acabamento editorial
   Ajustes feitos a partir da visualização pública em janela anônima.
   =============================== */
body.ocm-theme {
  background:
    radial-gradient(circle at 0% 10%, rgba(223,243,244,.95), transparent 24%),
    radial-gradient(circle at 100% 8%, rgba(242,155,141,.18), transparent 26%),
    linear-gradient(180deg, #fffaf7 0%, #fff6f0 42%, #fbf1e9 100%) !important;
}
.ocm-site-header {
  border-bottom: 1px solid rgba(28,23,20,.08) !important;
}
.ocm-header-inner { max-width: 1220px; }
.ocm-brand-logo { width: 60px; height: 60px; }
.ocm-brand-text strong { font-size: 1.5rem; }
.ocm-menu a { font-weight: 850; }
.ocm-cart-link { background: rgba(255,255,255,.88) !important; }
.ocm-header-cta { padding-inline: 18px !important; }

.ocm-hero { padding: clamp(58px, 7vw, 94px) 0 clamp(52px, 6vw, 78px) !important; }
.ocm-hero-grid { gap: clamp(32px, 5vw, 70px); }
.ocm-hero h1 {
  font-size: clamp(3.05rem, 5.05vw, 5.05rem) !important;
  max-width: 760px;
  text-wrap: balance;
}
.ocm-hero p { max-width: 650px; }
.ocm-hero-actions .ocm-button { min-width: 146px; }
.ocm-hero-panel { min-height: clamp(430px, 40vw, 560px); }
.ocm-hero-photo { inset: 0 0 48px 28px !important; border-radius: 40px !important; }
.ocm-hero-floating-card {
  width: min(74%, 420px) !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.9) !important;
}
.ocm-hero-stats div { background: rgba(255,255,255,.78) !important; }
.ocm-hero-stats strong { color: var(--ocm-text); }

.ocm-section-head h2,
.ocm-product-process h2,
.ocm-cta-band h2,
.ocm-shop-hero h1,
.ocm-page-hero h1 {
  text-wrap: balance;
}
.ocm-category-card,
.ocm-product-card,
.woocommerce ul.products li.product,
.ocm-filter-panel,
.ocm-shop-search {
  backdrop-filter: blur(10px);
}
.ocm-category-card:hover,
.ocm-product-card:hover,
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 70px rgba(28,23,20,.12) !important;
}

.ocm-shop-hero { padding: 64px 0 48px !important; }
.ocm-shop-hero h1 { font-size: clamp(3.2rem, 6vw, 5.8rem) !important; }
.ocm-shop-search { align-self: center; }
.ocm-filter-panel { align-items: start !important; }
.ocm-filter-buttons button { background: rgba(255,255,255,.86) !important; }
.ocm-live-search input::placeholder,
.ocm-shop-search input::placeholder { color: rgba(28,23,20,.48); }

.ocm-product-placeholder {
  display: grid !important;
  place-items: center !important;
  text-align: center;
  gap: 8px;
}
.ocm-product-placeholder > span {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.7);
  color: #4A3329;
  font-size: 1.55rem;
  box-shadow: 0 12px 28px rgba(28,23,20,.12);
}
.ocm-product-placeholder em {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  color: #4A3329;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ocm-product-group {
  background: rgba(255,255,255,.9) !important;
  color: #4A3329 !important;
  border: 1px solid rgba(28,23,20,.08);
}
.ocm-product-info h2 a { color: var(--ocm-text) !important; }
.ocm-price-prefix { color: rgba(28,23,20,.58) !important; }

/* Footer v8 */
.ocm-site-footer.ocm-footer-v5 {
  background:
    radial-gradient(circle at 10% 4%, rgba(223,243,244,.96), transparent 32%),
    radial-gradient(circle at 100% 0%, rgba(242,155,141,.16), transparent 30%),
    linear-gradient(180deg, #fff8f3 0%, #f6ebe2 100%) !important;
  padding: 58px 0 26px !important;
}
.ocm-footer-cta-card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,247,242,.92)),
    radial-gradient(circle at 90% 12%, rgba(242,155,141,.28), transparent 32%) !important;
  border-radius: 38px !important;
  border: 1px solid rgba(28,23,20,.09) !important;
  box-shadow: 0 24px 74px rgba(28,23,20,.09) !important;
}
.ocm-footer-v5 .ocm-footer-grid > div {
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(28,23,20,.08) !important;
  box-shadow: 0 14px 42px rgba(28,23,20,.055);
}
.ocm-footer-v5 .ocm-footer-title,
.ocm-footer-v5 .ocm-brand-text strong { letter-spacing: -.02em; }
.ocm-footer-v5 .ocm-footer-menu a {
  color: rgba(28,23,20,.78) !important;
  font-weight: 850;
}
.ocm-footer-menu a::before { color: var(--ocm-primary-2) !important; }
.ocm-footer-bottom {
  margin-top: 28px !important;
  padding-top: 20px !important;
}
.ocm-footer-bottom span:last-child {
  font-weight: 850;
  color: rgba(28,23,20,.68) !important;
}

/* WooCommerce/Bookings: detalhes mais limpos */
.wc-bookings-booking-form,
.woocommerce form.cart {
  background: rgba(255,255,255,.86) !important;
}
.single_add_to_cart_button { border-radius: 999px !important; }
.woocommerce div.product div.summary { backdrop-filter: blur(10px); }

@media (max-width: 1080px) {
  .ocm-header-inner { grid-template-columns: auto auto 1fr; }
  .ocm-header-actions { gap: 8px; }
}
@media (max-width: 760px) {
  .ocm-site-header { position: sticky; }
  .ocm-header-inner { min-height: 76px; }
  .ocm-brand-logo { width: 46px; height: 46px; }
  .ocm-brand-text strong { font-size: 1.18rem; }
  .ocm-hero { padding-top: 40px !important; }
  .ocm-hero h1 { font-size: clamp(2.55rem, 14vw, 4.25rem) !important; }
  .ocm-hero-panel { min-height: 430px !important; }
  .ocm-hero-photo { inset: 0 0 92px 0 !important; }
  .ocm-hero-floating-card { width: calc(100% - 24px) !important; left: 12px !important; }
  .ocm-shop-hero h1 { font-size: clamp(2.85rem, 15vw, 4.4rem) !important; }
  .ocm-product-grid,
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
  .ocm-footer-cta-card { padding: 24px !important; border-radius: 28px !important; }
  .ocm-footer-v5 .ocm-footer-grid > div { padding: 18px !important; }
}


/* v8 - calendário de locação por período */
.single-product .ocm-booking-intro,
.single-product .ocm-support-note {
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(244,154,141,.22);
  border-radius: 22px;
  padding: 16px 18px;
  box-shadow: 0 18px 45px rgba(35,24,20,.07);
}
.single-product .ocm-booking-intro {
  margin: 0 0 14px;
}
.single-product .ocm-booking-intro strong {
  display: block;
  font-family: var(--ocm-serif);
  font-size: 1.35rem;
  color: var(--ocm-ink);
  margin-bottom: 6px;
}
.single-product .ocm-booking-intro p {
  margin: 0;
  color: var(--ocm-muted);
  line-height: 1.6;
}
.single-product form.cart {
  margin-top: 22px;
}
.single-product .wc-bookings-booking-form {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,247,241,.94));
  border: 1px solid rgba(244,154,141,.28);
  border-radius: 28px;
  padding: 22px;
  margin: 0 0 18px;
  box-shadow: 0 24px 70px rgba(35,24,20,.10);
}
.single-product .wc-bookings-booking-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}
.single-product .wc-bookings-date-picker {
  padding: 0;
}
.single-product .wc-bookings-date-picker .picker.hasDatepicker {
  margin-bottom: 16px;
}
.single-product .wc-bookings-date-picker .ui-datepicker {
  width: 100% !important;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(35,24,20,.08);
  box-shadow: none;
  background: #fff;
}
.single-product .wc-bookings-date-picker .ui-datepicker-header {
  background: var(--ocm-ink) !important;
  background-image: none !important;
  border: 0 !important;
  color: #fff;
  border-radius: 22px 22px 0 0;
  padding: 10px 8px;
}
.single-product .wc-bookings-date-picker .ui-datepicker .ui-datepicker-title {
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.single-product .wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev,
.single-product .wc-bookings-date-picker .ui-datepicker .ui-datepicker-next {
  background: transparent !important;
  border: 0 !important;
  top: 8px;
}
.single-product .wc-bookings-date-picker .ui-datepicker th {
  color: var(--ocm-muted);
  background: #fffaf6;
  font-weight: 800;
  font-size: .78rem;
}
.single-product .wc-bookings-date-picker .ui-datepicker td {
  background: #fff;
  border-color: rgba(35,24,20,.08);
}
.single-product .wc-bookings-date-picker .ui-datepicker td .ui-state-default {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: var(--ocm-ink);
}
.single-product .wc-bookings-date-picker .ui-datepicker td.bookable a,
.single-product .wc-bookings-date-picker .ui-datepicker td.partial_booked a {
  background: #f7d4cb !important;
  color: var(--ocm-ink) !important;
  text-shadow: none !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker td.bookable a:hover,
.single-product .wc-bookings-date-picker .ui-datepicker td.partial_booked a:hover,
.single-product .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a,
.single-product .wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
  background: var(--ocm-salmon) !important;
  color: #fff !important;
  text-shadow: none !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker td.fully_booked:not(.not_bookable_by_rules) span,
.single-product .wc-bookings-date-picker .ui-datepicker td.fully_booked:not(.not_bookable_by_rules) a,
.single-product .wc-bookings-date-picker .ui-datepicker td.not_bookable .ui-state-default,
.single-product .wc-bookings-date-picker .ui-datepicker td.not_bookable_by_rules .ui-state-default {
  background: #f1ece6 !important;
  color: #a79588 !important;
  text-shadow: none !important;
  cursor: not-allowed;
  text-decoration: line-through !important;
}
.single-product .wc-bookings-date-picker-date-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(35,24,20,.08);
  border-radius: 18px;
  padding: 12px;
  margin: 10px 0 0;
  line-height: 1.2;
}
.single-product .wc-bookings-date-picker-date-fields > span {
  font-weight: 900;
  color: var(--ocm-ink);
}
.single-product .wc-bookings-date-picker-date-fields label {
  width: auto;
  min-width: 70px;
  margin-right: 6px;
}
.single-product .wc-bookings-date-picker-date-fields input {
  border-radius: 12px;
  border: 1px solid rgba(35,24,20,.12);
  min-height: 40px;
  text-align: center;
}
.single-product .wc-bookings-booking-cost {
  background: rgba(35,24,20,.04);
  border: 1px solid rgba(35,24,20,.08);
  border-radius: 18px;
  margin: 14px 0 0;
  padding: 14px;
  color: var(--ocm-ink);
  font-weight: 800;
}
.single-product .ocm-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  margin-top: 14px;
  color: var(--ocm-muted);
  font-size: .9rem;
  font-weight: 700;
}
.single-product .ocm-calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.single-product .ocm-calendar-legend i {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  display: inline-block;
  border: 1px solid rgba(35,24,20,.10);
}
.single-product .ocm-calendar-legend .is-available { background: #f7d4cb; }
.single-product .ocm-calendar-legend .is-selected { background: var(--ocm-salmon); }
.single-product .ocm-calendar-legend .is-unavailable { background: #f1ece6; }
.single-product .wc-bookings-booking-form-button,
.single-product button.single_add_to_cart_button {
  width: 100%;
  justify-content: center;
  min-height: 54px;
  font-weight: 900;
}
@media (max-width: 760px) {
  .single-product .wc-bookings-booking-form {
    padding: 16px;
    border-radius: 22px;
  }
  .single-product .wc-bookings-date-picker .ui-datepicker td .ui-state-default {
    min-height: 36px;
    font-size: .9rem;
  }
  .single-product .wc-bookings-date-picker-date-fields label {
    min-width: 58px;
  }
}

/* ===============================
   Base anterior - mantida para compatibilidade visual
   Nome conceitual: Camafeu Vintage Wedding
   =============================== */
:root {
  --ocm-ivory: #fff9f3;
  --ocm-champagne: #f6efe7;
  --ocm-champagne-2: #efe3d5;
  --ocm-mist: #dff3f2;
  --ocm-mist-2: #cfe9e7;
  --ocm-blush: #f3a59a;
  --ocm-blush-soft: #f9d8d1;
  --ocm-antique-gold: #b8956d;
  --ocm-sage: #8ea58a;
  --ocm-coffee: #7A563D;
  --ocm-ink: #4A3329;
  --ocm-salmon: #f3a59a;
  --ocm-bg: var(--ocm-champagne);
  --ocm-surface: rgba(255, 249, 243, .92);
  --ocm-surface-2: var(--ocm-mist);
  --ocm-text: var(--ocm-ink);
  --ocm-muted: #74685f;
  --ocm-border: rgba(28, 23, 20, .11);
  --ocm-primary: var(--ocm-ink);
  --ocm-primary-2: var(--ocm-blush);
  --ocm-accent: var(--ocm-antique-gold);
  --ocm-blue: var(--ocm-mist);
  --ocm-cream: var(--ocm-ivory);
  --ocm-shadow: 0 24px 72px rgba(28, 23, 20, .105);
}
body.ocm-theme {
  background:
    radial-gradient(circle at 7% 7%, rgba(223,243,242,.98), transparent 28%),
    radial-gradient(circle at 96% 9%, rgba(243,165,154,.20), transparent 26%),
    radial-gradient(circle at 75% 78%, rgba(184,149,109,.12), transparent 30%),
    linear-gradient(180deg, var(--ocm-ivory) 0%, var(--ocm-champagne) 48%, #f3e8dd 100%) !important;
}
.ocm-site-header {
  background: rgba(255, 249, 243, .90) !important;
  border-bottom-color: rgba(28,23,20,.08) !important;
}
.ocm-brand-text strong,
.ocm-hero h1,
.ocm-shop-hero h1,
.ocm-page-hero h1,
.ocm-section-head h2,
.ocm-product-process h2,
.ocm-cta-band h2,
.woocommerce div.product .product_title {
  color: var(--ocm-ink) !important;
}
.ocm-eyebrow,
.ocm-section-kicker {
  color: var(--ocm-blush) !important;
}
.ocm-link-arrow,
.ocm-ig-link,
.ocm-footer-v5 a:hover,
.ocm-footer-link:hover {
  color: var(--ocm-antique-gold) !important;
}
.ocm-hero,
.ocm-page-hero,
.ocm-shop-hero {
  background:
    radial-gradient(circle at 9% 18%, rgba(223,243,242,.98), transparent 33%),
    radial-gradient(circle at 90% 16%, rgba(243,165,154,.20), transparent 28%),
    linear-gradient(180deg, var(--ocm-ivory) 0%, #fff4ee 58%, var(--ocm-champagne) 100%) !important;
}
.ocm-hero::before {
  background: linear-gradient(180deg, rgba(223,243,242,.58), rgba(255,249,243,0)) !important;
}
.ocm-hero-photo,
.ocm-story-media {
  border-color: rgba(255,249,243,.82) !important;
  box-shadow: 0 30px 84px rgba(28,23,20,.13) !important;
}
.ocm-hero-floating-card,
.ocm-category-card,
.ocm-story-card,
.ocm-product-card,
.woocommerce ul.products li.product,
.ocm-filter-panel,
.ocm-shop-search,
.ocm-page-content,
.woocommerce div.product div.summary,
.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation,
.cart_totals,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon {
  background: rgba(255,249,243,.88) !important;
  border-color: rgba(28,23,20,.10) !important;
  box-shadow: 0 20px 58px rgba(28,23,20,.075) !important;
}
.ocm-hero-stats div,
.ocm-story-list div,
.ocm-filter-buttons button,
.ocm-cart-link,
.ocm-button-ghost,
.ocm-button-light {
  background: rgba(255,255,255,.86) !important;
  border-color: rgba(28,23,20,.10) !important;
}
.ocm-header-cta,
.ocm-button-dark,
.ocm-button-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.ocm-card-button,
.ocm-shop-search button,
.single-product .wc-bookings-booking-form-button,
.single-product button.single_add_to_cart_button {
  background: var(--ocm-ink) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(28,23,20,.18) !important;
}
.ocm-header-cta:hover,
.ocm-button-dark:hover,
.ocm-button-primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover,
.ocm-card-button:hover,
.ocm-shop-search button:hover,
.single-product .wc-bookings-booking-form-button:hover,
.single-product button.single_add_to_cart_button:hover {
  background: var(--ocm-coffee) !important;
  color: #fff !important;
}
.ocm-cart-link strong,
.ocm-filter-buttons button.is-active,
.ocm-filter-buttons button:hover {
  background: var(--ocm-ink) !important;
  color: #fff !important;
  border-color: var(--ocm-ink) !important;
}
.ocm-category-card span,
.ocm-product-badges span,
.ocm-steps article span {
  background: var(--ocm-mist) !important;
  color: var(--ocm-ink) !important;
}
.ocm-category-card:hover {
  box-shadow: 0 24px 70px rgba(184,149,109,.18) !important;
}
.ocm-soft-section,
.ocm-process-section {
  background:
    linear-gradient(180deg, rgba(223,243,242,.46), rgba(255,249,243,.78)) !important;
  border-block-color: rgba(28,23,20,.08) !important;
}
.ocm-product-placeholder {
  background:
    linear-gradient(135deg, rgba(28,23,20,.58), rgba(184,149,109,.24)),
    url('../images/ocamafeu-acervo-vintage.jpg') center / cover !important;
}
.ocm-product-group {
  background: rgba(255,249,243,.95) !important;
  color: var(--ocm-coffee) !important;
}
.ocm-price-prefix {
  color: rgba(28,23,20,.56) !important;
}
.ocm-cta-band {
  background:
    radial-gradient(circle at 86% 16%, rgba(255,249,243,.24), transparent 30%),
    linear-gradient(135deg, var(--ocm-ink), var(--ocm-coffee)) !important;
  box-shadow: 0 26px 78px rgba(28,23,20,.18) !important;
}
.ocm-cta-band h2 { color: #fff !important; }
.ocm-cta-band .ocm-section-kicker,
.ocm-cta-band p { color: rgba(255,255,255,.78) !important; }
.ocm-cta-band .ocm-button-light,
.ocm-cta-band .ocm-button-primary {
  background: var(--ocm-ivory) !important;
  color: var(--ocm-ink) !important;
}
.ocm-site-footer.ocm-footer-v5 {
  background:
    radial-gradient(circle at 9% 0%, rgba(223,243,242,.92), transparent 34%),
    radial-gradient(circle at 94% 8%, rgba(243,165,154,.16), transparent 26%),
    linear-gradient(180deg, var(--ocm-ivory) 0%, var(--ocm-champagne) 100%) !important;
  color: var(--ocm-ink) !important;
  border-top-color: rgba(28,23,20,.08) !important;
}
.ocm-footer-cta-card {
  background:
    radial-gradient(circle at 92% 9%, rgba(243,165,154,.20), transparent 29%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(223,243,242,.72)) !important;
  border-color: rgba(28,23,20,.09) !important;
}
.ocm-footer-v5 .ocm-footer-grid > div {
  background: rgba(255,249,243,.74) !important;
  border-color: rgba(28,23,20,.08) !important;
}
.ocm-footer-menu a::before {
  color: var(--ocm-antique-gold) !important;
}
.woocommerce table.shop_table th,
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment,
.ocm-support-note,
.single-product .ocm-booking-intro {
  background: rgba(255,249,243,.86) !important;
}
.single-product .wc-bookings-booking-form {
  background:
    linear-gradient(135deg, rgba(255,249,243,.96), rgba(255,244,238,.94)) !important;
  border-color: rgba(243,165,154,.30) !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker-header {
  background: var(--ocm-ink) !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker th {
  background: var(--ocm-ivory) !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker td.bookable a,
.single-product .wc-bookings-date-picker .ui-datepicker td.partial_booked a {
  background: var(--ocm-blush-soft) !important;
  color: var(--ocm-ink) !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker td.bookable a:hover,
.single-product .wc-bookings-date-picker .ui-datepicker td.partial_booked a:hover,
.single-product .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a,
.single-product .wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
  background: var(--ocm-blush) !important;
  color: #fff !important;
}
.single-product .ocm-calendar-legend .is-available { background: var(--ocm-blush-soft) !important; }
.single-product .ocm-calendar-legend .is-selected { background: var(--ocm-blush) !important; }
.single-product .ocm-calendar-legend .is-unavailable { background: #eee5dc !important; }

/* ===============================
   v10 - Paleta editorial O Camafeu
   Nome conceitual: Camafeu Antique Editorial
   Direção: joia camafeu, porcelana antiga, prata oxidada, madeira nobre e ouro envelhecido.
   Substitui o visual pastel/coral/azulado por uma identidade mais madura, clássica e sofisticada.
   =============================== */
:root {
  --ocm-porcelain: #FFF9EE;
  --ocm-paper: #FFF9EE;
  --ocm-linen: #F1E8D6;
  --ocm-linen-deep: #D7C3A8;
  --ocm-antique-gold: #D9B45F;
  --ocm-antique-gold-soft: #D8BC8E;
  --ocm-bronze: #B9925A;
  --ocm-old-silver: #D8CBB1;
  --ocm-olive: #6B8661;
  --ocm-walnut: #7A563D;
  --ocm-espresso: #42583D;
  --ocm-ink: #4A3329;
  --ocm-bordeaux: #58322D;
  --ocm-bg: var(--ocm-porcelain);
  --ocm-surface: rgba(255, 252, 246, .94);
  --ocm-surface-2: var(--ocm-linen);
  --ocm-text: var(--ocm-espresso);
  --ocm-muted: #75685B;
  --ocm-border: rgba(32, 23, 19, .13);
  --ocm-primary: var(--ocm-espresso);
  --ocm-primary-2: var(--ocm-antique-gold);
  --ocm-accent: var(--ocm-antique-gold);
  --ocm-blue: var(--ocm-old-silver);
  --ocm-cream: var(--ocm-paper);
  --ocm-shadow: 0 26px 76px rgba(32, 23, 19, .13);
}
body.ocm-theme {
  background:
    radial-gradient(circle at 6% 8%, rgba(216,188,142,.24), transparent 27%),
    radial-gradient(circle at 92% 4%, rgba(169,164,156,.18), transparent 26%),
    radial-gradient(circle at 78% 80%, rgba(105,113,92,.10), transparent 31%),
    linear-gradient(180deg, var(--ocm-paper) 0%, var(--ocm-porcelain) 46%, #EFE4D4 100%) !important;
  color: var(--ocm-text) !important;
}
.ocm-site-header {
  background: rgba(255, 252, 246, .92) !important;
  border-bottom: 1px solid rgba(167,119,59,.18) !important;
  box-shadow: 0 12px 34px rgba(32,23,19,.05) !important;
}
.ocm-brand-logo {
  background: var(--ocm-paper) !important;
  border-color: rgba(167,119,59,.28) !important;
}
.ocm-brand-text strong,
.ocm-hero h1,
.ocm-page-hero h1,
.ocm-shop-hero h1,
.ocm-section-head h2,
.ocm-product-process h2,
.woocommerce div.product .product_title,
.ocm-story-card h2,
.ocm-footer-title {
  color: var(--ocm-ink) !important;
}
.ocm-brand-text small,
.ocm-menu a,
.ocm-hero p,
.ocm-section-head p,
.ocm-story-card p,
.ocm-product-info p,
.ocm-footer-v5 p {
  color: var(--ocm-muted) !important;
}
.ocm-eyebrow,
.ocm-section-kicker {
  color: var(--ocm-antique-gold) !important;
}
.ocm-link-arrow,
.ocm-ig-link,
.ocm-footer-link,
.ocm-site-footer a {
  color: var(--ocm-antique-gold) !important;
}
.ocm-link-arrow:hover,
.ocm-ig-link:hover,
.ocm-footer-link:hover,
.ocm-site-footer a:hover {
  color: var(--ocm-bordeaux) !important;
}
.ocm-menu a:hover,
.ocm-menu .current-menu-item > a {
  background: var(--ocm-paper) !important;
  color: var(--ocm-espresso) !important;
  box-shadow: 0 10px 30px rgba(32,23,19,.08) !important;
}
.ocm-hero,
.ocm-page-hero,
.ocm-shop-hero {
  background:
    radial-gradient(circle at 9% 20%, rgba(216,188,142,.30), transparent 33%),
    radial-gradient(circle at 84% 16%, rgba(169,164,156,.19), transparent 30%),
    linear-gradient(180deg, var(--ocm-paper) 0%, var(--ocm-porcelain) 57%, #F0E3D1 100%) !important;
}
.ocm-hero::before {
  background: linear-gradient(180deg, rgba(167,119,59,.07), rgba(255,252,246,0)) !important;
}
.ocm-hero-photo,
.ocm-story-media {
  border-color: rgba(255,252,246,.82) !important;
  box-shadow: 0 32px 88px rgba(32,23,19,.17) !important;
}
.ocm-hero-photo::after {
  background: linear-gradient(180deg, rgba(20,16,14,.02), rgba(32,23,19,.18)) !important;
}
.ocm-hero-floating-card,
.ocm-category-card,
.ocm-story-card,
.ocm-product-card,
.woocommerce ul.products li.product,
.ocm-filter-panel,
.ocm-shop-search,
.ocm-page-content,
.woocommerce div.product div.summary,
.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation,
.cart_totals,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon {
  background: rgba(255,252,246,.91) !important;
  border-color: rgba(167,119,59,.17) !important;
  box-shadow: 0 22px 62px rgba(32,23,19,.09) !important;
}
.ocm-hero-stats div,
.ocm-story-list div,
.ocm-filter-buttons button,
.ocm-cart-link,
.ocm-button-ghost,
.ocm-button-light,
.woocommerce table.shop_table,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-bookings-booking-cost {
  background: rgba(255,252,246,.90) !important;
  border-color: rgba(167,119,59,.16) !important;
}
.ocm-header-cta,
.ocm-button-dark,
.ocm-button-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.ocm-card-button,
.ocm-shop-search button,
.single-product .wc-bookings-booking-form-button,
.single-product button.single_add_to_cart_button {
  background: var(--ocm-espresso) !important;
  color: var(--ocm-paper) !important;
  border-color: var(--ocm-espresso) !important;
  box-shadow: 0 16px 38px rgba(32,23,19,.20) !important;
}
.ocm-header-cta:hover,
.ocm-button-dark:hover,
.ocm-button-primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover,
.ocm-card-button:hover,
.ocm-shop-search button:hover,
.single-product .wc-bookings-booking-form-button:hover,
.single-product button.single_add_to_cart_button:hover {
  background: var(--ocm-antique-gold) !important;
  color: var(--ocm-ink) !important;
  border-color: var(--ocm-antique-gold) !important;
}
.ocm-cart-link strong,
.ocm-filter-buttons button.is-active,
.ocm-filter-buttons button:hover,
.woocommerce-pagination .current,
.ocm-pagination .current {
  background: var(--ocm-antique-gold) !important;
  color: var(--ocm-ink) !important;
  border-color: var(--ocm-antique-gold) !important;
}
.ocm-button-ghost:hover,
.ocm-button-light:hover {
  background: var(--ocm-linen) !important;
  color: var(--ocm-espresso) !important;
}
.ocm-category-card span,
.ocm-product-badges span,
.ocm-steps article span {
  background: linear-gradient(135deg, var(--ocm-linen), var(--ocm-antique-gold-soft)) !important;
  color: var(--ocm-espresso) !important;
}
.ocm-category-card:hover,
.woocommerce ul.products li.product:hover,
.ocm-product-card:hover {
  box-shadow: 0 26px 72px rgba(167,119,59,.20) !important;
  border-color: rgba(167,119,59,.32) !important;
}
.ocm-soft-section,
.ocm-process-section {
  background:
    linear-gradient(180deg, rgba(232,220,203,.52), rgba(255,252,246,.76)) !important;
  border-block-color: rgba(167,119,59,.14) !important;
}
.ocm-product-placeholder {
  background:
    linear-gradient(135deg, rgba(32,23,19,.74), rgba(125,96,59,.44)),
    url('../images/ocamafeu-acervo-vintage.jpg') center / cover !important;
}
.ocm-product-placeholder span {
  background: rgba(249,243,233,.18) !important;
  border-color: rgba(216,188,142,.42) !important;
  color: var(--ocm-paper) !important;
}
.ocm-product-group {
  background: rgba(255,252,246,.95) !important;
  color: var(--ocm-espresso) !important;
  border: 1px solid rgba(167,119,59,.18) !important;
}
.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ocm-bronze) !important;
}
.ocm-price-prefix {
  color: rgba(32,23,19,.58) !important;
}
.ocm-cta-band {
  background:
    radial-gradient(circle at 84% 12%, rgba(216,188,142,.24), transparent 31%),
    linear-gradient(135deg, var(--ocm-ink) 0%, var(--ocm-walnut) 72%, #6C4E30 100%) !important;
  box-shadow: 0 28px 82px rgba(32,23,19,.24) !important;
  border: 1px solid rgba(216,188,142,.18) !important;
}
.ocm-cta-band h2 { color: var(--ocm-paper) !important; }
.ocm-cta-band .ocm-section-kicker { color: var(--ocm-antique-gold-soft) !important; }
.ocm-cta-band p { color: rgba(255,252,246,.76) !important; }
.ocm-cta-band .ocm-button-light,
.ocm-cta-band .ocm-button-primary {
  background: var(--ocm-paper) !important;
  color: var(--ocm-espresso) !important;
  border-color: var(--ocm-paper) !important;
}
.ocm-site-footer.ocm-footer-v5 {
  background:
    radial-gradient(circle at 8% 0%, rgba(216,188,142,.15), transparent 32%),
    radial-gradient(circle at 90% 10%, rgba(169,164,156,.10), transparent 28%),
    linear-gradient(135deg, #4A3329 0%, #261A15 54%, #3B281F 100%) !important;
  color: rgba(255,252,246,.78) !important;
  border-top: 1px solid rgba(216,188,142,.22) !important;
}
.ocm-site-footer.ocm-footer-v5 h2,
.ocm-site-footer.ocm-footer-v5 .ocm-brand-text strong,
.ocm-site-footer.ocm-footer-v5 .ocm-footer-title {
  color: var(--ocm-paper) !important;
}
.ocm-site-footer.ocm-footer-v5 p,
.ocm-site-footer.ocm-footer-v5 .ocm-brand-text small,
.ocm-footer-bottom {
  color: rgba(255,252,246,.68) !important;
}
.ocm-footer-cta-card {
  background:
    radial-gradient(circle at 92% 9%, rgba(216,188,142,.18), transparent 30%),
    linear-gradient(135deg, rgba(255,252,246,.08), rgba(255,252,246,.03)) !important;
  border-color: rgba(216,188,142,.20) !important;
}
.ocm-footer-v5 .ocm-footer-grid > div {
  background: rgba(255,252,246,.055) !important;
  border-color: rgba(216,188,142,.16) !important;
}
.ocm-footer-menu a::before {
  color: var(--ocm-antique-gold-soft) !important;
}
.ocm-footer-bottom {
  border-top-color: rgba(216,188,142,.18) !important;
}
.woocommerce table.shop_table th,
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment,
.ocm-support-note,
.single-product .ocm-booking-intro {
  background: rgba(249,243,233,.82) !important;
}
.single-product .wc-bookings-booking-form {
  background:
    linear-gradient(135deg, rgba(255,252,246,.97), rgba(232,220,203,.78)) !important;
  border-color: rgba(167,119,59,.28) !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker-header {
  background: var(--ocm-espresso) !important;
  color: var(--ocm-paper) !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker th {
  background: var(--ocm-porcelain) !important;
  color: var(--ocm-muted) !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker td.bookable a,
.single-product .wc-bookings-date-picker .ui-datepicker td.partial_booked a {
  background: #EFE1CA !important;
  color: var(--ocm-espresso) !important;
  border-color: rgba(167,119,59,.24) !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker td.bookable a:hover,
.single-product .wc-bookings-date-picker .ui-datepicker td.partial_booked a:hover,
.single-product .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a,
.single-product .wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
  background: var(--ocm-antique-gold) !important;
  color: var(--ocm-ink) !important;
}
.single-product .wc-bookings-date-picker .ui-datepicker td.not_bookable,
.single-product .wc-bookings-date-picker .ui-datepicker td.not_bookable span {
  background: #DDD7CE !important;
  color: rgba(32,23,19,.42) !important;
}
.single-product .ocm-calendar-legend .is-available { background: #EFE1CA !important; }
.single-product .ocm-calendar-legend .is-selected { background: var(--ocm-antique-gold) !important; }
.single-product .ocm-calendar-legend .is-unavailable { background: #DDD7CE !important; }



/* =========================================================
   O Camafeu v11 — Paleta oficial aprovada
   Verde Sálvia #6B8661 | Creme #F1E8D6 | Dourado #D9B45F
   Marrom Café #7A563D | Bege #D8CBB1 | Verde Escuro #42583D
   Nude Dourado #B9925A | Off White #FFF9EE
   ========================================================= */

html { scroll-behavior: smooth; }
body {
  background:
    radial-gradient(circle at 0% 16%, rgba(107,134,97,.16), transparent 28%),
    radial-gradient(circle at 96% 12%, rgba(217,180,95,.18), transparent 25%),
    var(--ocm-offwhite) !important;
  color: var(--ocm-text) !important;
}
body, button, input, select, textarea { font-family: var(--ocm-sans); }
h1, h2, h3, h4, .ocm-brand-text strong,
.ocm-section-head h2, .ocm-product-process h2, .ocm-cta-band h2 {
  font-family: var(--ocm-serif) !important;
  color: var(--ocm-heading) !important;
}
a { color: var(--ocm-primary); }
a:hover { color: var(--ocm-accent-2); }

.ocm-container {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.ocm-site-header,
.ocm-v11-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,249,238,.94) !important;
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(185,146,90,.25) !important;
  box-shadow: 0 12px 38px rgba(74,51,41,.06);
}
.admin-bar .ocm-site-header { top: 32px; }
.ocm-header-inner {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.ocm-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--ocm-heading) !important;
  text-decoration: none;
}
.ocm-brand-logo {
  width: 72px;
  height: 72px;
  border: 1px solid rgba(217,180,95,.45);
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: #FFF9EE;
  box-shadow: 0 16px 32px rgba(66,88,61,.12);
  overflow: hidden;
}
.ocm-brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ocm-brand-text strong {
  display: block;
  font-size: 1.45rem;
  line-height: .95;
  letter-spacing: .01em;
}
.ocm-brand-text small {
  display: block;
  margin-top: 4px;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--ocm-muted);
}
.ocm-menu, .ocm-main-nav ul {
  display: flex;
  gap: 28px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ocm-main-nav a {
  color: var(--ocm-text) !important;
  font-weight: 700;
  text-decoration: none;
  position: relative;
}
.ocm-main-nav a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-10px;
  height:1px;
  background: var(--ocm-accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}
.ocm-main-nav a:hover::after,
.ocm-main-nav .current-menu-item > a::after { transform: scaleX(1); }
.ocm-header-actions {
  display:flex;
  align-items:center;
  gap:12px;
}
.ocm-cart-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: #FFF9EE !important;
  border: 1px solid rgba(122,86,61,.17) !important;
  color: var(--ocm-heading) !important;
  border-radius: 999px;
  padding: 12px 16px;
  box-shadow: 0 14px 34px rgba(74,51,41,.08);
  text-decoration: none;
  font-weight: 800;
}
.ocm-cart-link strong {
  width: 24px; height: 24px; display: grid; place-items:center;
  background: var(--ocm-primary); color:#FFF9EE; border-radius: 50%;
  font-size: .78rem;
}
.ocm-header-cta,
.ocm-button,
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-bookings-booking-form-button {
  border-radius: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ocm-header-cta,
.ocm-button-dark,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-bookings-booking-form-button {
  background: linear-gradient(135deg, #6B8661, #42583D) !important;
  color: #FFF9EE !important;
  border: 1px solid rgba(66,88,61,.28) !important;
  box-shadow: 0 16px 34px rgba(66,88,61,.25);
}
.ocm-header-cta {
  padding: 14px 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.ocm-header-cta::before,
.ocm-button-dark::before,
.ocm-v11-catalog-link::after {
  content: "☙";
  font-weight: 400;
  margin-right: 8px;
  color: #F1E8D6;
}
.ocm-button:hover,
.ocm-header-cta:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(66,88,61,.28);
}
.ocm-button-light {
  background: rgba(255,249,238,.72) !important;
  color: var(--ocm-heading) !important;
  border: 1px solid rgba(185,146,90,.65) !important;
  box-shadow: none !important;
}

/* Home v11 */
.ocm-v11-hero {
  position: relative;
  overflow: hidden;
  padding: 96px 0 74px;
  background:
    linear-gradient(90deg, rgba(255,249,238,.98) 0%, rgba(255,249,238,.94) 36%, rgba(255,249,238,.22) 57%, rgba(241,232,214,.08) 100%),
    radial-gradient(circle at 12% 8%, rgba(107,134,97,.16), transparent 26%),
    var(--ocm-offwhite);
  border-bottom: 1px solid rgba(185,146,90,.28);
}
.ocm-v11-hero::before,
.ocm-v11-hero::after,
.ocm-v11-footer::before,
.ocm-v11-footer::after {
  content:"";
  position:absolute;
  width: 118px;
  height: 118px;
  opacity:.42;
  pointer-events:none;
  background:
    radial-gradient(circle, transparent 42%, rgba(217,180,95,.45) 43%, transparent 45%),
    linear-gradient(45deg, transparent 48%, rgba(217,180,95,.55) 49%, rgba(217,180,95,.55) 51%, transparent 52%);
}
.ocm-v11-hero::before { left: 20px; top: 18px; transform: rotate(45deg); }
.ocm-v11-hero::after { right: 20px; top: 18px; transform: rotate(135deg); }
.ocm-v11-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(460px, 1.06fr);
  gap: 64px;
  align-items: center;
}
.ocm-v11-kicker,
.ocm-v11-section-title span,
.ocm-eyebrow,
.ocm-section-kicker {
  color: var(--ocm-primary) !important;
  text-transform: uppercase;
  letter-spacing: .24em;
  font-weight: 800;
  font-size: .78rem;
}
.ocm-v11-kicker::before,
.ocm-v11-section-title span::before {
  content:"";
  width: 56px;
  height: 1px;
  background: var(--ocm-accent);
  display:inline-block;
  vertical-align: middle;
  margin-right: 12px;
}
.ocm-v11-hero h1 {
  margin: 24px 0 20px;
  font-size: clamp(3.3rem, 7vw, 6.6rem);
  line-height: .89;
  letter-spacing: -.055em;
  max-width: 770px;
}
.ocm-v11-divider {
  width: 265px;
  height: 22px;
  margin: 12px 0 18px;
  background:
    linear-gradient(90deg, transparent, var(--ocm-accent), transparent) center/100% 1px no-repeat;
  position: relative;
}
.ocm-v11-divider::after {
  content: "✦";
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-50%,-50%);
  color: var(--ocm-accent);
  background: var(--ocm-offwhite);
  padding: 0 10px;
}
.ocm-v11-subtitle {
  color: var(--ocm-primary) !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 800;
}
.ocm-v11-hero-copy > p:not(.ocm-v11-subtitle) {
  max-width: 620px;
  color: var(--ocm-text);
  font-size: 1.1rem;
  line-height: 1.8;
}
.ocm-v11-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top: 28px; }
.ocm-v11-actions .ocm-button,
.ocm-button {
  min-height: 52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 0 24px;
}
.ocm-v11-hero-media {
  position: relative;
  min-height: 500px;
  border-radius: 34px;
  overflow: visible;
}
.ocm-v11-hero-media > img {
  width: 100%;
  height: 560px;
  display:block;
  object-fit: cover;
  border-radius: 34px;
  border: 1px solid rgba(217,180,95,.38);
  box-shadow: 0 30px 80px rgba(74,51,41,.22);
  filter: saturate(.94) sepia(.08);
}
.ocm-v11-floating-card {
  position:absolute;
  left: -40px;
  bottom: -34px;
  width: min(360px, calc(100% - 30px));
  background: rgba(255,249,238,.95);
  border: 1px solid rgba(185,146,90,.35);
  box-shadow: 0 26px 80px rgba(74,51,41,.18);
  border-radius: 24px;
  padding: 24px;
}
.ocm-v11-floating-card img {
  width: 66px;
  height: 52px;
  object-fit: cover;
  border-radius: 12px;
  display:block;
  margin-bottom: 14px;
}
.ocm-v11-floating-card strong {
  display:block;
  font-family: var(--ocm-serif);
  color: var(--ocm-heading);
  font-size: 1.5rem;
  line-height: 1.05;
}
.ocm-v11-floating-card span {
  display:block;
  color: var(--ocm-muted);
  line-height: 1.65;
  margin: 12px 0;
}
.ocm-v11-floating-card a {
  font-weight: 900;
  color: var(--ocm-accent-2);
}

.ocm-v11-categories-section {
  padding: 72px 0 48px;
  background:
    linear-gradient(180deg, #FFF9EE, #F1E8D6 65%, #FFF9EE);
}
.ocm-v11-two-col {
  display:grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 52px;
  align-items:start;
}
.ocm-v11-section-title {
  text-align:center;
  margin-bottom: 24px;
}
.ocm-v11-section-title h2 {
  font-size: clamp(2.1rem, 4vw, 3.4rem);
  line-height: 1;
  margin: 16px auto 0;
  max-width: 760px;
}
.ocm-v11-category-grid {
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.ocm-v11-category-card,
.ocm-category-card,
.ocm-product-card,
.woocommerce ul.products li.product,
.ocm-shop-filters,
.ocm-summary-card,
.ocm-product-panel,
.ocm-product-process,
.cart_totals,
.woocommerce-cart-form,
.woocommerce-checkout-review-order,
.woocommerce form.checkout,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation {
  background: rgba(255,249,238,.86) !important;
  border: 1px solid rgba(185,146,90,.28) !important;
  box-shadow: 0 16px 50px rgba(74,51,41,.08) !important;
}
.ocm-v11-category-card {
  min-height: 168px;
  padding: 20px 14px;
  border-radius: 18px;
  display:flex;
  flex-direction: column;
  justify-content: center;
  align-items:center;
  text-align:center;
  color: var(--ocm-heading) !important;
  text-decoration:none;
  transition: transform .18s ease, box-shadow .18s ease;
  position: relative;
  overflow:hidden;
}
.ocm-v11-category-card::before {
  content:"";
  position:absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, var(--ocm-primary), var(--ocm-accent), var(--ocm-primary-2));
  opacity:.85;
}
.ocm-v11-category-card:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(74,51,41,.13) !important; }
.ocm-v11-category-image {
  width: 58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border: 1px solid rgba(217,180,95,.52);
  background: linear-gradient(180deg, #FFF9EE, #F1E8D6);
  color: var(--ocm-accent-2);
  font-size: 1.6rem;
  margin-bottom: 14px;
}
.ocm-v11-category-card strong {
  font-family: var(--ocm-serif);
  text-transform: uppercase;
  letter-spacing:.05em;
  font-size:1.05rem;
}
.ocm-v11-category-card small {
  display:block;
  color: var(--ocm-muted);
  font-size:.78rem;
  line-height:1.45;
  margin-top:8px;
}
.ocm-v11-catalog-link {
  margin: 24px auto 0;
  min-height: 50px;
  border: 1px solid rgba(185,146,90,.75);
  border-radius: 10px;
  display: inline-flex;
  align-items:center;
  justify-content:center;
  padding: 0 30px;
  min-width: 320px;
  color: var(--ocm-heading) !important;
  text-transform: uppercase;
  letter-spacing:.04em;
  font-weight:900;
  text-decoration:none;
  background: rgba(255,249,238,.65);
  position: relative;
  left:50%;
  transform: translateX(-50%);
}
.ocm-v11-calendar-card {
  background: rgba(255,249,238,.86);
  border: 1px solid rgba(217,180,95,.52);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 20px 60px rgba(74,51,41,.12);
  position: sticky;
  top: 115px;
  color: var(--ocm-text);
}
.ocm-v11-calendar-card::before,
.ocm-v11-footer-cta::before {
  content:"";
  position:absolute;
  inset: 10px;
  border: 1px solid rgba(217,180,95,.35);
  border-radius: 18px;
  pointer-events:none;
}
.ocm-v11-calendar-card h2 {
  font-size: 1.65rem;
  text-align:center;
  margin: 6px 0 8px;
}
.ocm-v11-calendar-card p { text-align:center; color: var(--ocm-muted); }
.ocm-v11-calendar-icon {
  width:42px;height:42px;margin:0 auto 8px;display:grid;place-items:center;
  color:var(--ocm-accent-2);border:1px solid rgba(217,180,95,.45);border-radius:50%;
}
.ocm-v11-calendar {
  padding: 12px 0 18px;
}
.ocm-v11-calendar-head {
  display:flex;align-items:center;justify-content:space-between;margin: 12px 0;
  color:var(--ocm-heading);text-transform:uppercase;letter-spacing:.06em;
}
.ocm-v11-calendar-head button {
  width:36px;height:36px;border:0;background:transparent;color:var(--ocm-heading);font-size:2rem;cursor:pointer;
}
.ocm-v11-weekdays,
.ocm-v11-days {
  display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center;
}
.ocm-v11-weekdays span {
  color:var(--ocm-muted);font-size:.72rem;font-weight:900;text-transform:uppercase;
}
.ocm-v11-days span {
  min-height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--ocm-heading);
}
.ocm-v11-days .is-available { background: var(--ocm-primary-2); color:#FFF9EE; }
.ocm-v11-days .is-selected { background: var(--ocm-accent); color:#4A3329; }
.ocm-v11-days .is-unavailable { background: #F1E8D6; color:#9a8a78; }
.ocm-v11-days .is-muted { color:#B9AC98; }
.ocm-v11-calendar-legend {
  display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px 0 10px;font-size:.72rem;text-transform:uppercase;color:var(--ocm-muted);font-weight:700;
}
.ocm-v11-calendar-legend span{display:inline-flex;align-items:center;gap:6px;}
.ocm-v11-calendar-legend i{width:11px;height:11px;border-radius:50%;display:inline-block;}
.ocm-v11-calendar-legend .available{background:var(--ocm-primary-2);}
.ocm-v11-calendar-legend .selected{background:var(--ocm-accent);}
.ocm-v11-calendar-legend .unavailable{background:#F1E8D6;border:1px solid #D8CBB1;}

.ocm-v11-benefits {
  padding: 20px 0 60px;
  background: var(--ocm-offwhite);
}
.ocm-v11-benefit-grid {
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid rgba(185,146,90,.35);
  border-radius: 22px;
  background: rgba(255,249,238,.78);
  overflow:hidden;
  box-shadow: 0 14px 42px rgba(74,51,41,.07);
}
.ocm-v11-benefit {
  display:flex;gap:18px;align-items:center;padding:24px;
  border-right:1px solid rgba(185,146,90,.28);
}
.ocm-v11-benefit:last-child{border-right:0;}
.ocm-v11-benefit > span {
  flex:0 0 54px;width:54px;height:54px;border:1px solid rgba(217,180,95,.56);
  border-radius:50%;display:grid;place-items:center;color:var(--ocm-primary);font-size:1.45rem;
  background:#FFF9EE;
}
.ocm-v11-benefit strong { display:block;color:var(--ocm-heading);font-family:var(--ocm-serif);font-size:1.22rem; }
.ocm-v11-benefit p { margin:.35rem 0 0;color:var(--ocm-muted);font-size:.9rem;line-height:1.45; }

.ocm-v11-process {
  padding: 0 0 72px;
  background: var(--ocm-offwhite);
}
.ocm-v11-process-card {
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(107,134,97,.10), rgba(217,180,95,.10)), #FFF9EE;
  border: 1px solid rgba(185,146,90,.30);
  box-shadow: 0 18px 54px rgba(74,51,41,.08);
  padding: 36px;
  display:grid;
  grid-template-columns: minmax(0,1fr) 380px;
  gap: 32px;
  align-items:center;
}
.ocm-v11-process-card h2 { font-size: clamp(2rem,3vw,3rem); line-height:1; margin:12px 0; }
.ocm-v11-process-card p { color:var(--ocm-muted); line-height:1.75; margin:0; }
.ocm-v11-process-steps { display:grid; gap:12px; }
.ocm-v11-process-steps span {
  border-radius: 14px;
  background: rgba(255,249,238,.74);
  border: 1px solid rgba(185,146,90,.26);
  padding: 14px 16px;
  color:var(--ocm-heading);
  font-weight:800;
}

/* Footer v11 */
.ocm-site-footer,
.ocm-v11-footer {
  position:relative;
  background: linear-gradient(180deg, #FFF9EE, #F1E8D6) !important;
  color: var(--ocm-text) !important;
  border-top: 1px solid rgba(185,146,90,.35) !important;
  padding: 58px 0 24px !important;
}
.ocm-v11-footer::before { left:20px; bottom: 20px; transform: rotate(-45deg); }
.ocm-v11-footer::after { right:20px; bottom:20px; transform: rotate(-135deg); }
.ocm-v11-footer-grid {
  display:grid;
  grid-template-columns: 1.1fr .75fr 1fr 1.1fr;
  gap: 42px;
  align-items:start;
}
.ocm-v11-footer .ocm-brand-logo { width: 88px; height: 82px; border-radius: 18px; }
.ocm-v11-footer-brand p {
  color: var(--ocm-muted);
  line-height:1.7;
  max-width: 300px;
}
.ocm-v11-social a {
  display:inline-flex; align-items:center; justify-content:center;
  min-height: 36px; padding: 0 12px; border:1px solid rgba(185,146,90,.35); border-radius:999px;
  color:var(--ocm-primary) !important; text-decoration:none; font-weight:800;
}
.ocm-footer-col h3,
.ocm-v11-footer-cta h3 {
  font-family: var(--ocm-serif);
  color: var(--ocm-heading) !important;
  font-size: 1.65rem;
  margin: 0 0 14px;
}
.ocm-footer-col a,
.ocm-footer-col span {
  display:block;
  color: var(--ocm-muted) !important;
  text-decoration:none;
  margin: 9px 0;
  line-height:1.45;
}
.ocm-footer-col a:hover { color: var(--ocm-primary) !important; }
.ocm-v11-footer-cta {
  position:relative;
  background: rgba(255,249,238,.68);
  border:1px solid rgba(217,180,95,.48);
  border-radius: 22px;
  padding: 28px;
  text-align:center;
  box-shadow: 0 14px 46px rgba(74,51,41,.08);
}
.ocm-v11-footer-cta p { color: var(--ocm-muted); line-height:1.65; }
.ocm-footer-bottom {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(185,146,90,.28);
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:var(--ocm-muted);
  font-size:.88rem;
}

/* Catálogo/produtos v11 */
.ocm-page-hero,
.ocm-shop-hero,
.ocm-product-hero {
  background:
    radial-gradient(circle at 0 10%, rgba(107,134,97,.15), transparent 25%),
    linear-gradient(180deg, #FFF9EE, #F1E8D6) !important;
  border-bottom: 1px solid rgba(185,146,90,.28) !important;
}
.ocm-product-card {
  border-radius: 20px !important;
  overflow: hidden;
}
.ocm-product-media,
.ocm-product-placeholder {
  background:
    linear-gradient(135deg, rgba(66,88,61,.72), rgba(122,86,61,.55)),
    url('../images/ocamafeu-acervo-vintage.jpg') center/cover !important;
}
.ocm-product-group {
  background: rgba(255,249,238,.92) !important;
  color: var(--ocm-heading) !important;
  border: 1px solid rgba(217,180,95,.4) !important;
}
.price,
.woocommerce-Price-amount {
  color: var(--ocm-primary) !important;
  font-weight: 900;
}
.ocm-filter-pill,
.woocommerce-ordering select,
.ocm-shop-search input,
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea, select {
  border: 1px solid rgba(185,146,90,.35) !important;
  background: #FFF9EE !important;
  color: var(--ocm-heading) !important;
  border-radius: 12px !important;
}
.ocm-filter-pill.is-active,
.ocm-filter-pill:hover {
  background: var(--ocm-primary) !important;
  color: #FFF9EE !important;
  border-color: var(--ocm-primary) !important;
}

/* WooCommerce Bookings calendar v11 */
.wc-bookings-booking-form {
  background: #FFF9EE !important;
  border: 1px solid rgba(185,146,90,.32) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 54px rgba(74,51,41,.08);
}
.wc-bookings-booking-form label,
.wc-bookings-booking-form legend {
  color: var(--ocm-heading) !important;
  font-weight: 900 !important;
}
.wc-bookings-date-picker .ui-datepicker,
.wc-bookings-booking-form .ui-datepicker {
  background: #FFF9EE !important;
  border: 1px solid rgba(217,180,95,.45) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 52px rgba(74,51,41,.12);
  padding: 14px !important;
}
.wc-bookings-date-picker .ui-datepicker-header {
  background: transparent !important;
  color: var(--ocm-heading) !important;
  border: 0 !important;
  font-family: var(--ocm-serif);
  font-size: 1.1rem;
}
.wc-bookings-date-picker .ui-datepicker th {
  color: var(--ocm-muted) !important;
  text-transform: uppercase;
  font-size: .72rem;
}
.wc-bookings-date-picker .ui-datepicker td {
  border: 0 !important;
  padding: 4px !important;
}
.wc-bookings-date-picker .ui-datepicker td a,
.wc-bookings-date-picker .ui-datepicker td span {
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 0 !important;
  text-align:center !important;
  font-weight: 800 !important;
}
.wc-bookings-date-picker .ui-datepicker td.bookable a,
.wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a {
  background: var(--ocm-primary-2) !important;
  color: #FFF9EE !important;
}
.wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a,
.wc-bookings-date-picker .ui-datepicker td.partial_booked a {
  background: var(--ocm-accent) !important;
  color: #4A3329 !important;
}
.wc-bookings-date-picker .ui-datepicker td.fully_booked span,
.wc-bookings-date-picker .ui-datepicker td.not_bookable span,
.wc-bookings-date-picker .ui-datepicker td.ui-datepicker-unselectable span {
  background: #F1E8D6 !important;
  color: #a18f7b !important;
}
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next {
  border-radius: 50% !important;
  background: rgba(107,134,97,.10) !important;
  border: 1px solid rgba(107,134,97,.18) !important;
}
.ocm-booking-legend,
.ocm-calendar-legend {
  background: rgba(255,249,238,.75) !important;
  border: 1px solid rgba(185,146,90,.26) !important;
}

/* Responsivo */
@media (max-width: 1080px) {
  .ocm-v11-hero-grid,
  .ocm-v11-two-col,
  .ocm-v11-process-card,
  .ocm-v11-footer-grid {
    grid-template-columns: 1fr;
  }
  .ocm-v11-calendar-card { position: relative; top: auto; }
  .ocm-v11-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ocm-v11-benefit-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ocm-v11-hero-media > img { height: 430px; }
  .ocm-v11-floating-card { left: 20px; }
}
@media (max-width: 782px) {
  .admin-bar .ocm-site-header { top: 46px; }
  .ocm-header-inner { min-height: 76px; }
  .ocm-brand-logo { width: 58px; height: 58px; border-radius: 16px; }
  .ocm-brand-text strong { font-size: 1.2rem; }
  .ocm-brand-text small { font-size: .58rem; letter-spacing:.14em; }
  .ocm-main-nav {
    display: none;
    position: absolute;
    left: 20px;
    right: 20px;
    top: calc(100% + 8px);
    background: #FFF9EE;
    border: 1px solid rgba(185,146,90,.35);
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(74,51,41,.16);
    padding: 18px;
  }
  .ocm-main-nav.is-open { display:block; }
  .ocm-menu, .ocm-main-nav ul { display:grid; gap:12px; }
  .ocm-menu-toggle { display:inline-flex !important; }
  .ocm-header-actions .ocm-cart-link span,
  .ocm-header-cta { display:none; }
  .ocm-v11-hero { padding: 54px 0 48px; }
  .ocm-v11-hero h1 { font-size: clamp(2.8rem, 14vw, 4.4rem); }
  .ocm-v11-hero-media > img { height: 320px; }
  .ocm-v11-floating-card { position: relative; left:auto; bottom:auto; margin: -40px 18px 0; width:auto; }
  .ocm-v11-category-grid,
  .ocm-v11-benefit-grid { grid-template-columns: 1fr; }
  .ocm-v11-benefit { border-right:0; border-bottom:1px solid rgba(185,146,90,.25); }
  .ocm-v11-footer-grid { gap: 28px; }
  .ocm-footer-bottom { flex-direction:column; }
}

/* =========================================================
   O Camafeu v12 — revisão responsiva e ajustes pós-análise
   Paleta oficial: verde sálvia, creme, dourado envelhecido,
   marrom café, bege areia, verde escuro, nude dourado e off-white.
   ========================================================= */
:root {
  --ocm-green: #6B8661;
  --ocm-cream: #F1E8D6;
  --ocm-gold: #D9B45F;
  --ocm-brown: #7A563D;
  --ocm-beige: #D8CBB1;
  --ocm-deep-green: #42583D;
  --ocm-nude-gold: #B9925A;
  --ocm-offwhite: #FFF9EE;
  --ocm-primary: #6B8661;
  --ocm-secondary: #D9B45F;
  --ocm-accent: #D9B45F;
  --ocm-accent-2: #B9925A;
  --ocm-heading: #7A563D;
  --ocm-text: #4E3A2D;
  --ocm-muted: #7E6F62;
  --ocm-surface: #FFF9EE;
  --ocm-surface-2: #F1E8D6;
  --ocm-border: rgba(122, 86, 61, .20);
  --ocm-shadow: 0 24px 70px rgba(66, 88, 61, .14);
}

html,
body.ocm-theme { overflow-x: hidden; }
body.ocm-theme {
  background:
    radial-gradient(circle at 4% 12%, rgba(107,134,97,.17), transparent 26%),
    radial-gradient(circle at 96% 8%, rgba(217,180,95,.15), transparent 25%),
    linear-gradient(180deg, #FFF9EE 0%, #F1E8D6 100%) !important;
}

.ocm-site-header,
.ocm-v11-header {
  background: rgba(255,249,238,.96) !important;
  border-bottom: 1px solid rgba(122,86,61,.16) !important;
  box-shadow: 0 10px 34px rgba(66,88,61,.10) !important;
}
.ocm-header-inner {
  display: grid !important;
  grid-template-columns: minmax(220px, auto) 1fr auto;
  align-items: center;
  gap: clamp(12px, 2vw, 28px);
}
.ocm-brand {
  min-width: 0;
  text-decoration: none !important;
}
.ocm-brand-logo {
  background: #FFF9EE !important;
  border-color: rgba(217,180,95,.45) !important;
}
.ocm-brand-text strong { color: var(--ocm-heading) !important; }
.ocm-brand-text small { color: var(--ocm-muted) !important; }
.ocm-main-nav { justify-self: center; }
.ocm-main-nav a {
  color: var(--ocm-brown) !important;
  white-space: nowrap;
}
.ocm-main-nav a:hover,
.ocm-main-nav .current-menu-item > a { color: var(--ocm-deep-green) !important; }
.ocm-cart-link,
.ocm-header-cta,
.ocm-button-dark,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  min-height: 46px;
  align-items: center;
  justify-content: center;
}
.ocm-header-cta,
.ocm-button-dark,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.single-product .wc-bookings-booking-form-button,
.wc-bookings-booking-form-button {
  background: var(--ocm-deep-green) !important;
  color: #FFF9EE !important;
  border-color: var(--ocm-deep-green) !important;
  box-shadow: 0 14px 30px rgba(66,88,61,.22) !important;
}
.ocm-header-cta:hover,
.ocm-button-dark:hover,
.single-product .wc-bookings-booking-form-button:hover,
.wc-bookings-booking-form-button:hover {
  background: var(--ocm-green) !important;
  border-color: var(--ocm-green) !important;
}
.ocm-button-light,
.woocommerce a.button:not(.alt) {
  background: #FFF9EE !important;
  color: var(--ocm-brown) !important;
  border: 1px solid rgba(217,180,95,.55) !important;
}

/* Home */
.ocm-v11-hero,
.ocm-shop-hero,
.ocm-page-hero {
  background:
    radial-gradient(circle at 0 18%, rgba(107,134,97,.18), transparent 30%),
    radial-gradient(circle at 100% 8%, rgba(217,180,95,.18), transparent 28%),
    linear-gradient(135deg, #FFF9EE 0%, #F1E8D6 100%) !important;
}
.ocm-v11-kicker,
.ocm-section-kicker,
.ocm-v11-section-title span {
  color: var(--ocm-green) !important;
  letter-spacing: .18em;
}
.ocm-v11-divider { background: linear-gradient(90deg, transparent, var(--ocm-gold), transparent) !important; }
.ocm-v11-category-card,
.ocm-v11-calendar-card,
.ocm-v11-benefit,
.ocm-v11-process-card,
.ocm-product-card,
.ocm-filter-panel,
.ocm-shop-search,
.ocm-content-wrap,
.single-product div.product,
.ocm-product-process article,
.ocm-cart-empty-panel {
  background: rgba(255,249,238,.92) !important;
  border-color: rgba(122,86,61,.16) !important;
  box-shadow: 0 18px 55px rgba(66,88,61,.10) !important;
}
.ocm-v11-category-card:hover,
.ocm-product-card:hover {
  border-color: rgba(217,180,95,.55) !important;
  box-shadow: 0 26px 70px rgba(66,88,61,.16) !important;
}
.ocm-v11-category-image,
.ocm-v11-calendar-icon,
.ocm-v11-benefit > span,
.ocm-cart-empty-icon {
  background: rgba(107,134,97,.12) !important;
  color: var(--ocm-deep-green) !important;
}
.ocm-v11-days .is-available,
.wc-bookings-date-picker .ui-datepicker td.bookable a,
.wc-bookings-date-picker .ui-datepicker td.bookable span {
  background: var(--ocm-green) !important;
  color: #FFF9EE !important;
}
.ocm-v11-days .is-selected,
.wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a,
.wc-bookings-date-picker .ui-datepicker td.partial_booked a,
.wc-bookings-date-picker .ui-datepicker td.bookable-range a,
.wc-bookings-date-picker .ui-datepicker td.bookable-range span {
  background: var(--ocm-gold) !important;
  color: var(--ocm-brown) !important;
}
.ocm-v11-days .is-unavailable,
.wc-bookings-date-picker .ui-datepicker td.fully_booked span,
.wc-bookings-date-picker .ui-datepicker td.not_bookable span,
.wc-bookings-date-picker .ui-datepicker td.ui-datepicker-unselectable span {
  background: rgba(216,203,177,.60) !important;
  color: rgba(78,58,45,.45) !important;
}

/* Catálogo */
.ocm-shop-hero-grid {
  align-items: end;
}
.ocm-shop-search label,
.ocm-live-search span,
.ocm-filter-panel strong { color: var(--ocm-brown) !important; }
.ocm-shop-search input,
.ocm-live-search input,
.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce select,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="search"] {
  width: 100%;
  background: #FFFCF4 !important;
  border: 1px solid rgba(122,86,61,.18) !important;
  border-radius: 15px !important;
  color: var(--ocm-text) !important;
  min-height: 46px;
}
.ocm-filter-buttons {
  align-items: center;
}
.ocm-filter-buttons button {
  min-height: 42px;
  white-space: normal;
  text-align: center;
}
.ocm-filter-buttons button.is-active,
.ocm-filter-buttons button:hover {
  background: var(--ocm-deep-green) !important;
  color: #FFF9EE !important;
  border-color: var(--ocm-deep-green) !important;
}
.ocm-product-grid.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)) !important;
  gap: clamp(16px, 2vw, 26px) !important;
  align-items: stretch;
}
.ocm-product-card {
  min-width: 0;
  overflow: hidden;
}
.ocm-product-media img,
.ocm-product-placeholder {
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto !important;
  min-height: 220px;
  object-fit: cover;
}
.ocm-product-info,
.ocm-product-bottom { min-width: 0; }
.ocm-product-bottom {
  display: grid !important;
  gap: 12px !important;
}
.ocm-price-prefix {
  display: inline-block;
  color: var(--ocm-green) !important;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-right: 4px;
}
.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--ocm-brown) !important; }
.ocm-card-button {
  width: 100%;
  text-align: center;
  background: var(--ocm-deep-green) !important;
  color: #FFF9EE !important;
  border-color: var(--ocm-deep-green) !important;
}

/* Produto/calendário */
.single-product div.product {
  overflow: hidden;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  min-width: 0;
}
.wc-bookings-booking-form {
  background: #FFF9EE !important;
  border: 1px solid rgba(122,86,61,.18) !important;
  border-radius: 24px !important;
  padding: clamp(16px, 3vw, 28px) !important;
  max-width: 100%;
}
.wc-bookings-date-picker,
.wc-bookings-date-picker .picker,
.wc-bookings-date-picker .ui-datepicker {
  max-width: 100% !important;
}
.wc-bookings-date-picker .ui-datepicker {
  width: 100% !important;
  background: #FFFCF4 !important;
  border: 1px solid rgba(122,86,61,.16) !important;
  border-radius: 20px !important;
  overflow: hidden;
}
.wc-bookings-date-picker .ui-datepicker table {
  width: 100% !important;
  table-layout: fixed;
}
.wc-bookings-date-picker .ui-datepicker td,
.wc-bookings-date-picker .ui-datepicker th {
  padding: 4px !important;
}
.wc-bookings-date-picker .ui-datepicker td a,
.wc-bookings-date-picker .ui-datepicker td span {
  width: 100% !important;
  min-height: 38px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
}
.wc-bookings-date-picker-date-fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
}
.wc-bookings-date-picker-date-fields > span,
.wc-bookings-date-picker-date-fields label,
.wc-bookings-date-picker-date-fields input,
.wc-bookings-date-picker-date-fields select {
  width: 100% !important;
  max-width: 100% !important;
}
.wc-bookings-booking-cost {
  background: rgba(241,232,214,.55) !important;
  border: 1px solid rgba(217,180,95,.38) !important;
  border-radius: 18px !important;
  color: var(--ocm-brown) !important;
}
.ocm-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 14px;
  color: var(--ocm-muted);
  font-size: .88rem;
}
.ocm-calendar-legend span { display: inline-flex; align-items: center; gap: 7px; }
.ocm-calendar-legend i { width: 11px; height: 11px; border-radius: 999px; display: inline-block; }
.ocm-calendar-legend .is-available { background: var(--ocm-green); }
.ocm-calendar-legend .is-selected { background: var(--ocm-gold); }
.ocm-calendar-legend .is-unavailable { background: var(--ocm-beige); }
.single-product .wc-bookings-booking-form-button,
.wc-bookings-booking-form-button {
  width: 100% !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  padding: 15px 22px !important;
}

/* Orçamento/carrinho/checkout */
.ocm-page-content .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  width: 100%;
}
.woocommerce table.shop_table {
  background: #FFF9EE !important;
  border: 1px solid rgba(122,86,61,.16) !important;
  border-radius: 22px !important;
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(66,88,61,.10);
}
.woocommerce table.shop_table th {
  background: rgba(241,232,214,.75) !important;
  color: var(--ocm-brown) !important;
}
.woocommerce table.shop_table td { border-color: rgba(122,86,61,.12) !important; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  background: #FFF9EE !important;
  border: 1px solid rgba(122,86,61,.16) !important;
  border-radius: 22px !important;
  padding: clamp(16px, 3vw, 26px) !important;
  box-shadow: 0 18px 55px rgba(66,88,61,.10);
}
.ocm-cart-empty-panel {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  padding: clamp(28px, 6vw, 56px);
  border-radius: 28px;
}
.ocm-cart-empty-icon {
  width: 64px;
  height: 64px;
  display: inline-grid;
  place-items: center;
  border-radius: 22px;
  margin-bottom: 16px;
  font-size: 1.45rem;
}
.ocm-cart-empty-panel h2 {
  margin: 6px 0 10px;
  font-size: clamp(2rem, 5vw, 3.2rem);
}
.ocm-cart-empty-panel p {
  max-width: 560px;
  margin: 0 auto 20px;
  color: var(--ocm-muted);
}
.ocm-cart-empty-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

/* Rodapé */
.ocm-site-footer,
.ocm-v11-footer {
  background:
    linear-gradient(135deg, rgba(66,88,61,.96), rgba(122,86,61,.97)) !important;
  color: #FFF9EE !important;
  border-top: 4px solid var(--ocm-gold);
  position: relative;
}
.ocm-site-footer::before,
.ocm-site-footer::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 1px;
  top: 42px;
  background: linear-gradient(90deg, transparent, rgba(217,180,95,.75), transparent);
}
.ocm-site-footer::before { left: 24px; }
.ocm-site-footer::after { right: 24px; }
.ocm-site-footer h3,
.ocm-site-footer .ocm-brand-text strong { color: #FFF9EE !important; }
.ocm-site-footer p,
.ocm-site-footer span,
.ocm-site-footer small { color: rgba(255,249,238,.78) !important; }
.ocm-site-footer a { color: #F1E8D6 !important; }
.ocm-site-footer a:hover { color: var(--ocm-gold) !important; }
.ocm-footer-bottom {
  border-top: 1px solid rgba(255,249,238,.16) !important;
}

@media (max-width: 1100px) {
  .ocm-header-inner {
    grid-template-columns: 1fr auto auto;
  }
  .ocm-main-nav {
    display: none;
    position: absolute;
    left: 20px;
    right: 20px;
    top: calc(100% + 10px);
    z-index: 2000;
    background: #FFF9EE !important;
    border: 1px solid rgba(122,86,61,.16) !important;
    border-radius: 22px;
    padding: 16px;
    box-shadow: 0 24px 70px rgba(66,88,61,.18);
  }
  .ocm-main-nav.is-open { display: block !important; }
  .ocm-main-nav .ocm-menu,
  .ocm-main-nav ul {
    display: grid !important;
    gap: 8px !important;
  }
  .ocm-main-nav a {
    display: flex !important;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(241,232,214,.55);
  }
  .ocm-main-nav a::after { display: none !important; }
  .ocm-menu-toggle {
    display: inline-flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(122,86,61,.16) !important;
    border-radius: 999px;
    background: #FFF9EE !important;
    box-shadow: 0 12px 26px rgba(66,88,61,.10);
  }
  .ocm-menu-toggle span {
    width: 22px;
    background: var(--ocm-brown) !important;
    transition: transform .18s ease, opacity .18s ease;
  }
  .ocm-menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .ocm-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
  .ocm-menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

@media (max-width: 860px) {
  .ocm-container { width: min(100% - 28px, 1180px) !important; }
  .ocm-header-inner {
    min-height: 72px !important;
    gap: 10px;
  }
  .ocm-brand-logo { width: 54px !important; height: 54px !important; border-radius: 16px !important; }
  .ocm-brand-text strong { font-size: 1.08rem !important; }
  .ocm-brand-text small { max-width: 150px; white-space: normal; line-height: 1.25; letter-spacing: .11em !important; }
  .ocm-header-actions { gap: 8px !important; }
  .ocm-header-actions .ocm-cart-link span,
  .ocm-header-cta { display: none !important; }
  .ocm-cart-link { width: 46px; height: 46px; padding: 0 !important; border-radius: 999px !important; }
  .ocm-cart-link strong { margin: 0 !important; }
  .ocm-v11-hero { padding-top: 42px !important; }
  .ocm-v11-hero h1 { font-size: clamp(2.7rem, 13vw, 4.5rem) !important; line-height: .95 !important; }
  .ocm-v11-hero-grid,
  .ocm-shop-hero-grid,
  .single-product div.product,
  .ocm-v11-footer-grid,
  .ocm-v11-process-card {
    grid-template-columns: 1fr !important;
  }
  .ocm-shop-search > div { grid-template-columns: 1fr !important; }
  .ocm-shop-search button { width: 100%; }
  .ocm-filter-panel {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }
  .ocm-filter-buttons {
    display: flex !important;
    overflow-x: auto;
    padding-bottom: 8px;
    gap: 8px !important;
    scroll-snap-type: x proximity;
  }
  .ocm-filter-buttons button {
    flex: 0 0 auto;
    scroll-snap-align: start;
    max-width: 240px;
  }
  .ocm-shop-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .woocommerce-ordering select { width: 100%; }
  .ocm-product-grid.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
  .ocm-product-media img,
  .ocm-product-placeholder { min-height: 170px; }
  .ocm-product-info { padding: 14px !important; }
  .ocm-product-bottom { align-items: stretch !important; }
  .wc-bookings-date-picker-date-fields { grid-template-columns: 1fr !important; }
}

@media (max-width: 560px) {
  .ocm-container { width: min(100% - 22px, 1180px) !important; }
  .ocm-brand-text small { display: none !important; }
  .ocm-brand-logo { width: 48px !important; height: 48px !important; }
  .ocm-brand-text strong { font-size: 1rem !important; }
  .ocm-menu-toggle,
  .ocm-cart-link { width: 42px !important; height: 42px !important; }
  .ocm-v11-actions,
  .ocm-cart-empty-actions { display: grid !important; grid-template-columns: 1fr; }
  .ocm-button,
  .ocm-v11-actions .ocm-button { width: 100%; text-align: center; }
  .ocm-v11-hero-media > img { height: 260px !important; }
  .ocm-v11-floating-card { margin: -30px 10px 0 !important; padding: 16px !important; }
  .ocm-v11-category-grid,
  .ocm-v11-benefit-grid,
  .ocm-product-grid.products { grid-template-columns: 1fr !important; }
  .ocm-product-media img,
  .ocm-product-placeholder { min-height: 230px; }
  .single-product .product_title,
  .woocommerce div.product .product_title { font-size: clamp(2rem, 12vw, 3rem) !important; }
  .wc-bookings-date-picker .ui-datepicker td,
  .wc-bookings-date-picker .ui-datepicker th { padding: 2px !important; }
  .wc-bookings-date-picker .ui-datepicker td a,
  .wc-bookings-date-picker .ui-datepicker td span { min-height: 32px; font-size: .82rem !important; }
  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr { border-bottom: 1px solid rgba(122,86,61,.14) !important; }
  .ocm-site-footer::before,
  .ocm-site-footer::after { display: none; }
}


/* =========================================================
   O Camafeu v13 — correções de layout, responsividade e UX
   ========================================================= */
:root {
  --ocm-sage: #6B8661;
  --ocm-cream: #F1E8D6;
  --ocm-aged-gold: #D9B45F;
  --ocm-coffee: #7A563D;
  --ocm-sand: #D8CBB1;
  --ocm-deep-sage: #42583D;
  --ocm-nude-gold: #B9925A;
  --ocm-offwhite: #FFF9EE;
  --ocm-ink: #2E2118;
}

html { overflow-x: hidden; }
body { overflow-x: clip; }

.ocm-site-header,
.ocm-v11-header {
  background: rgba(255, 249, 238, .94) !important;
  border-bottom: 1px solid rgba(185, 146, 90, .20) !important;
  box-shadow: 0 12px 35px rgba(66, 88, 61, .08) !important;
  backdrop-filter: blur(12px);
}
.ocm-brand-text strong { color: var(--ocm-coffee) !important; }
.ocm-brand-text small { color: var(--ocm-deep-sage) !important; letter-spacing: .18em; }
.ocm-header-cta,
.ocm-cart-link,
.ocm-button-dark,
.ocm-card-button,
.single_add_to_cart_button,
button.single_add_to_cart_button {
  box-shadow: 0 12px 25px rgba(66, 88, 61, .18);
}
.ocm-header-cta,
.ocm-button-dark,
.ocm-card-button,
.single_add_to_cart_button,
button.single_add_to_cart_button {
  background: var(--ocm-deep-sage) !important;
  color: var(--ocm-offwhite) !important;
  border-color: var(--ocm-deep-sage) !important;
}
.ocm-header-cta:hover,
.ocm-button-dark:hover,
.ocm-card-button:hover,
.single_add_to_cart_button:hover,
button.single_add_to_cart_button:hover {
  background: var(--ocm-sage) !important;
  border-color: var(--ocm-sage) !important;
  transform: translateY(-1px);
}

.ocm-v11-hero {
  min-height: auto !important;
  padding: clamp(72px, 8vw, 132px) 0 clamp(58px, 7vw, 118px) !important;
  background:
    radial-gradient(circle at 88% 18%, rgba(217,180,95,.24), transparent 26%),
    radial-gradient(circle at 7% 16%, rgba(107,134,97,.12), transparent 25%),
    linear-gradient(115deg, #fff9ee 0%, #f5ecd9 51%, #fff4e8 100%) !important;
}
.ocm-v11-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.98fr) minmax(360px, 0.82fr) !important;
  align-items: center !important;
  gap: clamp(36px, 5vw, 80px) !important;
}
.ocm-v11-hero h1 {
  max-width: 820px !important;
  color: var(--ocm-coffee) !important;
  font-size: clamp(3.8rem, 6.8vw, 7.25rem) !important;
  line-height: .88 !important;
  letter-spacing: -.065em !important;
  text-wrap: balance;
  overflow-wrap: normal;
}
.ocm-v11-hero-copy { min-width: 0 !important; }
.ocm-v11-hero-copy p { max-width: 620px !important; color: #5b4a3e !important; }
.ocm-v11-hero-copy .ocm-section-kicker { color: var(--ocm-deep-sage) !important; }
.ocm-v11-hero-copy .ocm-section-kicker::before { background: var(--ocm-aged-gold) !important; }
.ocm-v11-hero-copy .ocm-ornament-line { background: linear-gradient(90deg, rgba(217,180,95,0), var(--ocm-aged-gold), rgba(217,180,95,0)) !important; }
.ocm-v11-hero-visual { min-width: 0 !important; }
.ocm-v11-hero-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.ocm-v11-floating-card {
  background: rgba(255, 249, 238, .90) !important;
  border-color: rgba(185, 146, 90, .28) !important;
  color: var(--ocm-coffee) !important;
}
.ocm-v11-floating-card p { color: #6c5b4c !important; }

.ocm-category-card,
.ocm-product-card,
.ocm-filter-panel,
.ocm-shop-search,
.ocm-content-wrap,
.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce form.checkout,
.woocommerce table.shop_table {
  background: rgba(255, 249, 238, .88) !important;
  border-color: rgba(185, 146, 90, .24) !important;
  box-shadow: 0 18px 50px rgba(66, 88, 61, .08) !important;
}
.ocm-category-card:hover,
.ocm-product-card:hover { transform: translateY(-3px); }
.ocm-product-card h2 a,
.ocm-product-card .woocommerce-loop-product__title a { color: var(--ocm-coffee) !important; }
.ocm-product-group { background: rgba(255, 249, 238, .95) !important; color: var(--ocm-deep-sage) !important; border: 1px solid rgba(185,146,90,.26); }
.price,
.ocm-price-prefix { color: var(--ocm-deep-sage) !important; }
.ocm-shop-hero {
  background:
    radial-gradient(circle at 88% 22%, rgba(217,180,95,.15), transparent 28%),
    linear-gradient(115deg, var(--ocm-offwhite), var(--ocm-cream)) !important;
}
.ocm-shop-hero h1,
.ocm-page-hero h1,
.ocm-section-head h2 { color: var(--ocm-coffee) !important; text-wrap: balance; }
.ocm-filter-buttons button.is-active,
.ocm-filter-buttons button:hover { background: var(--ocm-deep-sage) !important; color: var(--ocm-offwhite) !important; border-color: var(--ocm-deep-sage) !important; }
.ocm-filter-buttons button { color: var(--ocm-coffee) !important; border-color: rgba(185,146,90,.28) !important; }

/* Checkout/carrinho: evita páginas vazias e melhora legibilidade */
.ocm-page-content:empty::before {
  content: 'Conteúdo em preparação. Verifique os atalhos do WooCommerce em Aparência > O Camafeu.';
  display: block;
  padding: 28px;
  border: 1px solid rgba(185,146,90,.26);
  border-radius: 22px;
  background: rgba(255,249,238,.9);
  color: var(--ocm-coffee);
}
.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review,
.woocommerce-cart-form,
.cart_totals {
  border-radius: 28px !important;
}
.woocommerce-checkout input,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-cart input,
.woocommerce-cart select,
.ocm-live-search input,
.ocm-shop-search input,
.woocommerce-ordering select {
  border-color: rgba(185,146,90,.28) !important;
  border-radius: 16px !important;
}
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  border-radius: 18px !important;
  background: rgba(255,249,238,.95) !important;
  border-top-color: var(--ocm-aged-gold) !important;
  color: var(--ocm-ink) !important;
}

/* Calendário de locação */
.wc-bookings-booking-form,
.wc-bookings-date-picker,
.wc-bookings-booking-form fieldset,
.ui-datepicker,
.ui-datepicker-inline {
  background: rgba(255, 249, 238, .98) !important;
  border-color: rgba(185,146,90,.26) !important;
  border-radius: 22px !important;
}
.wc-bookings-date-picker .ui-datepicker td.bookable a,
.wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
  background: var(--ocm-sage) !important;
  color: var(--ocm-offwhite) !important;
}
.wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a,
.wc-bookings-date-picker .ui-datepicker td.partial_booked a {
  background: var(--ocm-aged-gold) !important;
  color: var(--ocm-ink) !important;
}
.wc-bookings-date-picker .ui-datepicker td.not_bookable span,
.wc-bookings-date-picker .ui-datepicker td.fully_booked span {
  background: #ece4d5 !important;
  color: #9b8d7f !important;
}
.ocm-calendar-legend { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; font-size:.88rem; color:#6d5a49; }
.ocm-calendar-legend span { display:inline-flex; align-items:center; gap:7px; }
.ocm-calendar-legend i { width:11px; height:11px; border-radius:99px; display:inline-block; }
.ocm-calendar-legend .is-available { background: var(--ocm-sage); }
.ocm-calendar-legend .is-selected { background: var(--ocm-aged-gold); }
.ocm-calendar-legend .is-unavailable { background: #e5dac8; }

/* Rodapé mais leve e premium */
.ocm-v11-footer,
.ocm-site-footer {
  background:
    radial-gradient(circle at 12% 12%, rgba(217,180,95,.11), transparent 26%),
    linear-gradient(135deg, #2f271f 0%, #1f1814 100%) !important;
  color: var(--ocm-offwhite) !important;
}
.ocm-v11-footer h3,
.ocm-site-footer h3 { color: var(--ocm-cream) !important; }
.ocm-v11-footer a,
.ocm-site-footer a { color: #f3d082 !important; }
.ocm-v11-footer p,
.ocm-site-footer span { color: rgba(255,249,238,.78) !important; }
.ocm-footer-bottom { border-top-color: rgba(255,249,238,.12) !important; }

@media (max-width: 1180px) {
  .ocm-v11-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr) !important; gap: 42px !important; }
  .ocm-v11-hero h1 { font-size: clamp(3.25rem, 7.6vw, 5.9rem) !important; }
}

@media (max-width: 960px) {
  .ocm-header-inner { gap: 14px !important; }
  .ocm-v11-hero { padding: 58px 0 54px !important; }
  .ocm-v11-hero-grid,
  .ocm-shop-hero-grid,
  .ocm-v11-footer-grid { grid-template-columns: 1fr !important; }
  .ocm-v11-hero h1 { max-width: 760px !important; font-size: clamp(3.1rem, 12vw, 5.6rem) !important; }
  .ocm-v11-hero-visual { max-width: 640px; margin: 0 auto; }
  .ocm-v11-floating-card { left: 18px !important; right: 18px !important; bottom: -32px !important; width: auto !important; max-width: none !important; }
  .ocm-product-grid.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ocm-filter-panel { grid-template-columns: 1fr !important; }
}

@media (max-width: 782px) {
  body.admin-bar .ocm-site-header { top: 46px; }
}

@media (max-width: 680px) {
  .ocm-container { width: min(100% - 32px, var(--ocm-container, 1180px)) !important; }
  .ocm-site-header { position: sticky !important; }
  .ocm-header-inner { min-height: 76px !important; }
  .ocm-brand-logo { width: 48px !important; height: 48px !important; }
  .ocm-brand-text strong { font-size: 1.15rem !important; }
  .ocm-brand-text small { font-size: .64rem !important; }
  .ocm-header-actions { width: 100% !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .ocm-header-cta,
  .ocm-cart-link { width: 100% !important; min-height: 44px !important; justify-content: center !important; padding-inline: 12px !important; font-size: .86rem !important; }
  .ocm-main-nav.is-open { max-height: calc(100vh - 96px) !important; overflow: auto !important; }
  .ocm-v11-hero h1 { font-size: clamp(2.75rem, 14vw, 4.35rem) !important; line-height: .9 !important; letter-spacing: -.055em !important; }
  .ocm-v11-hero-copy p { font-size: 1rem !important; }
  .ocm-v11-hero-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
  .ocm-v11-hero-actions .ocm-button { width: 100% !important; justify-content: center !important; }
  .ocm-v11-hero-image img { aspect-ratio: 1 / .92; }
  .ocm-v11-floating-card { position: relative !important; inset: auto !important; margin: -26px 12px 0 !important; }
  .ocm-category-grid,
  .ocm-product-grid.products { grid-template-columns: 1fr !important; }
  .ocm-shop-hero { padding: 46px 0 !important; }
  .ocm-shop-search div { grid-template-columns: 1fr !important; }
  .ocm-shop-toolbar { align-items: stretch !important; gap: 14px !important; }
  .ocm-shop-toolbar .woocommerce-ordering select { width: 100% !important; }
  .woocommerce table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td { text-align: left !important; }
  .ocm-site-footer { padding-bottom: 84px !important; }
}

@media (max-width: 420px) {
  .ocm-container { width: min(100% - 24px, var(--ocm-container, 1180px)) !important; }
  .ocm-v11-hero h1 { font-size: clamp(2.45rem, 15vw, 3.65rem) !important; }
  .ocm-section-kicker { font-size: .72rem !important; letter-spacing: .18em !important; }
}

/* O Camafeu v14 — fallback visível para carrinho/checkout e ajustes finais */
.ocm-system-alert{
  background:linear-gradient(135deg,var(--ocm-offwhite),rgba(241,232,214,.72));
  border:1px solid rgba(185,146,90,.38);
  border-radius:28px;
  padding:clamp(22px,4vw,42px);
  box-shadow:0 20px 48px rgba(122,86,61,.10);
  max-width:920px;
  margin:0 auto;
}
.ocm-system-alert h2{margin:0 0 10px;color:var(--ocm-green-dark);font-family:var(--ocm-font-heading);font-size:clamp(1.8rem,4vw,3.4rem);line-height:.96}.ocm-system-alert p{max-width:680px;color:var(--ocm-brown);font-size:1.05rem}.ocm-system-alert-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}@media(max-width:640px){.ocm-system-alert{border-radius:22px;padding:22px}.ocm-system-alert-actions .ocm-btn{width:100%;justify-content:center}}
