
    :root {
      --bg-dark: #090502;
      --bg-card: rgba(24, 15, 6, 0.85);
      --bg-card-hover: rgba(38, 24, 9, 0.95);
      --gold-primary: #D4AF37;
      --gold-light: #F7E5A9;
      --gold-deep: #A87B2C;
      --gold-glow: rgba(212, 175, 55, 0.35);
      --crimson-velvet: #7E1E12;
      --text-main: #F4EAD2;
      --text-muted: #C4B391;
      --text-gold: #EDD393;
      --border-gold: rgba(212, 175, 55, 0.28);
      --border-gold-bright: rgba(212, 175, 55, 0.6);
      --shadow-luxury: 0 30px 60px -20px rgba(0, 0, 0, 0.85);
      --font-ar-title: 'Amiri', 'Cairo', serif;
      --font-ar-body: 'Tajawal', 'Cairo', sans-serif;
      --font-en-title: 'Marcellus', 'Cormorant Garamond', serif;
      --transition: all 0.4s cubic-bezier(0.22, 0.8, 0.3, 1);
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      overflow-x: hidden;
      width: 100%;
      position: relative;
    }

    body {
      background-color: var(--bg-dark);
      background-image: 
        radial-gradient(ellipse at 50% 0%, rgba(45, 26, 8, 0.85) 0%, transparent 70%),
        radial-gradient(ellipse at 80% 50%, rgba(126, 30, 18, 0.22) 0%, transparent 50%),
        radial-gradient(ellipse at 20% 80%, rgba(212, 175, 55, 0.12) 0%, transparent 60%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='rgba(212,175,55,0.08)' stroke-width='1.2'%3E%3Cpath d='M60 24l7.4 21 20.9-7.2-7.2 20.9 21 7.3-21 7.3 7.2 20.9-20.9-7.2-7.4 21-7.4-21-20.9 7.2 7.2-20.9-21-7.3 21-7.3-7.2-20.9 20.9 7.2z'/%3E%3Cpath d='M0 0l6 14 14 6-14 6-6 14-6-14-14-6 14-6zM120 0l6 14 14 6-14 6-6 14-6-14-14-6 14-6zM0 120l6 14 14 6-14 6-6 14-6-14-14-6 14-6zM120 120l6 14 14 6-14 6-6 14-6-14-14-6 14-6z'/%3E%3C/g%3E%3C/svg%3E");
      background-size: cover, cover, cover, 120px 120px;
      color: var(--text-main);
      font-family: var(--font-ar-body);
      line-height: 1.8;
      overflow-x: hidden;
      width: 100%;
      position: relative;
      -webkit-font-smoothing: antialiased;
    }

    /* Background Giant Watermark Text */
    .bg-watermark {
      position: absolute;
      z-index: 0;
      font-family: var(--font-ar-title);
      font-size: clamp(8rem, 20vw, 22rem);
      line-height: 1;
      color: transparent;
      -webkit-text-stroke: 1px rgba(212, 175, 55, 0.08);
      user-select: none;
      pointer-events: none;
      white-space: nowrap;
    }

    /* SVG Icon Helper Styles */
    .icon-svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      display: inline-block;
      vertical-align: middle;
      flex-shrink: 0;
    }

    .icon-svg-lg {
      width: 30px;
      height: 30px;
      fill: none;
      stroke: var(--gold-primary);
      margin-bottom: 8px;
      display: block;
    }

    /* Flourish SVG Divider */
    .flourish-divider {
      color: var(--gold-primary);
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 16px;
      opacity: 0.85;
    }

    /* Subtle Paper Texture Overlay */
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 999;
      opacity: 0.03;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button {
      font-family: inherit;
      cursor: pointer;
      border: none;
      outline: none;
      background: none;
    }

    /* Keyframes */
    @keyframes goldShimmer {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }

    @keyframes marqueeScroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    html[dir="ltr"] .marquee-track {
      animation-direction: reverse;
    }

    [lang="en"] {
      font-family: 'Jost', sans-serif;
    }
    [lang="en"] .title-font {
      font-family: var(--font-en-title) !important;
      letter-spacing: 0.04em;
    }

    .title-font {
      font-family: var(--font-ar-title);
      font-weight: 700;
    }

    .container {
      max-width: 1360px;
      margin: 0 auto;
      padding: 0 clamp(20px, 4vw, 60px);
    }

    /* Traditional Inlay Border Motif */
    .inlay-divider {
      height: 16px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' viewBox='0 0 32 16'%3E%3Crect width='32' height='16' fill='%23090502'/%3E%3Cpath d='M8 1.5 14.5 8 8 14.5 1.5 8Z' fill='%23D4AF37'/%3E%3Cpath d='M24 1.5 30.5 8 24 14.5 17.5 8Z' fill='%23F4EAD2'/%3E%3Cpath d='M8 4.5 11.5 8 8 11.5 4.5 8Z' fill='%23090502'/%3E%3Cpath d='M24 4.5 27.5 8 24 11.5 20.5 8Z' fill='%237E1E12'/%3E%3C/svg%3E");
      background-size: 32px 16px;
      position: relative;
      z-index: 5;
    }

    /* Navigation Bar */
    header.navbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      transition: var(--transition);
      padding: 18px 0;
      background: rgba(9, 5, 2, 0.88);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--border-gold);
    }

    header.navbar.scrolled {
      padding: 12px 0;
      background: rgba(7, 3, 1, 0.96);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.85);
      border-bottom-color: var(--border-gold-bright);
    }

    .nav-content {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }

    .brand-logo {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .brand-logo img {
      height: 46px;
      width: auto;
      border: 1px solid var(--border-gold-bright);
      padding: 2px;
      background: #F4EAD2;
      border-radius: 4px;
    }

    .brand-title {
      font-family: var(--font-ar-title);
      font-size: 1.35rem;
      font-weight: 700;
      color: var(--text-main);
      line-height: 1.2;
    }

    .brand-title small {
      display: block;
      font-size: 0.78rem;
      color: var(--gold-primary);
      font-family: var(--font-ar-body);
      font-weight: 400;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: clamp(14px, 2.2vw, 30px);
      font-size: 0.9rem;
      font-weight: 500;
    }

    .nav-links a {
      color: var(--text-muted);
      transition: var(--transition);
      position: relative;
      padding: 6px 0;
    }

    .nav-links a:hover, .nav-links a.active {
      color: var(--gold-light);
    }

    .nav-links a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: var(--gold-primary);
      transform: scaleX(0);
      transition: var(--transition);
    }

    .nav-links a:hover::after {
      transform: scaleX(1);
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .lang-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 16px;
      border: 1px solid var(--border-gold);
      color: var(--text-gold);
      border-radius: 4px;
      font-size: 0.85rem;
      transition: var(--transition);
      background: rgba(212, 175, 55, 0.08);
      font-weight: 600;
    }

    .lang-btn:hover {
      background: var(--gold-primary);
      color: var(--bg-dark);
      border-color: var(--gold-primary);
    }

    .cart-btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 9px 20px;
      background: linear-gradient(135deg, rgba(212, 175, 55, 0.2), rgba(168, 123, 44, 0.4));
      border: 1px solid var(--border-gold-bright);
      color: var(--text-main);
      border-radius: 4px;
      font-size: 0.88rem;
      font-weight: 500;
      transition: var(--transition);
    }

    .cart-btn:hover {
      background: var(--gold-primary);
      color: var(--bg-dark);
      box-shadow: 0 0 20px var(--gold-glow);
    }

    .cart-badge {
      background: var(--crimson-velvet);
      color: #FFF;
      font-size: 0.72rem;
      font-weight: 700;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      display: grid;
      place-items: center;
    }

    /* Hero Section */
    .hero-section {
      position: relative;
      min-height: 100svh;
      display: flex;
      align-items: center;
      padding: 140px 0 80px;
      overflow: hidden;
    }

    .hero-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
    }

    .hero-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: brightness(0.6) contrast(1.1);
      transform: scale(1.02);
      transition: transform 10s ease;
    }

    .hero-section:hover .hero-bg img {
      transform: scale(1.06);
    }

    .hero-overlay {
      position: absolute;
      inset: 0;
      z-index: 1;
      background: 
        linear-gradient(to top, rgba(9, 5, 2, 0.98) 0%, rgba(9, 5, 2, 0.65) 45%, rgba(9, 5, 2, 0.4) 100%),
        radial-gradient(circle at 20% 80%, rgba(126, 30, 18, 0.35) 0%, transparent 60%);
    }

    .hero-content {
      position: relative;
      z-index: 3;
      max-width: 860px;
      margin: 0 auto;
      text-align: center;
    }

    .hero-subtitle {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-size: 1.05rem;
      color: var(--gold-light);
      margin-bottom: 20px;
      font-weight: 500;
    }

    .hero-subtitle::before {
      content: '';
      width: 40px;
      height: 1px;
      background: var(--gold-primary);
    }

    .hero-title {
      font-size: clamp(2.5rem, 5.2vw, 4.6rem);
      line-height: 1.18;
      margin-bottom: 24px;
      color: #FFF;
      text-shadow: 0 4px 20px rgba(0,0,0,0.9);
    }

    .hero-desc {
      font-size: clamp(1.05rem, 1.35vw, 1.25rem);
      color: var(--text-muted);
      margin-bottom: 38px;
      max-width: 700px;
      line-height: 1.85;
    }

    .hero-buttons {
      display: flex;
      gap: 20px;
      margin-top: 40px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .btn-gold {
      padding: 15px 36px;
      background: linear-gradient(135deg, var(--gold-primary) 0%, #B8860B 100%);
      color: #000;
      font-weight: 700;
      font-size: 0.95rem;
      border-radius: 4px;
      transition: var(--transition);
      box-shadow: 0 10px 25px rgba(212, 175, 55, 0.3);
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }

    .btn-gold:hover {
      background: linear-gradient(135deg, #FFF0C3 0%, var(--gold-primary) 100%);
      transform: translateY(-3px);
      box-shadow: 0 15px 35px rgba(212, 175, 55, 0.5);
    }

    .btn-outline {
      padding: 15px 36px;
      border: 1px solid var(--border-gold-bright);
      color: var(--text-main);
      font-weight: 600;
      font-size: 0.95rem;
      border-radius: 4px;
      transition: var(--transition);
      background: rgba(9, 5, 2, 0.45);
      backdrop-filter: blur(8px);
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }

    .btn-outline:hover {
      background: rgba(212, 175, 55, 0.18);
      border-color: var(--gold-primary);
      color: var(--gold-light);
    }

    .hero-features {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
      gap: 20px;
      margin-top: 55px;
      padding-top: 30px;
      border-top: 1px solid var(--border-gold);
    }

    .feature-item strong {
      display: block;
      font-size: 1.15rem;
      color: var(--gold-light);
      margin-bottom: 2px;
      font-family: var(--font-ar-title);
    }

    .feature-item span {
      font-size: 0.82rem;
      color: var(--text-muted);
    }

    /* Marquee Banner */
    .marquee-wrapper {
      background: #140C04;
      border-top: 1px solid var(--border-gold);
      border-bottom: 1px solid var(--border-gold);
      padding: 14px 0;
      overflow: hidden;
      white-space: nowrap;
      position: relative;
      width: 100%;
    }

    .marquee-track {
      display: flex;
      width: max-content;
      flex-wrap: nowrap;
    }

    html[dir="rtl"] .marquee-track {
      animation: marqueeScrollRTL 30s linear infinite;
    }

    html[dir="ltr"] .marquee-track {
      animation: marqueeScrollLTR 30s linear infinite;
    }

    .marquee-track:hover {
      animation-play-state: paused;
    }

    .marquee-item {
      display: inline-flex;
      align-items: center;
      gap: 24px;
      padding: 0 24px;
      font-family: var(--font-ar-title);
      font-size: 1.05rem;
      color: var(--gold-light);
      flex-shrink: 0;
    }

    .marquee-item i {
      color: var(--gold-primary);
      font-style: normal;
    }

    @keyframes marqueeScrollRTL {
      0% { transform: translateX(0); }
      100% { transform: translateX(50%); }
    }

    @keyframes marqueeScrollLTR {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* Sections Shared Styles */
    .section-header {
      margin-bottom: clamp(36px, 5vw, 60px);
    }

    .section-header.text-center {
      text-align: center;
      max-width: 800px;
      margin-left: auto;
      margin-right: auto;
    }

    .section-header.text-center .section-tag {
      justify-content: center;
    }

    .section-header.text-center .section-tag::before {
      display: none;
    }

    .section-header.text-center .section-desc {
      margin-left: auto;
      margin-right: auto;
    }

    section {
      padding: clamp(70px, 8vw, 130px) 0;
      position: relative;
    }

    /* Royal Section Header Frame */
    .header-royal-frame {
      background: 
        linear-gradient(135deg, rgba(35, 20, 8, 0.92) 0%, rgba(15, 8, 3, 0.96) 100%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='rgba(212,175,55,0.15)' stroke-width='1'%3E%3Cpath d='M40 10l5 14 14-5-5 14 14 5-14 5 5 14-14-5-5 14-5-14-14 5 5-14-14-5 14-5-5-14 14 5z'/%3E%3C/g%3E%3C/svg%3E");
      border: 1px solid var(--border-gold-bright);
      border-radius: 12px;
      padding: clamp(24px, 4vw, 40px);
      position: relative;
      box-shadow: 0 20px 40px rgba(0,0,0,0.8), inset 0 0 30px rgba(212,175,55,0.08);
      margin-bottom: 44px;
      overflow: hidden;
    }

    .header-royal-frame::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, transparent, var(--gold-primary), transparent);
    }

    .section-tag {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-size: 0.95rem;
      color: var(--gold-primary);
      font-weight: 600;
      margin-bottom: 12px;
    }

    .section-tag::before {
      content: '';
      width: 36px;
      height: 1px;
      background: var(--gold-primary);
    }

    .section-title {
      font-size: clamp(2rem, 3.8vw, 3.2rem);
      color: var(--text-main);
      line-height: 1.2;
    }

    .section-desc {
      color: var(--text-muted);
      max-width: 650px;
      font-size: 1.05rem;
      margin-top: 14px;
    }

    /* Maison Story Section */
    .story-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(40px, 6vw, 90px);
      align-items: center;
      position: relative;
      z-index: 1;
    }

    @media (max-width: 992px) {
      .story-grid { grid-template-columns: 1fr; }
    }

    .story-card-wrapper {
      position: relative;
    }

    .story-img-main {
      width: 100%;
      border-radius: 8px;
      border: 1px solid var(--border-gold-bright);
      box-shadow: var(--shadow-luxury);
    }

    .story-img-sub {
      position: absolute;
      bottom: -30px;
      left: -30px;
      width: 55%;
      border: 4px solid var(--bg-dark);
      border-radius: 6px;
      box-shadow: var(--shadow-luxury);
    }

    html[dir="rtl"] .story-img-sub {
      left: auto;
      right: -30px;
    }

    @media (max-width: 768px) {
      .story-img-sub {
        right: 10px !important;
        left: auto !important;
        bottom: -20px;
        width: 65%;
      }
      html[dir="ltr"] .story-img-sub {
        right: auto !important;
        left: 10px !important;
      }
    }

    .story-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 36px;
      background: rgba(212, 175, 55, 0.08);
      border: 1px solid var(--border-gold);
      padding: 20px;
      border-radius: 6px;
      text-align: center;
    }

    .stat-num {
      font-size: 1.7rem;
      color: var(--gold-light);
      font-family: var(--font-ar-title);
      font-weight: 700;
    }

    .stat-label {
      font-size: 0.8rem;
      color: var(--text-muted);
    }

    /* Collection / Shop Section */
    #shop {
      position: relative;
      background-color: #0D0703;
      background-image: 
        radial-gradient(ellipse at 50% 30%, rgba(55, 32, 10, 0.96) 0%, rgba(9, 5, 2, 0.98) 100%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='none' stroke='%23D4AF37' stroke-width='1.5' stroke-opacity='0.40'%3E%3Cpath d='M70 15l15 35 35 15-35 15-15 35-15-35-35-15 35-15z'/%3E%3Cpath d='M70 35l7 20 20 7-20 7-7 20-7-20-20-7 20-7z' fill='%23D4AF37' fill-opacity='0.08'/%3E%3Ccircle cx='70' cy='70' r='12' stroke-width='1.2'/%3E%3Ccircle cx='70' cy='70' r='4' fill='%23D4AF37' fill-opacity='0.3'/%3E%3Cpath d='M0 0l20 20M140 0l-20 20M0 140l20-20M140 140l-20-20' stroke-opacity='0.25'/%3E%3C/g%3E%3C/svg%3E");
      background-size: cover, 140px 140px;
      border-top: 1px solid var(--border-gold-bright);
      border-bottom: 1px solid var(--border-gold-bright);
    }

    .filter-bar {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 40px;
      align-items: center;
      justify-content: space-between;
    }

    .categories-tabs {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .tab-btn {
      padding: 10px 22px;
      border: 1px solid var(--border-gold);
      background: rgba(24, 15, 6, 0.6);
      color: var(--text-muted);
      border-radius: 4px;
      font-size: 0.88rem;
      transition: var(--transition);
    }

    .tab-btn.active, .tab-btn:hover {
      background: var(--gold-primary);
      color: var(--bg-dark);
      border-color: var(--gold-primary);
      font-weight: 600;
    }

    .search-box {
      position: relative;
      min-width: 260px;
    }

    .search-box input {
      width: 100%;
      padding: 10px 18px 10px 40px;
      background: rgba(24, 15, 6, 0.8);
      border: 1px solid var(--border-gold);
      color: var(--text-main);
      border-radius: 4px;
      font-size: 0.88rem;
      outline: none;
      transition: var(--transition);
    }

    html[dir="rtl"] .search-box input {
      padding: 10px 40px 10px 18px;
    }

    .search-box .search-icon {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 12px;
      color: var(--text-muted);
      pointer-events: none;
    }

    html[dir="rtl"] .search-box .search-icon {
      left: auto;
      right: 12px;
    }

    .search-box input:focus {
      border-color: var(--gold-primary);
      box-shadow: 0 0 15px var(--gold-glow);
    }

    .product-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
      gap: 32px;
      position: relative;
      z-index: 1;
    }

    .product-card {
      background: var(--bg-card);
      border: 1px solid var(--border-gold);
      border-radius: 8px;
      overflow: hidden;
      transition: var(--transition);
      display: flex;
      flex-direction: column;
      position: relative;
    }

    .product-card:hover {
      transform: translateY(-8px);
      border-color: var(--border-gold-bright);
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.7);
      background: var(--bg-card-hover);
    }

    .product-img-wrapper {
      position: relative;
      aspect-ratio: 1/1;
      overflow: hidden;
      background: 
        radial-gradient(circle at 50% 40%, rgba(42, 26, 12, 0.95) 0%, rgba(12, 7, 2, 0.98) 100%),
        linear-gradient(135deg, rgba(212, 175, 55, 0.05) 0%, transparent 100%);
      border-bottom: 1px solid var(--border-gold);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 22px;
      box-shadow: inset 0 0 35px rgba(0, 0, 0, 0.85);
      cursor: pointer;
    }

    .product-img-wrapper img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.85));
      transition: transform 0.6s var(--transition), filter 0.6s var(--transition);
    }

    .product-card:hover .product-img-wrapper img {
      transform: scale(1.07);
      filter: drop-shadow(0 20px 30px rgba(212, 175, 55, 0.25));
    }

    .product-tag {
      position: absolute;
      top: 14px;
      right: 14px;
      background: var(--crimson-velvet);
      color: #FFF;
      font-size: 0.7rem;
      padding: 4px 10px;
      border-radius: 3px;
      font-weight: 600;
    }

    html[dir="rtl"] .product-tag {
      right: auto;
      left: 14px;
    }

    .product-details {
      padding: 22px;
      display: flex;
      flex-direction: column;
      flex: 1;
    }

    .product-cat {
      font-size: 0.76rem;
      color: var(--gold-primary);
      text-transform: uppercase;
      margin-bottom: 6px;
      font-weight: 600;
    }

    .product-title {
      font-size: 1.25rem;
      color: var(--text-main);
      margin-bottom: 10px;
      line-height: 1.3;
    }

    .product-desc {
      font-size: 0.88rem;
      color: var(--text-muted);
      margin-bottom: 20px;
      line-height: 1.6;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .product-footer {
      margin-top: auto;
      padding-top: 16px;
      border-top: 1px solid rgba(212, 175, 55, 0.15);
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .product-price {
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--gold-light);
      font-family: var(--font-ar-title);
    }

    .btn-add-cart {
      padding: 8px 18px;
      background: rgba(212, 175, 55, 0.15);
      border: 1px solid var(--border-gold);
      color: var(--text-gold);
      border-radius: 4px;
      font-size: 0.82rem;
      transition: var(--transition);
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .btn-add-cart:hover {
      background: var(--gold-primary);
      color: var(--bg-dark);
      border-color: var(--gold-primary);
      font-weight: 600;
    }

    /* OVERHAULED: Royal Bespoke Atelier & Live Engraving Studio */
    .simulator-section {
      background: 
        linear-gradient(180deg, rgba(20, 12, 4, 0.95) 0%, rgba(10, 5, 2, 0.98) 100%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='rgba(212,175,55,0.1)' stroke-width='1.2'%3E%3Cpath d='M60 24l7.4 21 20.9-7.2-7.2 20.9 21 7.3-21 7.3 7.2 20.9-20.9-7.2-7.4 21-7.4-21-20.9 7.2 7.2-20.9-21-7.3 21-7.3-7.2-20.9 20.9 7.2z'/%3E%3C/g%3E%3C/svg%3E");
      border-top: 1px solid var(--border-gold);
      border-bottom: 1px solid var(--border-gold);
      position: relative;
    }

    .simulator-card-outer {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: center;
      background: rgba(22, 14, 5, 0.88);
      backdrop-filter: blur(16px);
      border: 1px solid var(--border-gold-bright);
      border-radius: 14px;
      padding: clamp(24px, 4vw, 54px);
      box-shadow: 0 40px 80px -20px rgba(0, 0, 0, 0.9);
      position: relative;
      z-index: 1;
    }

    @media (max-width: 992px) {
      .simulator-card-outer { grid-template-columns: 1fr; }
    }

    /* 3D Royal Box Lid Visualizer */
    .preview-box-wood {
      aspect-ratio: 16/10;
      background: radial-gradient(circle at 50% 50%, #2A1709 0%, #150A02 100%);
      border: 12px solid #361F0B;
      border-radius: 10px;
      box-shadow: 
        inset 0 0 50px rgba(0,0,0,0.9), 
        0 25px 50px rgba(0,0,0,0.7),
        0 0 30px rgba(212, 175, 55, 0.15);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 30px;
      position: relative;
      overflow: hidden;
      transition: var(--transition);
    }

    /* 4 Corner Brass Rosettes */
    .corner-rosette {
      position: absolute;
      width: 28px;
      height: 28px;
      color: var(--gold-primary);
      opacity: 0.8;
      pointer-events: none;
    }

    .corner-rosette.top-left { top: 12px; left: 12px; }
    .corner-rosette.top-right { top: 12px; right: 12px; }
    .corner-rosette.bottom-left { bottom: 12px; left: 12px; }
    .corner-rosette.bottom-right { bottom: 12px; right: 12px; }

    .preview-inlay-frame {
      position: absolute;
      inset: 22px;
      border: 2px dashed rgba(212, 175, 55, 0.45);
      border-radius: 6px;
      pointer-events: none;
    }

    .preview-engraved-text {
      font-family: var(--font-ar-title);
      font-size: clamp(1.8rem, 3.5vw, 3rem);
      background: linear-gradient(135deg, #FFF5D6 0%, #D4AF37 50%, #AA7C26 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      text-shadow: 0 2px 10px rgba(0,0,0,0.9);
      text-align: center;
      line-height: 1.4;
      word-break: break-word;
      transition: var(--transition);
      position: relative;
      z-index: 2;
    }

    .sim-controls {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .input-group label {
      display: block;
      font-size: 0.9rem;
      color: var(--gold-light);
      margin-bottom: 8px;
      font-weight: 500;
    }

    .input-group input, .input-group select {
      width: 100%;
      padding: 12px 18px;
      background: rgba(9, 5, 2, 0.85);
      border: 1px solid var(--border-gold);
      color: var(--text-main);
      border-radius: 6px;
      font-size: 0.95rem;
      outline: none;
    }

    .input-group input:focus, .input-group select:focus {
      border-color: var(--gold-primary);
      box-shadow: 0 0 15px var(--gold-glow);
    }

    /* Cart Drawer */
    .cart-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.75);
      backdrop-filter: blur(8px);
      z-index: 200;
      opacity: 0;
      pointer-events: none;
      transition: var(--transition);
    }

    .cart-overlay.open {
      opacity: 1;
      pointer-events: auto;
    }

    .cart-drawer {
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      width: min(440px, 100vw);
      background: #140C04;
      border-right: 1px solid var(--border-gold-bright);
      z-index: 201;
      transform: translateX(-100%);
      transition: transform 0.5s cubic-bezier(0.22, 0.8, 0.3, 1);
      display: flex;
      flex-direction: column;
    }

    html[dir="rtl"] .cart-drawer {
      left: auto;
      right: 0;
      border-right: none;
      border-left: 1px solid var(--border-gold-bright);
      transform: translateX(100%);
    }

    .cart-overlay.open .cart-drawer {
      transform: translateX(0);
    }

    .cart-header {
      padding: 24px 28px;
      border-bottom: 1px solid var(--border-gold);
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .cart-header h3 {
      font-size: 1.2rem;
      color: var(--gold-light);
    }

    .cart-close-btn {
      font-size: 1.8rem;
      color: var(--text-muted);
      transition: var(--transition);
    }

    .cart-close-btn:hover {
      color: var(--crimson-velvet);
    }

    .cart-body {
      flex: 1;
      overflow-y: auto;
      padding: 20px 28px;
    }

    .cart-item {
      display: grid;
      grid-template-columns: 70px 1fr auto;
      gap: 16px;
      padding: 16px 0;
      border-bottom: 1px solid rgba(212, 175, 55, 0.15);
      align-items: center;
    }

    .cart-item img {
      width: 70px;
      height: 70px;
      object-fit: cover;
      border-radius: 4px;
      border: 1px solid var(--border-gold);
    }

    .cart-item-title {
      font-size: 0.95rem;
      color: var(--text-main);
      margin-bottom: 4px;
    }

    .cart-item-price {
      font-size: 0.85rem;
      color: var(--gold-primary);
    }

    .qty-controls {
      display: inline-flex;
      align-items: center;
      border: 1px solid var(--border-gold);
      border-radius: 4px;
      margin-top: 6px;
    }

    .qty-btn {
      width: 26px;
      height: 26px;
      color: var(--text-main);
      font-weight: 700;
    }

    .qty-val {
      padding: 0 10px;
      font-size: 0.85rem;
    }

    .cart-footer {
      padding: 24px 28px;
      background: #0D0702;
      border-top: 1px solid var(--border-gold);
    }

    .cart-total {
      display: flex;
      justify-content: space-between;
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--gold-light);
      margin-bottom: 18px;
      font-family: var(--font-ar-title);
    }

    .btn-whatsapp-order {
      width: 100%;
      padding: 16px;
      background: #25D366;
      color: #FFF;
      font-weight: 700;
      font-size: 0.95rem;
      border-radius: 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      transition: var(--transition);
    }

    .btn-whatsapp-order:hover {
      background: #1EBE5D;
      box-shadow: 0 0 20px rgba(37, 211, 102, 0.4);
    }

    /* Modal Quick View */
    .modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.85);
      backdrop-filter: blur(10px);
      z-index: 300;
      display: grid;
      place-items: center;
      padding: 20px;
      opacity: 0;
      pointer-events: none;
      transition: var(--transition);
    }

    .modal-overlay.open {
      opacity: 1;
      pointer-events: auto;
    }

    .modal-card {
      background: #140C04;
      border: 1px solid var(--border-gold-bright);
      border-radius: 10px;
      max-width: 860px;
      width: 100%;
      display: grid;
      grid-template-columns: 1fr 1fr;
      overflow: hidden;
      position: relative;
      box-shadow: var(--shadow-luxury);
    }

    @media (max-width: 768px) {
      .modal-card { grid-template-columns: 1fr; }
    }

    .modal-img-wrapper {
      background: #090502;
      padding: 30px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .modal-img-wrapper img {
      width: 100%;
      max-height: 380px;
      object-fit: contain;
    }

    .modal-content {
      padding: 36px;
      display: flex;
      flex-direction: column;
    }

    .modal-close {
      position: absolute;
      top: 16px;
      left: 16px;
      font-size: 1.8rem;
      color: var(--text-muted);
    }

    html[dir="rtl"] .modal-close {
      left: auto;
      right: 16px;
    }

    /* Toast Notification */
    .toast {
      position: fixed;
      bottom: 30px;
      left: 50%;
      transform: translateX(-50%) translateY(100px);
      background: var(--gold-primary);
      color: var(--bg-dark);
      padding: 12px 28px;
      border-radius: 30px;
      font-weight: 700;
      font-size: 0.9rem;
      z-index: 400;
      box-shadow: 0 10px 25px rgba(0,0,0,0.5);
      transition: var(--transition);
      opacity: 0;
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }

    .toast.show {
      transform: translateX(-50%) translateY(0);
      opacity: 1;
    }

    /* Footer */
    footer {
      background: #060301;
      border-top: 1px solid var(--border-gold);
      padding: 80px 0 30px;
      color: var(--text-muted);
      position: relative;
      overflow: hidden;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
      gap: 40px;
      margin-bottom: 60px;
      position: relative;
      z-index: 1;
    }

    @media (max-width: 992px) {
      .footer-grid { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 576px) {
      .footer-grid { grid-template-columns: 1fr; }
    }

    .footer-col h3, .footer-col h4 {
      color: var(--gold-light);
      font-size: 1.1rem;
      margin-bottom: 20px;
      font-family: var(--font-ar-title);
    }

    .footer-col ul {
      list-style: none;
      display: grid;
      gap: 12px;
      font-size: 0.9rem;
    }

    .footer-col a:hover {
      color: var(--gold-primary);
    }

    .footer-bottom {
      border-top: 1px solid rgba(212, 175, 55, 0.15);
      padding-top: 24px;
      display: flex;
      justify-content: space-between;
      font-size: 0.82rem;
      flex-wrap: wrap;
      gap: 16px;
      position: relative;
      z-index: 1;
    }
  
/* ================= MULTIPAGE EXTENSIONS ================= */
.view-all-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  border:1px dashed var(--border-gold-bright);background:var(--bg-card);min-height:320px;
  text-decoration:none;color:var(--text-gold);transition:all .35s ease;
}
.view-all-card:hover{background:var(--bg-card-hover);border-style:solid;transform:translateY(-4px)}
.view-all-card .va-num{font-family:'Marcellus',serif;font-size:3.2rem;color:var(--gold-primary);line-height:1}
.view-all-card .va-txt{font-size:1rem;letter-spacing:.05em}
.view-all-card .va-arrow{font-size:1.4rem;transition:transform .3s}
.view-all-card:hover .va-arrow{transform:translateX(-6px)}
[dir="ltr"] .view-all-card .va-arrow{transform:scaleX(-1)}

.page-hero{
  padding:150px 0 60px;text-align:center;position:relative;
  background:radial-gradient(ellipse at 50% 0%, rgba(212,175,55,.10), transparent 60%);
  border-bottom:1px solid var(--border-gold);
}
.page-hero h1{font-family:'Amiri','Marcellus',serif;font-size:clamp(2rem,4.5vw,3.2rem);color:var(--text-main);margin:12px 0 10px}
[lang="en"] .page-hero h1{font-family:'Marcellus',serif}
.page-hero p{color:var(--text-muted);max-width:60ch;margin:0 auto}
.breadcrumb{display:flex;justify-content:center;gap:10px;font-size:.85rem;color:var(--text-muted);margin-bottom:6px}
.breadcrumb a{color:var(--text-gold);text-decoration:none}
.breadcrumb a:hover{color:var(--gold-light)}

.shop-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin:34px 0 26px}
.shop-count{color:var(--text-muted);font-size:.9rem}
.sort-select{
  background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-gold);
  padding:10px 16px;font-family:inherit;font-size:.9rem;cursor:pointer;
}
.sort-select:focus{outline:none;border-color:var(--gold-primary)}

/* product detail */
.pd-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);padding:40px 0 70px}
@media(max-width:900px){.pd-grid{grid-template-columns:1fr}}
.pd-gallery-main{
  border:1px solid var(--border-gold);background:#0e0803;display:grid;place-items:center;
  aspect-ratio:1/1;overflow:hidden;position:relative;
}
.pd-gallery-main img{width:100%;height:100%;object-fit:contain;padding:4%}
.pd-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pd-thumb{
  width:82px;height:82px;border:1px solid var(--border-gold);background:#0e0803;cursor:pointer;
  display:grid;place-items:center;overflow:hidden;opacity:.65;transition:all .25s;
}
.pd-thumb img{width:100%;height:100%;object-fit:cover}
.pd-thumb.active,.pd-thumb:hover{opacity:1;border-color:var(--gold-primary)}
.pd-info .product-cat{margin-bottom:10px}
.pd-info h1{font-family:'Amiri','Marcellus',serif;font-size:clamp(1.7rem,3.4vw,2.6rem);color:var(--text-main);margin-bottom:14px;line-height:1.25}
[lang="en"] .pd-info h1{font-family:'Marcellus',serif}
.pd-price{font-family:'Marcellus',serif;font-size:2rem;color:var(--gold-primary);margin:6px 0 20px}
.pd-price small{font-size:1rem;color:var(--text-gold);margin-inline-end:6px}
.pd-desc{color:var(--text-muted);line-height:1.9;margin-bottom:26px;max-width:56ch}
.pd-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.pd-meta{border-top:1px solid var(--border-gold);padding-top:20px;display:grid;gap:10px;color:var(--text-muted);font-size:.92rem}
.pd-meta b{color:var(--text-gold);font-weight:500}
.related-title{font-family:'Amiri','Marcellus',serif;font-size:1.6rem;color:var(--text-main);margin:20px 0 24px}

