/*
 * Odoo 19 — Medici-style New Products listing.
 * All styles scoped to .ref-np-page (this page only).
 * Media stored in Odoo; no CSS imported from external services.
 */
#wrapwrap .ref-np-page { --np-accent:#b59175; --np-text:#292929; --np-soft:#f5f5f5; color:var(--np-text); background:#fff; overflow-x:clip; font-family:"Barlow",Arial,sans-serif; }
#wrapwrap .ref-np-page *,#wrapwrap .ref-np-page *::before,#wrapwrap .ref-np-page *::after { box-sizing:border-box; }
.ref-np-container { max-width:1360px; width:calc(100% - 70px); margin-inline:auto; }
#wrapwrap .ref-np-banner { position:relative; width:100%; min-height:410px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(120deg,#232a24,#3c4638 45%,#181b17); isolation:isolate; }
#wrapwrap .ref-np-banner-image { position:absolute; inset:0; height:100%; width:100%; max-width:none; max-height:none; object-fit:cover; object-position:center 50%; z-index:0; }
#wrapwrap .ref-np-banner-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(0,0,0,.47),rgba(0,0,0,.48)),linear-gradient(0deg,#0003,transparent 50%); }
#wrapwrap .ref-np-banner-copy { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; color:#fff; padding:144px 0 67px; }
#wrapwrap .ref-np-banner h1 { margin:0 0 19px; color:#fff; font-family:"Barlow",Arial,sans-serif; font-weight:400; font-size:clamp(34px,3.9vw,55px); letter-spacing:.035em; line-height:1.2; }
#wrapwrap .ref-np-breadcrumb { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; color:#fff; font-size:12px; font-weight:500; letter-spacing:.045em; }
#wrapwrap .ref-np-breadcrumb a { color:inherit; text-decoration:none; }
#wrapwrap .ref-np-breadcrumb a:hover { color:#e4b99b; }
#wrapwrap .ref-np-content { display:grid; grid-template-columns:minmax(230px,285px) minmax(0,1fr); align-items:start; column-gap:28px; padding:46px 0 95px; }
#wrapwrap .ref-np-sidebar { display:flex; flex-direction:column; gap:15px; min-width:0; }
#wrapwrap .ref-np-sidebar-title { background:#fff; border:1px solid #ebebeb; box-shadow:0 1px 10px #00000012; font-size:16px; font-weight:700; min-height:55px; display:flex; align-items:center; padding:13px 18px; color:#222; }
#wrapwrap .ref-np-inquiry-box { background:#fff; border:1px solid #eee; box-shadow:0 1px 11px #00000012; padding:24px 18px 20px; }
#wrapwrap .ref-np-inquiry-box h2 { color:#242424; font-family:"Barlow",Arial,sans-serif; font-size:18px; font-weight:650; line-height:1.35; margin:0 0 21px; }
#wrapwrap .ref-np-inquiry { display:flex; flex-direction:column; gap:11px; }
#wrapwrap .ref-np-field { display:block; width:100%; margin:0; }
#wrapwrap .ref-np-inquiry .ref-np-field input,#wrapwrap .ref-np-inquiry .ref-np-field textarea { display:block; width:100%; min-width:0; margin:0; padding:12px 13px; border:1px solid transparent; border-radius:3px; font:400 14px/1.35 "Barlow",Arial,sans-serif; background:#f1f1f1; color:#333; resize:vertical; transition:border-color .22s,background-color .22s; }
#wrapwrap .ref-np-inquiry .ref-np-field textarea { min-height:105px; }
#wrapwrap .ref-np-inquiry .ref-np-field input:focus,#wrapwrap .ref-np-inquiry .ref-np-field textarea:focus { background:#fff; border-color:var(--np-accent); outline:2px solid #b5917540; }
#wrapwrap .ref-np-inquiry .ref-np-field input::placeholder,#wrapwrap .ref-np-inquiry .ref-np-field textarea::placeholder { color:#777; opacity:1; }
.ref-np-visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; clip:rect(0,0,0,0); white-space:nowrap; overflow:hidden; border:0; }
#wrapwrap .ref-np-form-help { color:#888; font-size:11px; line-height:1.5; margin:3px 0 5px; }
#wrapwrap .ref-np-inquiry .ref-np-submit { display:block; align-self:stretch; width:100%; min-height:44px; border:0; border-radius:0; padding:12px; font:600 13px/1.35 "Barlow",Arial,sans-serif; color:white; background:var(--np-accent); letter-spacing:.06em; cursor:pointer; transition:background .2s,transform .2s; }
#wrapwrap .ref-np-inquiry .ref-np-submit:hover { background:#9d765b; transform:translateY(-1px); }
#wrapwrap .ref-np-notice { border:1px solid; padding:11px; margin:0 0 15px; font-size:12px; line-height:1.55; }
#wrapwrap .ref-np-notice-ok { color:#175f3c; border-color:#aedcc3; background:#f1faf4; }
#wrapwrap .ref-np-notice-error { color:#8f2e2e; border-color:#e7b8b8; background:#fff5f5; }
#wrapwrap .ref-np-help { background:#faf8f6; padding:19px; border-left:2px solid var(--np-accent); }
#wrapwrap .ref-np-help p { margin:0 0 12px; font-size:13px; line-height:1.6; color:#666; }
#wrapwrap .ref-np-help a { font-size:12px; text-decoration:none; font-weight:600; color:#956b51; }
#wrapwrap .ref-np-main { min-width:0; }
#wrapwrap .ref-np-intro { margin:0 0 20px; color:#666; font-size:14px; line-height:1.75; }
#wrapwrap .ref-np-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px 16px; align-items:start; }
#wrapwrap .ref-np-card { min-width:0; background:#fff; }
#wrapwrap .ref-np-cover { display:block; position:relative; width:100%; aspect-ratio:1.64 / 1; overflow:hidden; background:#f0efec; }
#wrapwrap .ref-np-cover > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .55s ease,filter .55s ease; }
#wrapwrap .ref-np-cover:hover > img,#wrapwrap .ref-np-cover:focus-visible > img { transform:scale(1.045); filter:brightness(.94); }
#wrapwrap .ref-np-image-fallback { width:100%; height:100%; display:grid; place-items:center; background:linear-gradient(135deg,#b9b3a7,#ddd8ce,#aca49a); color:#fff; font-size:12px; font-weight:600; letter-spacing:.2em; }
#wrapwrap .ref-np-card h2 { color:#202020; font:500 16px/1.45 "Barlow",Arial,sans-serif; margin:9px 0 6px; }
#wrapwrap .ref-np-card h2 a { color:inherit; text-decoration:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#wrapwrap .ref-np-card h2 a:hover { color:#a57d61; }
#wrapwrap .ref-np-desc { color:#626262; font:400 13px/1.55 "Barlow",Arial,sans-serif; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 8px; }
#wrapwrap .ref-np-read { text-decoration:none; font-size:12px; letter-spacing:.025em; color:#a27d60; display:inline-flex; gap:6px; align-items:center; }
#wrapwrap .ref-np-read:hover { text-decoration:underline; text-underline-offset:3px; }
#wrapwrap .ref-np-empty { text-align:center; padding:75px 25px; border:1px solid #eee; background:#faf9f7; }
#wrapwrap .ref-np-empty-symbol { font-size:55px; color:var(--np-accent); margin-bottom:10px; }
#wrapwrap .ref-np-empty h2 { font:400 27px/1.35 "Playfair Display",Georgia,serif; color:#292929; margin:0 0 15px; }
#wrapwrap .ref-np-empty p { font-size:14px; max-width:480px; margin:0 auto 20px; line-height:1.7; color:#666; }
#wrapwrap .ref-np-empty a { color:#9b7155; font-weight:600; font-size:14px; text-decoration:none; }
#wrapwrap .ref-np-pagination { display:flex; justify-content:center; gap:20px; align-items:center; margin-top:45px; font-size:13px; color:#666; flex-wrap:wrap; }
#wrapwrap .ref-np-pagination a { color:#886144; padding:10px; border:1px solid #ddd; text-decoration:none; }
#wrapwrap .ref-np-pagination a:hover { border-color:var(--np-accent); }
@media (max-width:1100px) {
  .ref-np-container { width:calc(100% - 44px); }
  #wrapwrap .ref-np-content { grid-template-columns:minmax(215px,250px) minmax(0,1fr); gap:22px; }
  #wrapwrap .ref-np-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 15px; }
  #wrapwrap .ref-np-banner { min-height:360px; }
}
@media (max-width:780px) {
  .ref-np-container { width:calc(100% - 36px); }
  #wrapwrap .ref-np-banner { min-height:310px; }
  #wrapwrap .ref-np-banner-copy { padding:112px 0 45px; }
  #wrapwrap .ref-np-banner h1 { font-size:clamp(29px,6vw,43px); }
  #wrapwrap .ref-np-content { grid-template-columns:minmax(0,1fr); row-gap:34px; padding:35px 0 60px; }
  #wrapwrap .ref-np-sidebar { display:grid; grid-template-columns:minmax(0,1fr); }
  #wrapwrap .ref-np-inquiry { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:15px; }
  #wrapwrap .ref-np-inquiry .ref-np-field:last-of-type,#wrapwrap .ref-np-inquiry .ref-np-form-help,#wrapwrap .ref-np-inquiry .ref-np-submit { grid-column:1/-1; }
  #wrapwrap .ref-np-inquiry-box { padding:22px; }
  #wrapwrap .ref-np-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  #wrapwrap .ref-np-banner { min-height:285px; }
  #wrapwrap .ref-np-banner-copy { padding:96px 0 45px; }
  #wrapwrap .ref-np-banner h1 { font-size:29px; }
  #wrapwrap .ref-np-breadcrumb { font-size:11px; }
  #wrapwrap .ref-np-content { padding-top:24px; }
  #wrapwrap .ref-np-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  #wrapwrap .ref-np-cover { aspect-ratio:1.65/1; }
  #wrapwrap .ref-np-card h2 { font-size:17px; }
  #wrapwrap .ref-np-inquiry { display:flex; flex-direction:column; gap:10px; }
  #wrapwrap .ref-np-sidebar-title { min-height:48px; }
  #wrapwrap .ref-np-empty { padding:45px 20px; }
}