/* about page */
.about-block{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;padding:56px 0}
@media(max-width:900px){.about-block{grid-template-columns:1fr}}
.about-block img{width:100%;border:1px solid var(--border-gold)}
.about-block h2{font-family:'Amiri','Marcellus',serif;font-size:clamp(1.6rem,3vw,2.3rem);color:var(--text-main);margin-bottom:14px}
.about-block p{color:var(--text-muted);line-height:1.95;margin-bottom:12px}
.mosaic-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:10px 0 60px}
.mosaic-strip img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--border-gold);opacity:.9;transition:all .3s}
.mosaic-strip img:hover{opacity:1;transform:scale(1.03)}
@media(max-width:700px){.mosaic-strip{grid-template-columns:repeat(3,1fr)}}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:70px}
@media(max-width:800px){.values-grid{grid-template-columns:1fr}}
.value-card{background:var(--bg-card);border:1px solid var(--border-gold);padding:28px 24px}
.value-card h3{color:var(--text-gold);font-size:1.1rem;margin-bottom:8px}
.value-card p{color:var(--text-muted);font-size:.92rem;line-height:1.8}

/* contact page */
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:40px 0}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}
.contact-card{
  background:var(--bg-card);border:1px solid var(--border-gold);padding:30px 26px;
  display:flex;gap:18px;align-items:flex-start;transition:all .3s;text-decoration:none;
}
.contact-card:hover{background:var(--bg-card-hover);border-color:var(--border-gold-bright);transform:translateY(-3px)}
.contact-card svg{width:30px;height:30px;color:var(--gold-primary);flex:none;margin-top:2px}
.contact-card h3{color:var(--text-main);font-size:1.05rem;margin-bottom:4px}
.contact-card p{color:var(--text-muted);font-size:.92rem;line-height:1.7}
.faq-wrap{max-width:820px;margin:0 auto;padding-bottom:70px}
.faq-item{border:1px solid var(--border-gold);background:var(--bg-card);margin-bottom:12px}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:none;border:none;color:var(--text-main);font-family:inherit;font-size:1rem;
  padding:20px 22px;cursor:pointer;text-align:start;
}
.faq-q span:last-child{color:var(--gold-primary);font-size:1.3rem;transition:transform .3s}
.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;color:var(--text-muted);line-height:1.9;padding:0 22px}
.faq-item.open .faq-a{max-height:300px;padding-bottom:20px}

/* photo map (interno) */
.pm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;padding:30px 0 70px}
.pm-cell{border:1px solid var(--border-gold);background:var(--bg-card);padding:8px}
.pm-cell img{width:100%;aspect-ratio:1/1;object-fit:cover}
.pm-cell .pm-num{color:var(--gold-primary);font-family:'Marcellus',serif;font-size:1.1rem}
.pm-cell .pm-prod{color:var(--text-muted);font-size:.8rem;line-height:1.5}

.cart-empty{color:var(--text-muted);text-align:center;padding:50px 20px}
.product-card .product-img-wrapper{display:block;text-decoration:none}

/* ================= WOW LAYER ================= */
.scroll-progress{position:fixed;top:0;inset-inline-start:0;height:3px;width:0;z-index:2000;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-primary),var(--gold-light));
  box-shadow:0 0 12px var(--gold-glow);transition:width .1s linear}
[data-rv]{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.22,.8,.3,1),transform .9s cubic-bezier(.22,.8,.3,1)}
[data-rv].rv-in{opacity:1;transform:none}
[data-rv="1"]{transition-delay:.12s}[data-rv="2"]{transition-delay:.24s}[data-rv="3"]{transition-delay:.36s}
@media(prefers-reduced-motion:reduce){[data-rv]{opacity:1;transform:none}}

#goldDust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.hero-word-bg{position:absolute;z-index:1;inset-inline-end:-2%;top:8%;pointer-events:none;user-select:none;
  font-family:'Amiri',serif;font-size:clamp(8rem,20vw,19rem);line-height:1;color:transparent;
  -webkit-text-stroke:1px rgba(212,175,55,.20);animation:wordGlow 6s ease-in-out infinite}
@keyframes wordGlow{0%,100%{-webkit-text-stroke-color:rgba(212,175,55,.14)}50%{-webkit-text-stroke-color:rgba(212,175,55,.3)}}
.gold-shine{background:linear-gradient(100deg,var(--gold-deep) 20%,var(--gold-light) 40%,#fff6d8 50%,var(--gold-light) 60%,var(--gold-deep) 80%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5.5s linear infinite}
@keyframes shine{to{background-position:-220% 0}}

/* --- sadaf shimmer --- */
.shimmer-sec .container{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
@media(max-width:900px){.shimmer-sec .container{grid-template-columns:1fr}}
.shimmer-card{position:relative;border:1px solid var(--border-gold-bright);overflow:hidden;cursor:crosshair;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8);--mx:50%;--my:35%}
.shimmer-card img{width:100%;display:block}
.shimmer-card::after{content:'';position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(circle 240px at var(--mx) var(--my),rgba(255,246,214,.55),rgba(212,175,55,.22) 40%,transparent 70%);
  transition:opacity .3s}
.shimmer-card::before{content:'';position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:.5;
  background:radial-gradient(circle 340px at var(--mx) var(--my),rgba(150,220,255,.25),rgba(255,170,220,.15) 45%,transparent 75%)}
.shimmer-cap{display:flex;align-items:center;gap:10px;margin-top:14px;color:var(--text-muted);font-size:.88rem}
.shimmer-cap::before{content:'✦';color:var(--gold-primary)}

/* --- counters --- */
.counters-band{border-block:1px solid var(--border-gold);background:linear-gradient(180deg,rgba(212,175,55,.05),transparent);
  padding:54px 0}
.counters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
@media(max-width:820px){.counters-grid{grid-template-columns:repeat(2,1fr);gap:34px 20px}}
.counter-num{font-family:'Marcellus',serif;font-size:clamp(2.2rem,4.5vw,3.6rem);color:var(--gold-primary);line-height:1}
.counter-lbl{color:var(--text-muted);font-size:.88rem;margin-top:8px}

/* --- showcase orizzontale --- */
.showcase-scroll{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px 26px;
  scrollbar-width:thin;scrollbar-color:var(--gold-deep) transparent}
.showcase-scroll::-webkit-scrollbar{height:6px}
.showcase-scroll::-webkit-scrollbar-thumb{background:var(--gold-deep)}
.show-card{flex:0 0 min(340px,82vw);scroll-snap-align:start;background:var(--bg-card);border:1px solid var(--border-gold);
  text-decoration:none;transition:transform .4s,border-color .4s;position:relative;overflow:hidden}
.show-card:hover{transform:translateY(-8px);border-color:var(--border-gold-bright)}
.show-card .sc-img{aspect-ratio:1/1;background:#0e0803;display:grid;place-items:center;overflow:hidden}
.show-card .sc-img img{width:100%;height:100%;object-fit:contain;padding:6%;transition:transform .8s}
.show-card:hover .sc-img img{transform:scale(1.06)}
.show-card .sc-body{padding:18px 20px 22px;border-top:1px solid var(--border-gold)}
.show-card .sc-num{position:absolute;top:10px;inset-inline-start:16px;font-family:'Marcellus',serif;font-size:2.6rem;
  color:transparent;-webkit-text-stroke:1px rgba(212,175,55,.5);line-height:1}
.show-card h3{color:var(--text-main);font-size:1.1rem;margin-bottom:6px}
.show-card .sc-price{color:var(--gold-primary);font-family:'Marcellus',serif;font-size:1.15rem}

/* --- corporate --- */
.corp-sec .corp-card{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--border-gold-bright);
  background:linear-gradient(135deg,rgba(212,175,55,.08),rgba(24,15,6,.9));overflow:hidden;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
@media(max-width:900px){.corp-sec .corp-card{grid-template-columns:1fr}}
.corp-txt{padding:clamp(30px,4.5vw,60px)}
.corp-txt p{color:var(--text-muted);line-height:1.95;margin:14px 0 20px;max-width:56ch}
.corp-list{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:10px;color:var(--text-gold);font-size:.95rem}
.corp-list li::before{content:'✦ ';color:var(--gold-primary)}
.corp-imgs{display:grid;grid-template-rows:1fr 1fr;min-height:340px}
.corp-imgs img{width:100%;height:100%;object-fit:cover;border-inline-start:1px solid var(--border-gold)}
.corp-imgs img:first-child{border-bottom:1px solid var(--border-gold)}

/* --- testimonianze --- */
.tst-sec{overflow:hidden}
.tst-frame{max-width:840px;margin:0 auto;overflow:hidden;border:1px solid var(--border-gold);background:var(--bg-card);position:relative}
.tst-frame::before{content:'\201C';position:absolute;top:-16px;inset-inline-start:26px;font-family:'Amiri',serif;
  font-size:7rem;color:rgba(212,175,55,.35);line-height:1;pointer-events:none}
.tst-track{display:flex;transition:transform .7s cubic-bezier(.22,.8,.3,1)}
.tst-slide{flex:0 0 100%;padding:clamp(40px,6vw,64px) clamp(26px,5vw,70px)}
.tst-q{font-family:'Amiri',serif;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:2;color:var(--text-main);margin-bottom:22px}
[lang="en"] .tst-q{font-family:'Cormorant Garamond',serif}
.tst-w{color:var(--gold-primary);font-size:.9rem;letter-spacing:.06em}
.tst-dots{display:flex;justify-content:center;gap:10px;margin-top:22px}
.tst-dots button{width:10px;height:10px;border-radius:50%;border:1px solid var(--gold-deep);background:transparent;cursor:pointer;padding:0;transition:all .3s}
.tst-dots button.on{background:var(--gold-primary);border-color:var(--gold-primary)}

/* --- gallery wall --- */
.gal-grid{columns:4 220px;column-gap:12px}
.gal-grid img{width:100%;margin-bottom:12px;border:1px solid var(--border-gold);cursor:zoom-in;transition:all .35s;display:block}
.gal-grid img:hover{border-color:var(--gold-primary);transform:scale(1.015);box-shadow:0 14px 40px -18px rgba(212,175,55,.35)}

/* --- lightbox --- */
.lightbox{position:fixed;inset:0;z-index:3000;background:rgba(5,3,0,.94);display:grid;place-items:center;
  opacity:0;pointer-events:none;transition:opacity .3s}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox img{max-width:92vw;max-height:88vh;border:1px solid var(--border-gold-bright);box-shadow:0 0 80px rgba(212,175,55,.2)}
.lb-close{position:fixed;top:18px;inset-inline-end:24px;background:none;border:none;color:var(--gold-light);font-size:2.4rem;cursor:pointer;line-height:1}

/* --- back to top --- */
.back-top{position:fixed;bottom:26px;inset-inline-end:26px;z-index:1500;width:48px;height:48px;
  border:1px solid var(--border-gold-bright);background:var(--bg-card);color:var(--gold-primary);font-size:1.3rem;
  cursor:pointer;opacity:0;pointer-events:none;transition:all .35s;display:grid;place-items:center}
.back-top.show{opacity:1;pointer-events:auto}
.back-top:hover{background:var(--gold-primary);color:#090502}

/* --- simulatore 3D senza foto --- */
.preview-box-wood {
  aspect-ratio: 16/10;
  background: radial-gradient(circle at 50% 50%, #2A1709 0%, #150A02 100%);
  border: 10px solid #361F0B;
  border-radius: 10px;
  box-shadow: 
    inset 0 0 50px rgba(0,0,0,0.9), 
    0 25px 50px rgba(0,0,0,0.7),
    0 0 30px rgba(212, 175, 55, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px;
  position: relative;
  overflow: hidden;
  transition: var(--transition);
}

.corner-rosette {
  position: absolute;
  width: 28px;
  height: 28px;
  color: var(--gold-primary);
  opacity: 0.8;
  pointer-events: none;
}
.corner-rosette.top-left { top: 12px; left: 12px; }
.corner-rosette.top-right { top: 12px; right: 12px; }
.corner-rosette.bottom-left { bottom: 12px; left: 12px; }
.corner-rosette.bottom-right { bottom: 12px; right: 12px; }

.preview-inlay-frame {
  position: absolute;
  inset: 22px;
  border: 2px dashed rgba(212, 175, 55, 0.45);
  border-radius: 6px;
  pointer-events: none;
}

.preview-engraved-text {
  font-family: var(--font-ar-title);
  font-size: clamp(1.6rem, 3.5vw, 2.8rem);
  background: linear-gradient(135deg, #FFF5D6 0%, #D4AF37 50%, #AA7C26 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 2px 10px rgba(0,0,0,0.9);
  text-align: center;
  line-height: 1.4;
  word-break: break-word;
  transition: var(--transition);
  position: relative;
  z-index: 2;
}

[lang="en"] .preview-engraved-text {
  font-family: var(--font-en-title) !important;
}

.sim-badge {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(9, 5, 2, 0.88);
  border: 1px solid var(--border-gold);
  color: var(--gold-light);
  font-size: 0.74rem;
  padding: 4px 14px;
  border-radius: 20px;
  letter-spacing: 0.05em;
  pointer-events: none;
  z-index: 3;
}

/* --- about v2 --- */
.ab-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden;
  border-bottom:1px solid var(--border-gold)}
.ab-hero .ab-bg{position:absolute;inset:0}
.ab-hero .ab-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.ab-hero::before{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,#090502 4%,rgba(9,5,2,.72) 40%,rgba(9,5,2,.35))}
.ab-hero .container{position:relative;z-index:2;padding-bottom:56px;padding-top:160px}
.ab-hero h1{font-family:'Amiri','Marcellus',serif;font-size:clamp(2.2rem,5vw,3.8rem);color:var(--text-main);margin-bottom:12px}
[lang="en"] .ab-hero h1{font-family:'Marcellus',serif}
.ab-hero p{color:var(--text-gold);max-width:60ch;font-size:1.05rem}

.timeline{position:relative;max-width:900px;margin:0 auto;padding:30px 0 60px}
.timeline::before{content:'';position:absolute;top:0;bottom:0;inset-inline-start:24px;width:2px;
  background:linear-gradient(var(--gold-deep),var(--gold-primary),var(--gold-deep));opacity:.55}
.tl-item{position:relative;padding-inline-start:74px;padding-bottom:44px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:'✦';position:absolute;inset-inline-start:13px;top:2px;color:var(--gold-primary);
  background:#090502;font-size:1.4rem;line-height:1;text-shadow:0 0 14px var(--gold-glow)}
.tl-year{color:var(--gold-primary);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.tl-item h3{color:var(--text-main);font-size:1.3rem;margin:6px 0 8px;font-family:'Amiri','Marcellus',serif}
[lang="en"] .tl-item h3{font-family:'Marcellus',serif}
.tl-item p{color:var(--text-muted);line-height:1.95;max-width:58ch}
.tl-img{margin-top:14px;max-width:340px;border:1px solid var(--border-gold)}
.tl-img img{width:100%;display:block}

.prc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:60px}
@media(max-width:1000px){.prc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.prc-grid{grid-template-columns:1fr}}
.prc-card{background:var(--bg-card);border:1px solid var(--border-gold);overflow:hidden;transition:transform .4s,border-color .4s}
.prc-card:hover{transform:translateY(-6px);border-color:var(--border-gold-bright)}
.prc-card .pc-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.prc-card .pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.prc-card:hover .pc-img img{transform:scale(1.07)}
.prc-card .pc-num{position:absolute;bottom:-14px;inset-inline-start:14px;font-family:'Marcellus',serif;font-size:3.2rem;
  line-height:1;color:#F4EAD2;-webkit-text-stroke:1.5px var(--gold-primary);text-shadow:0 8px 22px rgba(0,0,0,.7)}
.prc-card .pc-body{padding:26px 18px 22px}
.prc-card h3{color:var(--text-gold);font-size:1.05rem;margin-bottom:6px}
.prc-card p{color:var(--text-muted);font-size:.9rem;line-height:1.8}

.pull-quote{max-width:860px;margin:0 auto;text-align:center;padding:50px 20px 70px}
.pull-quote .pq-txt{font-family:'Amiri',serif;font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.9;color:var(--text-main)}
[lang="en"] .pull-quote .pq-txt{font-family:'Cormorant Garamond',serif;font-style:italic}
.pull-quote .pq-who{margin-top:16px;color:var(--gold-primary);letter-spacing:.1em;font-size:.9rem}

/* ================= BESPOKE V2 ================= */
.bsp-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,60px);align-items:start;margin-top:clamp(30px,4vw,50px)}
@media(max-width:960px){.bsp-grid{grid-template-columns:1fr}}
.bsp-preview{position:sticky;top:110px}
@media(max-width:960px){.bsp-preview{position:static}}
.bsp-estimate{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;
  border:1px solid var(--border-gold-bright);background:linear-gradient(135deg,rgba(212,175,55,.10),rgba(24,15,6,.85));
  padding:18px 22px}
.bsp-est-lbl{display:block;color:var(--text-gold);font-size:.92rem}
.bsp-est-note{display:block;color:var(--text-muted);font-size:.72rem;margin-top:2px}
.bsp-est-val{font-family:'Marcellus',serif;font-size:2rem;color:var(--gold-primary);white-space:nowrap}
.bsp-est-val small{font-size:.95rem;color:var(--text-gold)}

.bsp-panel{display:grid;gap:26px}
.bsp-step{border:1px solid var(--border-gold);background:var(--bg-card);padding:22px 22px 24px;
  transition:border-color .3s}
.bsp-step:focus-within,.bsp-step:hover{border-color:var(--border-gold-bright)}
.bsp-step-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.bsp-num{width:34px;height:34px;flex:none;display:grid;place-items:center;border:1px solid var(--gold-primary);
  border-radius:50%;color:var(--gold-primary);font-family:'Amiri',serif;font-size:1.15rem;
  box-shadow:0 0 14px rgba(212,175,55,.18) inset}
.bsp-step-head h3{color:var(--text-main);font-size:1.02rem;margin:0}

.bsp-input-wrap{position:relative}
.bsp-input-wrap input{width:100%;background:#0e0803;border:1px solid var(--border-gold);color:var(--text-main);
  font-family:'Amiri',serif;font-size:1.25rem;padding:16px 18px;padding-inline-end:70px;transition:all .3s}
.bsp-input-wrap input:focus{outline:none;border-color:var(--gold-primary);box-shadow:0 0 0 3px rgba(212,175,55,.12)}
.bsp-input-wrap input::placeholder{color:#5c4a2e}
.bsp-count{position:absolute;inset-inline-end:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.75rem}

.bsp-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:520px){.bsp-pills{grid-template-columns:1fr}}
.bsp-pill{background:#0e0803;border:1px solid var(--border-gold);color:var(--text-muted);cursor:pointer;
  padding:14px 10px;display:grid;gap:6px;justify-items:center;transition:all .25s;font-size:.78rem}
.bsp-pill-demo{font-size:1.5rem;color:var(--text-main);line-height:1.2}
.bsp-pill:hover{border-color:var(--gold-primary)}
.bsp-pill.on{border-color:var(--gold-primary);background:linear-gradient(180deg,rgba(212,175,55,.14),rgba(212,175,55,.04));
  color:var(--text-gold);box-shadow:0 8px 24px -12px rgba(212,175,55,.35)}
.bsp-pill.on .bsp-pill-demo{color:var(--gold-light)}

.bsp-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:520px){.bsp-sizes{grid-template-columns:1fr}}
.bsp-size{position:relative;background:#0e0803;border:1px solid var(--border-gold);color:var(--text-muted);
  cursor:pointer;padding:18px 10px 14px;display:grid;gap:2px;justify-items:center;transition:all .25s}
.bsp-size:hover{border-color:var(--gold-primary)}
.bsp-size.on{border-color:var(--gold-primary);background:linear-gradient(180deg,rgba(212,175,55,.14),rgba(212,175,55,.04));
  box-shadow:0 8px 24px -12px rgba(212,175,55,.35)}
.bsp-size-dim{font-family:'Marcellus',serif;font-size:1.35rem;color:var(--text-main);line-height:1}
.bsp-size.on .bsp-size-dim{color:var(--gold-light)}
.bsp-size-cm{font-size:.68rem;color:var(--text-muted)}
.bsp-size-name{font-size:.78rem;color:var(--text-gold);margin-top:6px}
.bsp-size-price{font-size:.8rem;color:var(--gold-primary);margin-top:2px}
.bsp-size-price i{font-style:normal;font-size:.68rem}
.bsp-size-tag{position:absolute;top:-9px;inset-inline-start:50%;transform:translateX(-50%);
  background:var(--gold-primary);color:#090502;font-size:.62rem;font-weight:600;padding:3px 10px;white-space:nowrap}
[dir="ltr"] .bsp-size-tag{transform:translateX(-50%)}

.bsp-woods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:520px){.bsp-woods{grid-template-columns:1fr}}
.bsp-wood{background:#0e0803;border:1px solid var(--border-gold);color:var(--text-muted);cursor:pointer;
  padding:14px 10px;display:grid;gap:10px;justify-items:center;text-align:center;font-size:.75rem;line-height:1.6;transition:all .25s}
.bsp-wood i{font-style:normal;color:var(--text-muted);font-size:.68rem}
.bsp-wood:hover{border-color:var(--gold-primary)}
.bsp-wood.on{border-color:var(--gold-primary);background:linear-gradient(180deg,rgba(212,175,55,.14),rgba(212,175,55,.04));color:var(--text-gold)}
.bsp-swatch{width:44px;height:44px;border-radius:50%;border:2px solid rgba(212,175,55,.4);
  box-shadow:0 4px 14px rgba(0,0,0,.5), inset 0 2px 6px rgba(255,255,255,.06);transition:all .25s}
.bsp-wood.on .bsp-swatch{border-color:var(--gold-primary);box-shadow:0 0 0 4px rgba(212,175,55,.15),0 4px 14px rgba(0,0,0,.5)}

.bsp-hidden{display:none}
.bsp-cta{width:100%;justify-content:center;font-size:1rem;padding:18px}
.bsp-foot{text-align:center;color:var(--text-muted);font-size:.8rem;margin-top:-8px}


/* ================= RESPONSIVE & MOBILE NAV (pass finale) ================= */
html{-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}

/* --- hamburger --- */
.nav-burger{display:none;background:none;border:1px solid var(--border-gold-bright);width:44px;height:44px;
  cursor:pointer;padding:0;place-items:center;flex:none}
.nav-burger span{position:absolute;top:50%;left:50%;display:block;width:20px;height:2px;background:var(--gold-primary);transition:all .3s}
.nav-burger span:nth-child(1){transform:translate(-50%,-7px)}
.nav-burger span:nth-child(2){transform:translate(-50%,-50%)}
.nav-burger span:nth-child(3){transform:translate(-50%,5px)}
body.menu-open .nav-burger span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg)}
body.menu-open .nav-burger span:nth-child(2){opacity:0}
body.menu-open .nav-burger span:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:1900;background:rgba(9,5,2,.98);backdrop-filter:blur(10px);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;
  opacity:0;pointer-events:none;transition:opacity .35s}
body.menu-open .mobile-menu{opacity:1;pointer-events:auto}
.mobile-menu a{color:var(--text-main);text-decoration:none;font-size:1.45rem;padding:14px 26px;
  font-family:'Amiri','Marcellus',serif;letter-spacing:.04em;position:relative;opacity:0;transform:translateY(14px);
  transition:opacity .4s,transform .4s}
body.menu-open .mobile-menu a{opacity:1;transform:none}
.mobile-menu a.active{color:var(--gold-primary)}
.mobile-menu a:nth-child(1){transition-delay:.05s}.mobile-menu a:nth-child(2){transition-delay:.1s}
.mobile-menu a:nth-child(3){transition-delay:.15s}.mobile-menu a:nth-child(4){transition-delay:.2s}
.mobile-menu a:nth-child(5){transition-delay:.25s}
.mobile-menu .mm-orn{color:var(--gold-primary);margin-bottom:18px;font-size:1.2rem;letter-spacing:.5em}
body.menu-open{overflow:hidden}
@media(max-width:900px){.nav-burger{display:grid}}

/* --- navbar compatta su mobile --- */
@media(max-width:640px){
  header.navbar .nav-container,header.navbar nav{gap:10px}
  .brand-logo img{height:36px}
  .brand-logo .brand-text small,.brand-logo small{display:none}
  .brand-logo{font-size:.82rem;letter-spacing:.14em}
}

/* --- tipografia e spazi su phone --- */
@media(max-width:640px){
  section{padding:56px 0}
  .section-title{font-size:1.65rem!important}
  .section-desc{font-size:.95rem}
  .hero-section{padding:110px 0 56px}
  .hero-word-bg{font-size:clamp(6rem,30vw,9rem);top:4%}
}

/* --- tabs categorie: scroll orizzontale touch --- */
@media(max-width:760px){
  .categories-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:8px;padding-bottom:8px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .categories-tabs::-webkit-scrollbar{display:none}
  .categories-tabs .tab-btn{flex:0 0 auto;white-space:nowrap}
  .filter-bar{flex-direction:column;align-items:stretch;gap:12px}
  .search-box{width:100%}
  .shop-toolbar{flex-direction:column;align-items:stretch}
  .sort-select{width:100%}
}

/* --- prodotti & dettaglio --- */
@media(max-width:640px){
  .product-grid{grid-template-columns:1fr 1fr;gap:14px}
  .product-details{padding:12px}
  .product-title{font-size:.95rem}
  .product-desc{display:none}
  .btn-add-cart span{display:none}
  .btn-add-cart{padding:10px 12px}
  .pd-grid{gap:22px;padding:24px 0 46px}
  .pd-thumbs{gap:8px}
  .pd-thumb{width:64px;height:64px}
  .pd-info h1{font-size:1.5rem}
  .pd-actions .btn-gold,.pd-actions .btn-outline{width:100%;justify-content:center}
}
@media(max-width:420px){.product-grid{grid-template-columns:1fr}}

/* --- showcase / corporate / testimonianze --- */
@media(max-width:640px){
  .show-card{flex-basis:86vw}
  .corp-imgs{grid-template-rows:1fr 1fr;min-height:300px}
  .corp-txt{padding:26px 20px}
  .tst-slide{padding:36px 20px}
  .tst-q{font-size:1.05rem}
  .gal-grid{columns:2 140px;column-gap:10px}
  .gal-grid img{margin-bottom:10px}
}

/* --- carrello: touch target --- */
@media(max-width:640px){
  .qty-btn{width:38px;height:38px;font-size:1.1rem}
  .cart-item{grid-template-columns:64px 1fr auto;gap:12px}
  .cart-item img{width:64px;height:64px}
}

/* --- bespoke su mobile --- */
@media(max-width:640px){
  .bsp-step{padding:18px 16px 20px}
  .bsp-pill-demo{font-size:1.3rem}
  .bsp-estimate{flex-direction:column;align-items:flex-start;gap:6px}
  .bsp-est-val{font-size:1.7rem}
  .sim-engraved{font-size:clamp(1.05rem,5.5vw,1.6rem)}
}

/* --- about: glass card + timeline responsive --- */
.ab-glass{background:rgba(9,5,2,.55);backdrop-filter:blur(8px);border:1px solid var(--border-gold);
  border-radius:12px;padding:clamp(28px,5vw,60px) clamp(20px,4vw,40px);max-width:800px;margin:0 auto;text-align:center}
@media(max-width:640px){
  .ab-hero{min-height:56svh!important}
  .ab-hero .container{padding-top:120px;padding-bottom:36px}
  .timeline::before{inset-inline-start:14px}
  .tl-item{padding-inline-start:48px;padding-bottom:36px}
  .tl-item::before{inset-inline-start:4px}
  .tl-img{max-width:100%}
  .prc-grid{gap:14px}
  .pull-quote{padding:36px 16px 50px}
  .values-grid{gap:12px}
}

/* --- contact --- */
@media(max-width:640px){
  .contact-grid{grid-template-columns:1fr;gap:12px;padding:24px 0}
  .contact-card{padding:22px 18px}
  .faq-q{padding:16px 16px;font-size:.95rem}
}

/* --- footer --- */
@media(max-width:640px){
  .footer-grid,.foot-grid{grid-template-columns:1fr!important;gap:28px}
}

/* --- tablet ---*/
@media(min-width:641px) and (max-width:1024px){
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .bsp-grid{grid-template-columns:1fr}
  .bsp-preview{position:static}
  .pd-grid{grid-template-columns:1fr 1fr}
}

/* --- back-top non copre CTA su mobile --- */
@media(max-width:640px){.back-top{width:42px;height:42px;bottom:18px;inset-inline-end:18px}}

/* ================= CARD MULTI-ANGOLO ================= */
.pc-stack{position:absolute;inset:0;display:block}
.pc-stack img{position:absolute;inset:0;margin:auto;opacity:0;transition:opacity .55s ease, transform .6s var(--transition);pointer-events:none}
.pc-stack img.on{opacity:1}
.product-card:hover .pc-stack img.on{transform:scale(1.05)}
.pc-multi{cursor:pointer;touch-action:pan-y}
.pc-angles{
  position:absolute;top:12px;inset-inline-end:12px;z-index:3;
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(9,5,2,.78);border:1px solid var(--border-gold);color:var(--gold-primary);
  font-size:.7rem;font-weight:600;padding:4px 9px;backdrop-filter:blur(4px);
  letter-spacing:.04em;
}
.pc-dots{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:3;
  display:flex;gap:6px;padding:5px 9px;background:rgba(9,5,2,.55);backdrop-filter:blur(4px);
  border-radius:20px;opacity:0;transition:opacity .3s;
}
.pc-multi:hover .pc-dots{opacity:1}
@media(hover:none){.pc-dots{opacity:1}}
.pc-dots i{width:5px;height:5px;border-radius:50%;background:rgba(212,175,55,.35);transition:all .3s}
.pc-dots i.on{background:var(--gold-primary);transform:scale(1.4)}
@media(prefers-reduced-motion:reduce){.pc-stack img{transition:opacity .2s}}

/* ================= TIMELINE ALTERNATA (desktop) ================= */
@media(min-width:901px){
  .timeline{max-width:1080px;padding:40px 0 70px}
  .timeline::before{
    inset-inline-start:50%;transform:translateX(-50%);width:2px;
  }
  [dir="rtl"] .timeline::before{transform:translateX(50%)}
  .tl-item{
    width:calc(50% - 56px);
    padding-inline-start:0;padding-bottom:64px;
  }
  /* dispari: lato iniziale, testo verso il centro */
  .tl-item:nth-child(odd){margin-inline-start:0;text-align:end}
  .tl-item:nth-child(odd) p{margin-inline-start:auto}
  .tl-item:nth-child(odd) .tl-img{margin-inline-start:auto}
  /* pari: lato finale */
  .tl-item:nth-child(even){margin-inline-start:calc(50% + 56px);text-align:start}
  /* nodo stella sulla linea centrale */
  .tl-item::before{
    inset-inline-start:auto;top:0;font-size:1.6rem;
  }
  .tl-item:nth-child(odd)::before{inset-inline-end:-70px}
  .tl-item:nth-child(even)::before{inset-inline-start:-70px;inset-inline-end:auto}
  /* trattino di collegamento al nodo */
  .tl-item::after{
    content:'';position:absolute;top:14px;width:34px;height:1px;
    background:linear-gradient(to var(--tl-dir,left),var(--gold-primary),transparent);
    opacity:.6;
  }
  .tl-item:nth-child(odd)::after{inset-inline-end:-46px}
  .tl-item:nth-child(even)::after{inset-inline-start:-46px}
  /* anno più presente */
  .tl-year{font-size:.85rem}
  .tl-item h3{font-size:1.5rem}
  .tl-img{max-width:100%;margin-top:18px}
  .tl-img img{aspect-ratio:16/9;object-fit:cover;width:100%}
  /* reveal direzionale */
  .tl-item[data-rv]{transform:translateY(26px)}
}

/* ================= POLISH E-COMMERCE 2026 ================= */
:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--gold-light);
  outline-offset:3px;
}
button,.btn-gold,.btn-outline,.cart-btn,.lang-btn{-webkit-tap-highlight-color:transparent}
body{overscroll-behavior-x:none}

/* Il titolo resta leggibile anche nei browser che non supportano il testo sfumato. */
.gold-shine{
  color:var(--gold-light);
  -webkit-text-fill-color:currentColor;
  background:none;
  animation:none;
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .gold-shine{
    background:linear-gradient(100deg,var(--gold-deep) 10%,var(--gold-light) 38%,#fff9e7 50%,var(--gold-light) 62%,var(--gold-deep) 90%);
    background-size:240% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
    animation:shine 5.5s linear infinite;
  }
}

/* Entrata hero morbida e percepibile, senza bloccare lo scroll. */
.hero-content>*{opacity:0;transform:translateY(18px);animation:heroRise .75s cubic-bezier(.2,.75,.2,1) forwards}
.hero-content .hero-subtitle{animation-delay:.08s}
.hero-content .hero-title{animation-delay:.18s}
.hero-content .hero-desc{animation-delay:.3s}
.hero-content .hero-buttons{animation-delay:.42s}
.hero-content .hero-features{animation-delay:.56s}
@keyframes heroRise{to{opacity:1;transform:none}}

/* Menu mobile: un solo livello, leggibile e sempre richiudibile. */
.nav-burger{position:relative;z-index:3;border-radius:8px}
.nav-burger:hover{background:rgba(212,175,55,.12)}
.mobile-menu{z-index:99;padding:100px 24px 32px;overflow-y:auto}
@media(max-width:900px){
  header.navbar{padding:12px 0}
  header.navbar .nav-content{gap:12px}
  header.navbar .nav-links{display:none}
  .nav-actions{margin-inline-start:auto;gap:8px}
  .nav-burger{display:grid}
  .mobile-menu{justify-content:flex-start}
  .mobile-menu .mm-orn{margin-top:auto}
  .mobile-menu a:last-child{margin-bottom:auto}
}
@media(max-width:640px){
  .container{padding-inline:16px}
  .brand-title{font-size:1rem}
  .brand-logo{gap:8px;min-width:0}
  .brand-logo img{height:38px}
  .lang-btn{width:42px;height:42px;padding:0;justify-content:center}
  .lang-btn #langLabel{display:none}
  .cart-btn{width:44px;height:42px;padding:0;justify-content:center;position:relative}
  .cart-btn>[data-i18n="cart_btn"]{display:none}
  .cart-badge{position:absolute;top:-7px;inset-inline-end:-6px;width:19px;height:19px}
  .hero-section{min-height:100svh;padding-top:104px}
  .hero-title{font-size:clamp(2rem,10vw,3rem);line-height:1.22}
  .hero-desc{font-size:.98rem;line-height:1.72}
  .hero-buttons{gap:12px;margin-top:26px}
  .hero-buttons .btn-gold,.hero-buttons .btn-outline{width:100%;justify-content:center;padding:14px 18px}
  .hero-features{grid-template-columns:1fr 1fr;gap:14px 10px;margin-top:36px;padding-top:22px}
  .page-hero{padding:116px 0 42px}
}
@media(max-width:380px){
  .brand-title span{display:none}
  .hero-features{grid-template-columns:1fr}
}

/* Carte più chiare: foto cliccabile, prezzo e CTA sempre stabili. */
.product-card{
  border-radius:10px;
  box-shadow:0 18px 50px -34px rgba(0,0,0,.95);
}
.product-img-wrapper{touch-action:pan-y}
.product-footer{gap:10px}
.btn-add-cart{min-height:44px;border-radius:6px}
.btn-gold,.btn-outline,.btn-whatsapp-order{min-height:48px;border-radius:7px}
@media(max-width:640px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .product-img-wrapper{aspect-ratio:1/1}
  .product-details{padding:12px 10px}
  .product-footer{align-items:flex-end}
  .product-price{font-size:.95rem}
  .btn-add-cart{min-width:44px}
}
@media(max-width:360px){.product-grid{grid-template-columns:1fr}}

/* Galleria prodotto: swipe, frecce, contatore e lightbox. */
.pd-gallery-shell{position:relative}
.pd-gallery-main{border-radius:10px;touch-action:pan-y;cursor:zoom-in}
.pd-gallery-main img{transition:opacity .2s ease,transform .45s ease}
.pd-gallery-main.is-changing img{opacity:.25;transform:scale(.985)}
.pd-gallery-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  color:var(--gold-light);background:rgba(9,5,2,.74);border:1px solid var(--border-gold-bright);
  backdrop-filter:blur(7px);font-size:1.35rem;
}
.pd-gallery-prev{inset-inline-start:14px}
.pd-gallery-next{inset-inline-end:14px}
.pd-gallery-count{
  position:absolute;bottom:14px;inset-inline-end:14px;z-index:3;
  padding:5px 10px;border:1px solid var(--border-gold);
  background:rgba(9,5,2,.78);color:var(--gold-light);font-size:.76rem;border-radius:30px;
  direction:ltr;unicode-bidi:isolate;
}
.pd-gallery-hint{color:var(--text-muted);font-size:.8rem;margin-top:10px;text-align:center}
.pd-thumbs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 8px;scrollbar-width:thin}
.pd-thumb{flex:0 0 76px;scroll-snap-align:start;border-radius:6px}

.image-viewer{
  position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;
  padding:64px 18px 44px;background:rgba(3,2,1,.96);opacity:0;pointer-events:none;
  transition:opacity .25s ease;touch-action:pan-y;
}
.image-viewer.open{opacity:1;pointer-events:auto}
.image-viewer-stage{position:relative;width:min(1100px,100%);height:100%;display:grid;place-items:center}
.image-viewer img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.image-viewer-close,.image-viewer-prev,.image-viewer-next{
  position:fixed;z-index:2;display:grid;place-items:center;color:var(--gold-light);
  background:rgba(24,15,6,.78);border:1px solid var(--border-gold-bright);backdrop-filter:blur(8px);
}
.image-viewer-close{top:16px;inset-inline-end:18px;width:48px;height:48px;border-radius:50%;font-size:2rem}
.image-viewer-prev,.image-viewer-next{top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;font-size:1.6rem}
.image-viewer-prev{inset-inline-start:18px}
.image-viewer-next{inset-inline-end:18px}
.image-viewer-count{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);color:var(--gold-light);font-size:.85rem;direction:ltr;unicode-bidi:isolate}
body.viewer-open{overflow:hidden}

.pd-quick-note{
  display:flex;align-items:center;gap:10px;margin:-10px 0 22px;padding:12px 14px;
  color:var(--text-muted);font-size:.84rem;border:1px solid var(--border-gold);background:rgba(212,175,55,.05);
}
.pd-quick-note::before{content:'✓';color:var(--gold-primary);font-weight:700}

@media(max-width:640px){
  .pd-gallery-nav{width:42px;height:42px}
  .pd-gallery-hint{display:block}
  .pd-thumb{flex-basis:62px;height:62px}
  .image-viewer{padding:70px 12px 70px}
  .image-viewer-prev,.image-viewer-next{top:auto;bottom:14px;transform:none;width:48px;height:48px}
  .image-viewer-prev{inset-inline-start:16px}
  .image-viewer-next{inset-inline-end:16px}
  .image-viewer-count{bottom:27px}
  .pd-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .pd-actions>*{width:100%;justify-content:center}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-content>*{opacity:1;transform:none;animation:none}
  .gold-shine{animation:none}
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ================= MOBILE REBUILD V2 ================= */
/* Titolo sempre oro: nessuna trasparenza, nessun fallback nero. */
.hero-title.gold-shine{
  background-image:none!important;
  color:#f4d77d!important;
  -webkit-text-fill-color:#f4d77d!important;
  text-shadow:0 4px 22px rgba(0,0,0,.92),0 0 26px rgba(212,175,55,.2);
  animation:heroRise .75s cubic-bezier(.2,.75,.2,1) .18s forwards,heroGoldPulse 4s ease-in-out 1.1s infinite!important;
}
@keyframes heroGoldPulse{
  0%,100%{text-shadow:0 4px 22px rgba(0,0,0,.92),0 0 18px rgba(212,175,55,.12)}
  50%{text-shadow:0 4px 22px rgba(0,0,0,.92),0 0 34px rgba(247,229,169,.35)}
}

.pd-zoom-badge{
  position:absolute;top:14px;inset-inline-start:14px;z-index:3;
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  color:#fff4cf;background:rgba(9,5,2,.78);border:1px solid var(--border-gold-bright);
  font-size:1.65rem;line-height:1;pointer-events:none;backdrop-filter:blur(7px);
}

@media(max-width:900px){
  header.navbar .nav-content{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 44px;
    align-items:center;
    gap:10px;
    width:100%;
  }
  header.navbar .brand-logo{min-width:0;overflow:hidden}
  header.navbar .brand-title{min-width:0;overflow:hidden}
  header.navbar .brand-title span{
    display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  header.navbar .nav-actions{margin:0;gap:7px}
  header.navbar .nav-burger{margin:0}
}

@media(max-width:640px){
  header.navbar .nav-content{grid-template-columns:minmax(0,1fr) auto 42px;gap:8px}
  header.navbar .brand-logo img{height:36px;flex:0 0 auto}
  header.navbar .brand-title{font-size:.92rem}
  header.navbar .lang-btn,header.navbar .cart-btn,header.navbar .nav-burger{width:42px;height:42px}

  .hero-content{width:100%;max-width:100%}
  .hero-subtitle{font-size:.88rem;line-height:1.55;margin-bottom:16px}
  .hero-subtitle::before{width:24px}
  .hero-title{font-size:clamp(2.05rem,10.3vw,3rem);margin-bottom:18px}
  .hero-desc{max-width:34rem;margin-inline:auto;margin-bottom:24px}
  .hero-features{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    border-top:0;
    padding-top:0;
    margin-top:28px;
  }
  .hero-features .feature-item{
    min-height:132px;
    padding:15px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    border:1px solid rgba(212,175,55,.22);
    border-radius:9px;
    background:rgba(9,5,2,.56);
    backdrop-filter:blur(5px);
  }
  .hero-features .icon-svg-lg{
    width:28px;height:28px;
    margin:0 auto 9px;
    flex:0 0 28px;
  }
  .hero-features .feature-item strong{
    min-height:2.7em;
    display:flex;align-items:center;justify-content:center;
    font-size:.94rem;line-height:1.35;margin:0;
  }
  .hero-features .feature-item span{
    display:block;
    margin-top:5px;
    font-size:.72rem;line-height:1.45;
  }
  .pd-gallery-main{cursor:zoom-in}
  .pd-zoom-badge{width:40px;height:40px;font-size:1.45rem}
}

@media(max-width:390px){
  header.navbar .brand-title small{display:none}
  .hero-features .feature-item{min-height:126px}
}

/* ================= HERO REFINEMENT V3 ================= */
/* Base sempre leggibile; il fade dorato si attiva solo dove supportato. */
.hero-title.gold-shine{
  opacity:0;
  color:#f4d77d!important;
  -webkit-text-fill-color:#f4d77d!important;
  background-image:none!important;
  animation:heroFadeUp .8s cubic-bezier(.2,.75,.2,1) .16s forwards!important;
}
@keyframes heroFadeUp{
  from{opacity:0;transform:translateY(20px);filter:blur(3px)}
  to{opacity:1;transform:none;filter:blur(0)}
}
@supports (-webkit-background-clip:text){
  .hero-title.gold-shine{
    background-image:linear-gradient(105deg,#a87b2c 0%,#f4d77d 28%,#fff8dc 46%,#f4d77d 64%,#a87b2c 100%)!important;
    background-size:240% 100%!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    animation:heroFadeUp .8s cubic-bezier(.2,.75,.2,1) .16s forwards,goldSweep 5.8s ease-in-out 1s infinite alternate!important;
  }
}
@keyframes goldSweep{
  from{background-position:100% 50%}
  to{background-position:0% 50%}
}

/* Fascia trust compatta: quattro icone identiche e perfettamente allineate. */
@media(max-width:640px){
  .hero-features{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid rgba(212,175,55,.34);
  }
  .hero-features .feature-item{
    min-width:0;
    min-height:0;
    padding:0 2px;
    border:0;
    border-radius:0;
    background:none;
    backdrop-filter:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
  }
  .hero-features .icon-svg-lg{
    box-sizing:border-box;
    width:38px;
    height:38px;
    flex:0 0 38px;
    margin:0 auto 9px;
    padding:8px;
    border:1px solid rgba(212,175,55,.5);
    border-radius:50%;
    background:rgba(9,5,2,.62);
    color:var(--gold-light);
  }
  .hero-features .feature-item strong{
    min-height:2.7em;
    margin:0;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    font-family:var(--font-ar-body);
    font-size:.72rem;
    font-weight:700;
    line-height:1.35;
    color:var(--gold-light);
  }
  .hero-features .feature-item span{display:none}
}

@media(max-width:360px){
  .hero-features{gap:3px}
  .hero-features .icon-svg-lg{width:34px;height:34px;flex-basis:34px;padding:7px}
  .hero-features .feature-item strong{font-size:.66rem}
}

@media(prefers-reduced-motion:reduce){
  .hero-title.gold-shine{
    opacity:1;
    transform:none;
    filter:none;
    animation:none!important;
    background-position:50% 50%!important;
  }
}

/* ================= HERO ICON ALIGNMENT V4 ================= */
@media(max-width:640px){
  .hero-features{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
    margin-top:26px;
    padding-top:8px;
    border-top:1px solid rgba(212,175,55,.3);
  }
  .hero-features .feature-item{
    min-width:0;
    min-height:62px;
    padding:12px 0;
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    align-items:center;
    justify-content:stretch;
    column-gap:10px;
    text-align:start;
    border:0;
    border-bottom:1px solid rgba(212,175,55,.16);
    background:none;
  }
  .hero-features .icon-svg-lg{
    box-sizing:border-box;
    width:30px;
    height:30px;
    min-width:30px;
    margin:0;
    padding:4px;
    border:0;
    border-radius:0;
    background:none;
    color:var(--gold-primary);
    align-self:center;
    justify-self:center;
  }
  .hero-features .feature-item strong{
    width:100%;
    min-height:0;
    margin:0;
    display:block;
    font-family:var(--font-ar-body);
    font-size:.82rem;
    font-weight:700;
    line-height:1.4;
    text-align:start;
    color:var(--gold-light);
  }
  .hero-features .feature-item span{display:none}
}

@media(max-width:350px){
  .hero-features{grid-template-columns:1fr;gap:0}
  .hero-features .feature-item{min-height:54px;padding:9px 0}
}

/* ================= STRUCTURE-PRESERVING POLISH V5 ================= */
/* Mantiene il blocco feature originale: quattro elementi, stesso ordine e stessi testi. */
@media(max-width:640px){
  .hero-features{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 20px;
    margin-top:30px;
    padding-top:24px;
    border-top:1px solid var(--border-gold);
  }
  .hero-features .feature-item{
    min-width:0;
    min-height:118px;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    text-align:center;
    border:0;
    background:none;
  }
  .hero-features .icon-svg-lg{
    width:28px;
    height:28px;
    min-width:28px;
    flex:0 0 28px;
    margin:0 auto 10px;
    padding:0;
    border:0;
    border-radius:0;
    background:none;
    color:var(--gold-primary);
  }
  .hero-features .feature-item strong{
    width:100%;
    min-height:2.65em;
    margin:0;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    font-family:var(--font-ar-title);
    font-size:.93rem;
    font-weight:700;
    line-height:1.35;
    text-align:center;
    color:var(--gold-light);
  }
  .hero-features .feature-item span{
    display:block;
    width:100%;
    margin-top:5px;
    font-size:.72rem;
    line-height:1.45;
    text-align:center;
    color:var(--text-muted);
  }
}

@media(max-width:350px){
  .hero-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .hero-features .feature-item{min-height:112px}
}

/* La vetrina mantiene struttura e scorrimento originali; cambia solo la gerarchia del numero. */
.show-card .sc-num{
  top:12px;
  inset-inline-start:12px;
  width:auto;
  height:26px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(212,175,55,.42);
  border-radius:999px;
  background:rgba(9,5,2,.82);
  backdrop-filter:blur(6px);
  color:var(--gold-light);
  font-family:'Marcellus',serif;
  font-size:.68rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.08em;
  opacity:1;
  text-shadow:none;
}

@media(max-width:640px){
  .show-card{flex-basis:min(310px,82vw)}
  .show-card .sc-body{padding:16px 16px 18px}
  .show-card h3{font-size:1rem;line-height:1.45}
}

/* ================= CONSISTENT SHIMMER + PAGE POLISH V6 ================= */
/* Un solo gradient per Home, Collection, Contact e Our Story, senza salto di fine loop. */
.gold-shine{
  color:#f4d77d!important;
  -webkit-text-fill-color:#f4d77d!important;
  background-image:none!important;
  animation:none!important;
}
@supports (-webkit-background-clip:text){
  .gold-shine{
    background-image:linear-gradient(105deg,#9f7227 0%,#e7c25d 24%,#fff7d6 46%,#e7c25d 68%,#9f7227 100%)!important;
    background-size:240% 100%!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    animation:goldDrift 5.8s ease-in-out infinite alternate!important;
  }
  .hero-title.gold-shine{
    opacity:0;
    animation:heroFadeUp .8s cubic-bezier(.2,.75,.2,1) .16s forwards,goldDrift 5.8s ease-in-out 1s infinite alternate!important;
  }
}
@keyframes goldDrift{
  from{background-position:100% 50%}
  to{background-position:0% 50%}
}

/* Allineamento definitivo: ogni icona è centrata rispetto al proprio testo. */
@media(max-width:640px){
  .hero-features .feature-item{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
  }
  .hero-features .icon-svg-lg{
    display:block!important;
    align-self:center!important;
    margin:0 auto 10px!important;
  }
  .hero-features .feature-item strong,
  .hero-features .feature-item span{
    text-align:center!important;
    margin-inline:auto!important;
  }
}

/* Prodotto verticale: canna intera anche nelle miniature. */
.pd-gallery-tall .pd-gallery-main img{
  object-fit:contain;
  object-position:center;
  padding:2%;
}
.pd-gallery-tall .pd-thumb img{
  object-fit:contain;
  object-position:center;
  padding:5px;
  background:#eee;
}
@media(max-width:640px){
  .pd-gallery-tall .pd-gallery-main{aspect-ratio:4/5}
}

/* Our Story: stessa sequenza, gerarchia più pulita. */
.ab-hero::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to top,rgba(9,5,2,.94),rgba(9,5,2,.28) 65%,rgba(9,5,2,.42));
  pointer-events:none;
}
.ab-hero .container{position:relative;z-index:2;width:100%}
.ab-glass{
  max-width:760px;
  border-radius:16px;
  border-color:rgba(212,175,55,.42);
  background:linear-gradient(145deg,rgba(15,9,3,.82),rgba(9,5,2,.58));
  box-shadow:0 30px 90px rgba(0,0,0,.48);
}
.timeline .tl-year{
  display:inline-flex;
  padding:4px 10px;
  border:1px solid rgba(212,175,55,.35);
  border-radius:999px;
  background:rgba(212,175,55,.07);
}
.timeline .tl-img{
  overflow:hidden;
  border-radius:10px;
  border:1px solid rgba(212,175,55,.3);
  box-shadow:0 18px 45px -28px rgba(0,0,0,.9);
}
.timeline .tl-img img{display:block}
.prc-card{
  border-radius:12px;
  box-shadow:0 20px 55px -38px rgba(0,0,0,.95);
}
.prc-card .pc-body{min-height:150px}
.prc-card .pc-num{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(9,5,2,.86);
  border:1px solid var(--border-gold-bright);
}
.pull-quote{background:radial-gradient(circle at 50% 40%,rgba(212,175,55,.1),transparent 58%)}
.gal-grid img{border-radius:8px}

@media(max-width:640px){
  .ab-hero .container{padding-top:112px!important;padding-bottom:34px!important}
  .ab-glass{padding:28px 18px!important}
  .ab-glass h1{font-size:clamp(2rem,10vw,2.8rem)!important;line-height:1.25}
  .ab-glass p{font-size:.98rem!important;line-height:1.75!important}
  .timeline{padding-top:20px}
  .tl-item{padding-bottom:44px}
  .tl-item h3{font-size:1.35rem}
  .prc-card .pc-body{min-height:0;padding:20px 18px 24px}
}

/* ================= OUR STORY MOTION V7 ================= */
.story-page .ab-hero .ab-bg img{
  transform:scale(1.04);
  animation:storyKenBurns 16s ease-in-out infinite alternate;
}
.story-page .ab-glass{
  opacity:0;
  transform:translateY(24px) scale(.985);
  animation:storyGlassIn .9s cubic-bezier(.2,.75,.2,1) .18s forwards;
}
@keyframes storyKenBurns{
  from{transform:scale(1.04) translate3d(-.8%,0,0)}
  to{transform:scale(1.11) translate3d(.8%,-1%,0)}
}
@keyframes storyGlassIn{
  to{opacity:1;transform:none}
}

.story-page .timeline .tl-item[data-rv]{
  opacity:0;
  transition:opacity .85s cubic-bezier(.2,.75,.2,1),transform .85s cubic-bezier(.2,.75,.2,1);
}
.story-page .timeline .tl-item[data-rv].rv-in{opacity:1;transform:none}
.story-page .tl-item::before{animation:storyNodePulse 2.8s ease-in-out infinite}
@keyframes storyNodePulse{
  0%,100%{filter:drop-shadow(0 0 0 rgba(212,175,55,0));transform:scale(1)}
  50%{filter:drop-shadow(0 0 7px rgba(212,175,55,.55));transform:scale(1.13)}
}

@media(min-width:901px){
  .story-page .timeline .tl-item:nth-child(odd)[data-rv]{transform:translateX(-34px)}
  .story-page .timeline .tl-item:nth-child(even)[data-rv]{transform:translateX(34px)}
  .story-page .timeline .tl-item[data-rv].rv-in{transform:none}
}

.story-page .prc-card[data-rv]{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .75s cubic-bezier(.2,.75,.2,1),transform .75s cubic-bezier(.2,.75,.2,1),border-color .35s;
}
.story-page .prc-card[data-rv="1"]{transition-delay:.09s}
.story-page .prc-card[data-rv="2"]{transition-delay:.18s}
.story-page .prc-card[data-rv="3"]{transition-delay:.27s}
.story-page .prc-card[data-rv].rv-in{opacity:1;transform:none}

.story-page .pull-quote.rv-in .pq-txt{animation:quoteFocus .9s cubic-bezier(.2,.75,.2,1) both}
@keyframes quoteFocus{
  from{opacity:0;letter-spacing:.04em;filter:blur(3px)}
  to{opacity:1;letter-spacing:normal;filter:blur(0)}
}

.story-page .gal-grid[data-rv] img{opacity:0;transform:translateY(18px) scale(.985)}
.story-page .gal-grid[data-rv].rv-in img{animation:storyGalleryIn .65s cubic-bezier(.2,.75,.2,1) forwards}
.story-page .gal-grid[data-rv].rv-in img:nth-child(2){animation-delay:.06s}
.story-page .gal-grid[data-rv].rv-in img:nth-child(3){animation-delay:.12s}
.story-page .gal-grid[data-rv].rv-in img:nth-child(4){animation-delay:.18s}
.story-page .gal-grid[data-rv].rv-in img:nth-child(5){animation-delay:.24s}
.story-page .gal-grid[data-rv].rv-in img:nth-child(6){animation-delay:.3s}
.story-page .gal-grid[data-rv].rv-in img:nth-child(n+7){animation-delay:.36s}
@keyframes storyGalleryIn{to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  .story-page .ab-hero .ab-bg img,
  .story-page .ab-glass,
  .story-page .tl-item::before,
  .story-page .pull-quote.rv-in .pq-txt,
  .story-page .gal-grid[data-rv].rv-in img{animation:none!important}
  .story-page .ab-glass,
  .story-page .timeline .tl-item[data-rv],
  .story-page .prc-card[data-rv],
  .story-page .gal-grid[data-rv] img{opacity:1;transform:none;filter:none}
}

/* ================= MOBILE COMMERCE + MULTI PHOTO V8 ================= */
/* Home cards now expose every available product angle without leaving the grid. */
.home-product-media{
  cursor:pointer;
  isolation:isolate;
  touch-action:pan-y;
}
.home-product-stack{
  position:absolute;
  inset:0;
  z-index:0;
}
.home-product-media .home-product-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:22px;
  object-fit:contain;
  opacity:0;
  transform:scale(.985);
  transition:opacity .38s ease,transform .58s cubic-bezier(.2,.75,.2,1),filter .58s ease;
  pointer-events:none;
}
.home-product-media .home-product-image.active{
  opacity:1;
  transform:scale(1);
}
.product-card:hover .home-product-media .home-product-image{transform:scale(.985)}
.product-card:hover .home-product-media .home-product-image.active{transform:scale(1.045)}
.home-product-count{
  position:absolute;
  top:11px;
  inset-inline-end:11px;
  z-index:4;
  padding:5px 9px;
  border:1px solid rgba(244,215,125,.42);
  border-radius:999px;
  background:rgba(9,5,2,.78);
  color:#fff2c2;
  font-size:.66rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.05em;
  direction:ltr;
  backdrop-filter:blur(8px);
}
.home-product-nav{
  position:absolute;
  top:50%;
  z-index:5;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  padding:0 0 3px;
  border:1px solid rgba(244,215,125,.45);
  border-radius:50%;
  background:rgba(9,5,2,.78);
  color:#fff4cf;
  font:400 1.55rem/1 serif;
  cursor:pointer;
  opacity:0;
  transform:translateY(-50%) scale(.88);
  transition:opacity .25s ease,transform .25s ease,background .25s ease;
  backdrop-filter:blur(8px);
}
.home-product-prev{inset-inline-start:10px}
.home-product-next{inset-inline-end:10px}
.has-home-gallery:hover .home-product-nav,
.home-product-nav:focus-visible{
  opacity:1;
  transform:translateY(-50%) scale(1);
}
.home-product-nav:hover{background:rgba(212,175,55,.28)}
.home-product-dots{
  position:absolute;
  inset-inline:0;
  bottom:10px;
  z-index:5;
  display:flex;
  justify-content:center;
  gap:5px;
  pointer-events:none;
}
.home-product-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(255,255,255,.42);
  box-shadow:0 1px 5px rgba(0,0,0,.6);
  transition:width .25s ease,background .25s ease,border-radius .25s ease;
}
.home-product-dot.active{
  width:16px;
  border-radius:99px;
  background:#f4d77d;
}

/* A legible, visibly moving white-gold highlight on every dark hero. */
.gold-shine{
  color:#f7df8a!important;
  -webkit-text-fill-color:#f7df8a!important;
  text-shadow:0 5px 24px rgba(0,0,0,.9),0 0 22px rgba(255,247,214,.18)!important;
}
@supports (-webkit-background-clip:text){
  .gold-shine{
    background-image:linear-gradient(105deg,#bd8723 0%,#efd170 20%,#fff8dc 36%,#fff 48%,#fff 56%,#fff7d2 66%,#e7bb4b 82%,#ad7416 100%)!important;
    background-size:300% 100%!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    animation:goldLightSweep 4.8s ease-in-out infinite alternate!important;
    will-change:background-position,filter;
  }
  .hero-title.gold-shine{
    background-image:linear-gradient(105deg,#bd8723 0%,#efd170 20%,#fff8dc 36%,#fff 48%,#fff 56%,#fff7d2 66%,#e7bb4b 82%,#ad7416 100%)!important;
    background-size:300% 100%!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    opacity:0;
    animation:heroFadeUp .85s cubic-bezier(.2,.75,.2,1) .12s forwards,
              goldLightSweep 4.8s ease-in-out .8s infinite alternate!important;
  }
}
@keyframes goldLightSweep{
  0%{background-position:100% 50%;filter:brightness(1.06) drop-shadow(0 0 0 rgba(255,255,255,0))}
  50%{filter:brightness(1.14) drop-shadow(0 0 10px rgba(255,244,197,.22))}
  100%{background-position:0% 50%;filter:brightness(1.06) drop-shadow(0 0 0 rgba(255,255,255,0))}
}

/* Text label plus a compact, properly aligned three-line menu icon. */
.nav-burger-label{display:none}
@media(max-width:900px){
  header.navbar .nav-content{
    grid-template-columns:minmax(0,1fr) auto 88px;
  }
  header.navbar .nav-burger{
    width:88px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:0 38px 0 12px;
    direction:ltr;
  }
  .nav-burger-label{
    display:block;
    color:#f4d77d;
    font-family:'Marcellus',serif;
    font-size:.7rem;
    font-weight:600;
    line-height:1;
    letter-spacing:.1em;
    text-transform:uppercase;
    pointer-events:none;
  }
  header.navbar .nav-burger span{
    left:auto;
    right:12px;
    width:18px;
    margin:0;
    transform-origin:center;
  }
  header.navbar .nav-burger span:nth-of-type(1){transform:translateY(-7px)}
  header.navbar .nav-burger span:nth-of-type(2){transform:translateY(-1px)}
  header.navbar .nav-burger span:nth-of-type(3){transform:translateY(5px)}
  body.menu-open header.navbar .nav-burger span:nth-of-type(1){
    opacity:1;
    transform:translateY(-1px) rotate(45deg);
  }
  body.menu-open header.navbar .nav-burger span:nth-of-type(2){opacity:0}
  body.menu-open header.navbar .nav-burger span:nth-of-type(3){
    opacity:1;
    transform:translateY(-1px) rotate(-45deg);
  }
}

/* No misleading checkout action while there are no items. */
.cart-overlay.cart-is-empty .cart-footer{display:none}

/* Corporate ordering stays in the existing card, with a clearer two-path CTA. */
.corp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.corp-actions .btn-gold,
.corp-actions .btn-outline{
  justify-content:center;
  text-align:center;
}

@media(max-width:640px){
  header.navbar .nav-content{
    grid-template-columns:minmax(0,1fr) auto 88px;
    gap:7px;
  }
  header.navbar .nav-burger{
    width:88px;
    height:42px;
  }

  .hero-title.gold-shine{
    text-shadow:0 4px 22px rgba(0,0,0,.95),0 0 28px rgba(255,246,207,.28)!important;
  }

  .home-product-media .home-product-image{padding:12px}
  .home-product-nav{
    width:32px;
    height:32px;
    opacity:1;
    font-size:1.35rem;
    transform:translateY(-50%) scale(1);
  }
  .home-product-prev{inset-inline-start:7px}
  .home-product-next{inset-inline-end:7px}
  .home-product-count{
    top:7px;
    inset-inline-end:7px;
    padding:4px 7px;
    font-size:.59rem;
  }
  .home-product-dots{bottom:7px;gap:4px}
  .home-product-dot{width:4px;height:4px}
  .home-product-dot.active{width:13px}

  .corp-sec .container{padding-inline:12px}
  .corp-sec .corp-card{
    grid-template-columns:1fr;
    border-radius:14px;
    background:linear-gradient(155deg,rgba(36,22,8,.96),rgba(9,5,2,.98));
    box-shadow:0 26px 70px -36px rgba(0,0,0,.95);
  }
  .corp-sec .corp-imgs{
    order:-1;
    min-height:0;
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
    aspect-ratio:16/8.5;
  }
  .corp-sec .corp-imgs img{
    min-width:0;
    border-inline-start:0;
    border-bottom:1px solid var(--border-gold);
  }
  .corp-sec .corp-imgs img:first-child{
    border-inline-end:1px solid var(--border-gold);
  }
  .corp-sec .corp-txt{padding:25px 18px 20px}
  .corp-sec .corp-txt .section-title{
    margin-top:8px;
    font-size:clamp(1.5rem,7vw,2rem)!important;
    line-height:1.35;
  }
  .corp-sec .corp-txt p{
    margin:12px 0 18px;
    font-size:.93rem;
    line-height:1.75;
  }
  .corp-sec .corp-list{
    gap:9px;
    margin-bottom:22px;
    font-size:.88rem;
  }
  .corp-sec .corp-list li{
    position:relative;
    padding-inline-start:18px;
  }
  .corp-sec .corp-list li::before{
    position:absolute;
    inset-inline-start:0;
  }
  .corp-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .corp-actions .btn-gold,
  .corp-actions .btn-outline{
    width:100%;
    min-height:50px;
    padding:13px 16px;
  }
}

@media(max-width:370px){
  header.navbar .brand-title{display:none}
}

@media(prefers-reduced-motion:reduce){
  .gold-shine,
  .hero-title.gold-shine{animation:none!important;opacity:1!important;filter:none!important}
  .home-product-media .home-product-image{transition:none}
}

/* ================= ABOUT + CONTACT ALIGNMENT V10 ================= */
/* Contact hero: breadcrumb, title and subtitle share one centered axis. */
.contact-page .ab-hero .container{
  text-align:center;
}
.contact-page .ab-hero .breadcrumb{
  justify-content:center;
  text-align:center;
}
.contact-page .ab-hero h1{
  margin-inline:auto;
}
.contact-page .ab-hero p{
  margin-inline:auto;
  text-align:center;
}

/* About timeline: keep the gold node, remove the visible black rectangle. */
.story-page .tl-item::before{
  background:transparent!important;
  text-shadow:0 0 10px rgba(212,175,55,.7),0 0 20px rgba(212,175,55,.28);
}

@media(max-width:640px){
  .contact-page .ab-hero .container{
    padding-inline:22px;
  }
  .contact-page .ab-hero h1{
    font-size:clamp(2.15rem,11vw,3rem);
    line-height:1.15;
  }
  .contact-page .ab-hero p{
    max-width:31ch;
    font-size:.96rem;
    line-height:1.75;
  }
}
