.rcm-page {
  background: #FCFAF5;
  color: #24342A;
}
.rcm-page,.rcm-page *{box-sizing:border-box}.rcm-page{overflow:hidden}
.rom-cafe-mobile-cover{display:none}

.rom-cafe-hero {
  width: 100%;
  min-height: 620px;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.96) 16%, rgba(255,255,255,0.82) 31%, rgba(255,255,255,0.48) 47%, rgba(255,255,255,0.14) 64%, rgba(255,255,255,0) 100%),
    var(--hero-bg);
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
}
.rom-cafe-hero__inner { max-width:1480px; min-height:620px; margin:0 auto; padding:90px 80px; display:flex; align-items:center; justify-content:space-between; gap:60px; }
.rom-cafe-hero__left { width:48%; max-width:610px; position:relative; z-index:2; }
.rom-cafe-hero__note { margin-bottom:22px; font-family:"Cormorant Garamond","Playfair Display",Georgia,serif; font-style:italic; font-size:30px; line-height:1; color:#c99a2e; }
.rom-cafe-hero h1 { margin:0 0 34px; font-family:"Cormorant Garamond","Playfair Display",Georgia,serif; font-size:clamp(58px,6vw,90px); line-height:.98; font-weight:500; color:#24342a; }
.rom-cafe-hero__text { max-width:570px; margin:0; font-family:"Manrope",Arial,sans-serif; font-size:20px; line-height:1.75; font-weight:600; color:#344139; }
.rom-cafe-hero__buttons { display:flex; gap:22px; margin-top:44px; flex-wrap:wrap; }
.rom-cafe-hero__btn { min-height:62px; padding:0 40px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; font-family:"Manrope",Arial,sans-serif; font-size:17px; font-weight:700; text-decoration:none!important; transition:.25s ease; }
.rom-cafe-hero__btn--green { background:#244b34; color:#fff!important; box-shadow:0 16px 34px rgba(36,75,52,.22); }
.rom-cafe-hero__btn--light { background:rgba(255,255,255,.58); color:#24342a!important; border:2px solid rgba(36,75,52,.24); box-shadow:0 12px 30px rgba(36,75,52,.06); }
.rom-cafe-card { width:380px; padding:40px 42px; border-radius:22px; background:rgba(255,255,255,.86); border:1px solid rgba(255,255,255,.7); box-shadow:0 24px 70px rgba(36,75,52,.20); backdrop-filter:blur(10px); position:relative; z-index:2; margin-right:20px; }
.rom-cafe-card__label { display:block; margin-bottom:12px; font-family:"Manrope",Arial,sans-serif; font-size:16px; font-weight:600; color:#6f756f; }
.rom-cafe-card__time { display:block; margin-bottom:8px; font-family:"Manrope",Arial,sans-serif; font-size:42px; line-height:1; font-weight:700; color:#24342a; }
.rom-cafe-card__small { display:block; margin-bottom:34px; font-family:"Manrope",Arial,sans-serif; font-size:15px; color:#7a807a; }
.rom-cafe-card__list { margin:0; padding:0; list-style:none; display:grid; gap:20px; }
.rom-cafe-card__list li { position:relative; padding-left:44px; font-family:"Manrope",Arial,sans-serif; font-size:16px; line-height:1.35; font-weight:700; color:#344139; }
.rom-cafe-card__list li::before { position:absolute; left:0; top:-5px; width:30px; height:30px; border-radius:50%; background:rgba(94,119,80,.12); color:#5e7750; font-size:16px; line-height:30px; text-align:center; }
.rom-cafe-card__list li:nth-child(1)::before{content:"🍽"}.rom-cafe-card__list li:nth-child(2)::before{content:"🥘"}.rom-cafe-card__list li:nth-child(3)::before{content:"🚗"}.rom-cafe-card__list li:nth-child(4)::before{content:"🧸"}

.rom-cafe-notice{padding:34px 24px;background:#FCFAF5}.rom-cafe-notice__inner{max-width:1320px;margin:0 auto;padding:30px 34px;border:1px solid rgba(214,202,180,.75);border-radius:24px;background:#fff;box-shadow:0 16px 44px rgba(36,75,52,.08);display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:start}.rom-cafe-notice__eyebrow{font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;font-style:italic;font-size:30px;line-height:1;color:#c99a2e}.rom-cafe-notice__text{font-family:"Manrope",Arial,sans-serif;font-size:18px;line-height:1.72;font-weight:650;color:#344139}.rom-cafe-notice__text::first-line{color:#244B34;font-weight:800}
.rom-cafe-popup{position:fixed;left:20px;bottom:20px;z-index:9999;width:min(360px,calc(100vw - 40px));padding:8px;border:1px solid rgba(36,75,52,.16);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(20,48,33,.16);backdrop-filter:blur(14px);font-family:"Manrope","Segoe UI",Arial,sans-serif;color:#244B34;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}.rom-cafe-popup.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.rom-cafe-popup__close{position:absolute;right:7px;top:7px;width:26px;height:26px;padding:0!important;border:0!important;border-radius:50%;background:transparent!important;color:#244B34!important;font:500 19px/26px "Segoe UI",Arial,sans-serif!important;cursor:pointer;transition:.2s ease;z-index:2}.rom-cafe-popup__close:hover{background:rgba(36,75,52,.09)!important}.rom-cafe-popup__toggle{width:100%;min-height:52px;padding:5px 32px 5px 5px!important;border:0!important;background:transparent!important;text-align:left;cursor:pointer;display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;color:#244B34!important}.rom-cafe-popup__icon{width:38px;height:38px;border-radius:11px;background:#244B34;color:#fff;display:flex;align-items:center;justify-content:center;font:800 20px/1 "Manrope","Segoe UI",Arial,sans-serif;box-shadow:0 7px 18px rgba(36,75,52,.18)}.rom-cafe-popup__label,.rom-cafe-popup__label strong,.rom-cafe-popup__label span{font-family:"Manrope","Segoe UI",Arial,sans-serif!important;font-style:normal!important;color:#244B34!important;text-transform:none!important;letter-spacing:0!important}.rom-cafe-popup__label strong{display:block;margin:0 0 2px!important;font-size:14px!important;line-height:1.25!important;font-weight:750!important}.rom-cafe-popup__label span{display:block;margin:0!important;font-size:11px!important;line-height:1.3!important;font-weight:500!important;opacity:.72}.rom-cafe-popup__body{display:none;margin:7px 3px 3px;padding:12px 13px;border-radius:12px;background:rgba(36,75,52,.045);border:1px solid rgba(36,75,52,.10);font-size:12px;line-height:1.55;color:#244B34}.rom-cafe-popup.is-open .rom-cafe-popup__body{display:block}

.meal-section { padding:88px 24px 70px; background:#FCFAF5; }
.meal-heading { text-align:center; margin-bottom:38px; }
.meal-eyebrow { margin-bottom:10px; font-family:"Cormorant Garamond",Georgia,serif; font-style:italic; font-size:28px; color:#C99A2E; }
.meal-heading h2 { margin:0; font-family:"Cormorant Garamond","Playfair Display",Georgia,serif; font-size:clamp(44px,4vw,62px); line-height:1; font-weight:500; color:#24342A; }
.meal-grid { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.meal-card { min-height:340px; position:relative; overflow:hidden; border-radius:28px; background:var(--bg) center/cover no-repeat; box-shadow:0 20px 60px rgba(36,75,52,.08); }
.meal-icon { position:absolute; left:24px; top:24px; width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; font-size:24px; }
.meal-content { position:absolute; left:24px; bottom:24px; min-width:230px; padding:22px 28px; border-radius:24px; background:rgba(252,250,245,.94); }
.meal-content h3 { margin:0 0 8px; font-family:"Cormorant Garamond",Georgia,serif; font-size:34px; line-height:1; font-weight:500; color:#24342A; }
.meal-content p { margin:0 0 16px; font-family:"Manrope",Arial,sans-serif; font-size:16px; color:#5F675F; }
.meal-content strong { font-family:"Manrope",Arial,sans-serif; font-size:24px; color:#5E7750; }
.rom-gallery-slider{padding:0 24px 72px;background:#FCFAF5}.rom-gallery-slider__head{max-width:1320px;margin:0 auto 28px;text-align:center}.rom-gallery-slider__head div{margin-bottom:10px;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:28px;color:#C99A2E}.rom-gallery-slider__head h2{margin:0;font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;font-size:clamp(42px,4vw,58px);font-weight:500;line-height:1;color:#24342A}.rom-gallery-slider__viewport{max-width:1320px;height:520px;margin:0 auto;position:relative!important;overflow:hidden!important;border-radius:30px;border:1px solid rgba(214,202,180,.75);box-shadow:0 24px 80px rgba(36,75,52,.10);background:#fff}.rom-gallery-slider__track,.rom-gallery-slide{position:absolute!important;inset:0!important}.rom-gallery-slide{margin:0!important;opacity:0;transition:opacity .35s ease;background:var(--slide-bg) center center/cover no-repeat!important}.rom-gallery-slide.is-active{opacity:1}.rom-gallery-slide img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center center!important;opacity:0!important;pointer-events:none!important}.rom-gallery-slider__nav{position:absolute!important;z-index:20!important;top:50%!important;transform:translateY(-50%)!important;width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;padding:0!important;margin:0!important;border:1px solid rgba(255,255,255,.82)!important;border-radius:50%!important;background:rgba(255,255,255,.9)!important;box-shadow:0 12px 32px rgba(36,75,52,.16)!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#244B34!important;cursor:pointer!important;appearance:none!important}.rom-gallery-slider__nav::before{display:block!important;font-size:38px!important;line-height:1!important;font-weight:400!important;color:#244B34!important}.rom-gallery-slider__prev{left:24px!important;right:auto!important}.rom-gallery-slider__next{right:24px!important;left:auto!important}.rom-gallery-slider__prev::before{content:"‹"!important}.rom-gallery-slider__next::before{content:"›"!important}.rom-gallery-slider__dots{display:flex;justify-content:center;gap:10px;margin-top:18px}.rom-gallery-slider__dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(36,75,52,.28)}.rom-gallery-slider__dots button.is-active{width:30px;border-radius:999px;background:#244B34}

.event-banner-section { padding:70px 24px; background:#FCFAF5; }
.event-banner { position:relative; max-width:1320px; min-height:520px; margin:0 auto; overflow:hidden; border-radius:30px; border:1px solid rgba(214,202,180,.75); box-shadow:0 24px 80px rgba(36,75,52,.10); background-image:linear-gradient(90deg,rgba(252,250,245,1) 0%,rgba(252,250,245,.98) 24%,rgba(252,250,245,.82) 42%,rgba(252,250,245,.42) 58%,rgba(252,250,245,.08) 76%,rgba(252,250,245,0) 100%),var(--event-bg); background-size:cover; background-position:center right; background-repeat:no-repeat; }
.event-banner__content { width:46%; min-width:520px; padding:68px 62px; position:relative; z-index:2; }
.event-banner__eyebrow { margin-bottom:18px; font-family:"Cormorant Garamond","Playfair Display",Georgia,serif; font-style:italic; font-size:30px; line-height:1; color:#C99A2E; }
.event-banner h2 { margin:0 0 24px; font-family:"Cormorant Garamond","Playfair Display",Georgia,serif; font-size:clamp(44px,4.7vw,66px); line-height:1.02; font-weight:500; color:#24342A; }
.event-banner p { max-width:520px; margin:0 0 32px; font-family:"Manrope",Arial,sans-serif; font-size:18px; line-height:1.7; color:#3D463F; }
.event-banner ul { display:grid; gap:18px; margin:0 0 40px; padding:0; list-style:none; }
.event-banner li { position:relative; padding-left:42px; font-family:"Manrope",Arial,sans-serif; font-size:17px; line-height:1.45; color:#3D463F; }
.event-banner li::before { content:"✓"; position:absolute; left:0; top:-2px; width:26px; height:26px; border-radius:50%; background:rgba(94,119,80,.12); color:#5E7750; font-size:18px; font-weight:700; line-height:26px; text-align:center; }
.event-banner__btn { display:inline-flex; align-items:center; justify-content:center; min-height:58px; padding:0 36px; border-radius:12px; background:#244B34; color:#fff!important; font-family:"Manrope",Arial,sans-serif; font-size:16px; font-weight:700; text-decoration:none!important; box-shadow:0 16px 40px rgba(36,75,52,.22); }
.event-calculator-section{margin-top:54px;margin-bottom:54px;background:#FCFAF5}.event-calculator-details{max-width:1320px;margin:0 auto}.event-calculator-toggle{min-height:64px;padding:0 34px;border-radius:18px;background:#244B34;color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Manrope",Arial,sans-serif;font-size:18px;font-weight:800;cursor:pointer;list-style:none;box-shadow:0 16px 40px rgba(36,75,52,.18)}.event-calculator-toggle::-webkit-details-marker{display:none}.event-calculator-toggle:after{content:"⌄";margin-left:14px;font-size:24px;transition:.25s ease}.event-calculator-details[open] .event-calculator-toggle{border-radius:18px 18px 0 0}.event-calculator-details[open] .event-calculator-toggle:after{transform:rotate(180deg)}.event-calculator-card{max-width:1320px;margin:0 auto;background:#fff;border:1px solid rgba(214,202,180,.75);border-top:0;border-radius:0 0 30px 30px;overflow:hidden;box-shadow:0 20px 60px rgba(36,75,52,.08)}.event-calculator-head{padding:34px;text-align:center;background:#244B34;color:#fff}.event-calculator-head h2{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:40px;font-weight:500;color:#fff!important}.event-calculator-head p{margin:8px 0 0;opacity:.9}.event-calculator-body{padding:22px;display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.event-calc-box{background:#fff;border:1px solid rgba(214,202,180,.75);border-radius:22px;padding:16px;margin-bottom:14px}.event-calc-box h3{margin:0 0 12px;font-size:16px}.event-calc-box label{display:block;margin-top:12px;font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase}.event-calc-box input,.event-calc-box select{width:100%;margin-top:6px;padding:12px;border-radius:12px;border:1px solid #e5e7eb;font-size:15px}.event-calc-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f3f4f6;padding:6px;border-radius:14px}.event-calc-seg button{border:0;background:none;padding:10px;border-radius:12px;font-weight:800}.event-calc-seg button.is-active{background:#fff;box-shadow:0 6px 14px rgba(0,0,0,.12)}.event-calc-check{display:grid;grid-template-columns:24px 1fr 100px;gap:10px;align-items:center;margin-top:8px}.event-calc-check input{margin:0}.event-calc-summary{background:#effcf6;border-radius:22px;padding:18px;border:1px solid #b7ebd2}.event-calc-summary h3{margin-top:0}.event-calc-summary div{display:flex;justify-content:space-between;margin:8px 0}.event-calc-summary>strong{display:block;margin:18px 0;font-size:42px;font-weight:900;color:#244B34;text-align:center}.event-calc-summary button{width:100%;border:0;padding:14px;border-radius:16px;font-weight:900}.event-calc-submit{background:#0a8a5d;color:#fff}.event-calc-copy{margin-top:10px;background:#fff;color:#0f172a;border:1px solid #cfeadf!important}.event-calc-status{min-height:20px;text-align:center}.event-calc-summary small{display:block;font-size:12px;color:#6b7280;text-align:center;margin-top:8px}
.event-calc-box textarea{width:100%;margin-top:6px;padding:12px;border-radius:12px;border:1px solid #e5e7eb;font-size:15px;min-height:90px;resize:vertical}

.rcm-preorder,.rcm-order { max-width:1320px; margin:0 auto; padding-left:24px; padding-right:24px; }
.rcm-preorder{margin-top:28px}
.rcm-order { margin-top:44px; display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }
.rcm-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.rcm-tabs button{border:1px solid rgba(214,202,180,.75);border-radius:999px;padding:12px 18px;background:#fff}.rcm-tabs .is-active{background:#244B34;color:#fff}
.rcm-grid{display:none;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.rcm-grid.is-active{display:grid}
.rcm-grid article,.rcm-cart{background:#fff;border:1px solid rgba(214,202,180,.75);border-radius:22px;overflow:hidden}.rcm-grid img{width:100%;aspect-ratio:1/1;object-fit:cover}.rcm-grid h3,.rcm-grid p,.rcm-grid div,.rcm-grid footer{margin-left:18px;margin-right:18px}.rcm-grid footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;margin-bottom:18px}
.rcm-add,.rcm-checkout{border:0;border-radius:12px;background:#244B34;color:#fff;padding:12px 16px;font-weight:700}.rcm-cart{position:sticky;top:24px;padding:22px}.rcm-cart-row,.rcm-total{display:flex;justify-content:space-between;gap:10px}.rcm-cart-row{margin-bottom:14px}.rcm-total{border-top:1px solid rgba(214,202,180,.75);padding-top:14px;margin-top:14px}.rcm-cart label{display:block;margin-top:12px}.rcm-cart input,.rcm-cart textarea{width:100%}

.rom-cafe-bottom{padding:70px 24px 90px;background:#FCFAF5;color:#24342A;font-family:"Manrope",Arial,sans-serif}.rom-cafe-bottom__inner{max-width:1320px;margin:0 auto}
.rom-recommend{min-height:300px;position:relative;overflow:hidden;border-radius:30px;border:1px solid rgba(214,202,180,.75);box-shadow:0 20px 60px rgba(36,75,52,.08);background-image:linear-gradient(90deg,rgba(252,250,245,.05) 0%,rgba(252,250,245,.10) 30%,rgba(252,250,245,.78) 52%,rgba(252,250,245,.96) 100%),var(--recommend-bg);background-size:cover;background-position:center;background-repeat:no-repeat}
.rom-recommend__content{width:48%;min-height:300px;margin-left:auto;padding:46px 56px;display:flex;flex-direction:column;justify-content:center}.rom-recommend__eyebrow{margin-bottom:10px;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:28px;color:#C99A2E}.rom-recommend h2{margin:0 0 16px;font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;font-size:clamp(42px,4vw,58px);line-height:1.02;font-weight:500;color:#24342A}.rom-recommend p{max-width:520px;margin:0 0 28px;font-size:18px;line-height:1.65;color:#5F675F}.rom-recommend__meta{display:flex;align-items:center;gap:34px;flex-wrap:wrap}.rom-recommend__weight{font-size:17px;color:#7A807A}.rom-recommend__price{font-size:32px;font-weight:800;color:#244B34}.rom-recommend__btn{min-height:56px;padding:0 36px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#244B34;color:#fff!important;text-decoration:none!important;font-size:16px;font-weight:700}
.rom-faq-row{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(214,202,180,.75);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 45px rgba(36,75,52,.05)}.rom-faq-item{border-right:1px solid rgba(214,202,180,.65)}.rom-faq-item:last-child{border-right:0}.rom-faq-item details{height:100%}.rom-faq-item summary{min-height:104px;padding:24px;display:grid;grid-template-columns:46px 1fr 22px;align-items:center;gap:18px;cursor:pointer;list-style:none}.rom-faq-item summary::-webkit-details-marker{display:none}.rom-faq-icon{width:46px;height:46px;border-radius:50%;background:rgba(94,119,80,.12);color:#5E7750;display:flex;align-items:center;justify-content:center;font-size:23px}.rom-faq-title{font-size:17px;line-height:1.35;font-weight:800;color:#344139}.rom-faq-arrow{color:#7A807A;font-size:24px;transition:.25s ease}.rom-faq-item details[open] .rom-faq-arrow{transform:rotate(180deg)}.rom-faq-content{padding:0 24px 26px 88px;margin-top:-8px;font-size:15px;line-height:1.6;color:#5F675F}
.rom-contact{margin-top:70px;display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:center}.rom-contact__left h2{margin:0 0 22px;font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;font-size:clamp(44px,4vw,62px);line-height:1;font-weight:500;color:#24342A}.rom-contact__left p{max-width:470px;margin:0 0 28px;font-size:19px;line-height:1.65;color:#5F675F}.rom-phone{display:flex;align-items:center;gap:16px;margin-bottom:8px;font-size:28px;font-weight:800;color:#24342A;text-decoration:none!important}.rom-phone span{width:34px;height:34px;border-radius:50%;background:rgba(94,119,80,.12);color:#5E7750;display:flex;align-items:center;justify-content:center;font-size:18px}.rom-worktime{margin-left:50px;margin-bottom:34px;font-size:15px;color:#7A807A}.rom-contact__buttons{display:flex;gap:18px;flex-wrap:wrap}.rom-contact-btn{min-height:58px;padding:0 40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;text-decoration:none!important}.rom-contact-btn--green{background:#244B34;color:#fff!important}.rom-contact-btn--white{background:#fff;color:#24342A!important;border:2px solid rgba(36,75,52,.24)}
.rom-map-card{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:center;padding:34px;border-radius:30px;background:#fff;border:1px solid rgba(214,202,180,.7);box-shadow:0 20px 60px rgba(36,75,52,.07)}.rom-map-card h3{margin:0 0 24px;font-size:19px;font-weight:800;color:#344139}.rom-map-card p{margin:0 0 26px;font-size:17px;line-height:1.65;color:#5F675F}.rom-map-card a{color:#244B34!important;font-weight:700;text-decoration:underline;text-underline-offset:4px}.rom-map-img{min-height:210px;border-radius:22px;background:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)),var(--map-bg);background-size:cover;background-position:center;position:relative;overflow:hidden}.rom-map-badge{position:absolute;left:26px;top:50%;transform:translateY(-50%);max-width:230px;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 32px rgba(36,75,52,.12)}

@media(max-width:1024px){
  .rom-cafe-mobile-cover{display:block;width:100%;height:76px;background-image:linear-gradient(rgba(20,49,37,.38),rgba(20,49,37,.38)),var(--mobile-cover);background-size:cover;background-position:center;background-repeat:no-repeat}
  .rom-cafe-hero__inner{padding:56px 28px;flex-direction:column;align-items:flex-start;gap:30px}
  .rom-cafe-hero__left{width:100%;max-width:650px}
  .rom-cafe-card{width:100%;max-width:520px;margin:0}
  .meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rom-faq-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-banner__content{width:65%;min-width:auto;padding:50px 38px}
  .event-calculator-body,.rcm-order,.rom-contact{grid-template-columns:1fr}
  .rcm-cart{position:static}
}

@media(max-width:767px){
  .rcm-page{font-size:15px}
  .rom-cafe-hero{min-height:auto;background-image:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 56%,rgba(255,255,255,.70) 100%),var(--hero-bg);background-position:center}
  .rom-cafe-hero__inner{min-height:auto;padding:32px 16px 20px;gap:18px}
  .rom-cafe-hero__note{margin-bottom:12px;font-size:21px}
  .rom-cafe-hero h1{margin-bottom:18px;font-size:42px;line-height:.98}
  .rom-cafe-hero__text{font-size:14px;line-height:1.55;font-weight:600}
  .rom-cafe-hero__buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .rom-cafe-hero__btn{width:100%;min-height:48px;padding:8px 12px;border-radius:10px;font-size:13px;line-height:1.25;text-align:center}
  .rom-cafe-card{max-width:none;padding:18px;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(36,75,52,.12)}
  .rom-cafe-card__label{margin-bottom:7px;font-size:12px}
  .rom-cafe-card__time{margin-bottom:5px;font-size:28px}
  .rom-cafe-card__small{margin-bottom:16px;font-size:12px}
  .rom-cafe-card__list{grid-template-columns:1fr 1fr;gap:12px 10px}
  .rom-cafe-card__list li{min-height:26px;padding-left:31px;font-size:12px;line-height:1.3}
  .rom-cafe-card__list li::before{top:-2px;width:24px;height:24px;font-size:12px;line-height:24px}

  .rom-cafe-notice{padding:18px 16px}
  .rom-cafe-notice__inner{grid-template-columns:1fr;gap:10px;padding:18px;border-radius:16px;box-shadow:0 8px 24px rgba(36,75,52,.06)}
  .rom-cafe-notice__eyebrow{font-family:"Manrope",Arial,sans-serif;font-style:normal;font-size:15px;font-weight:800;color:#244B34}
  .rom-cafe-notice__text{font-size:13px;line-height:1.55;font-weight:500}
  .rom-cafe-popup{left:12px;right:12px;bottom:12px;width:auto;border-radius:14px}

  .meal-section{padding:34px 16px}
  .meal-heading{margin-bottom:20px}
  .meal-eyebrow{margin-bottom:6px;font-size:20px}
  .meal-heading h2{font-size:36px}
  .meal-grid{grid-template-columns:1fr;gap:14px}
  .meal-card{min-height:238px;border-radius:18px;box-shadow:0 10px 30px rgba(36,75,52,.08)}
  .meal-icon{left:14px;top:14px;width:40px;height:40px;font-size:17px}
  .meal-content{left:14px;right:14px;bottom:14px;min-width:0;padding:15px 17px;border-radius:15px}
  .meal-content h3{margin-bottom:5px;font-size:27px}
  .meal-content p{margin-bottom:9px;font-size:13px}
  .meal-content strong{font-size:20px}

  .rom-gallery-slider{padding:4px 16px 36px}
  .rom-gallery-slider__head{margin-bottom:18px}
  .rom-gallery-slider__head div{margin-bottom:6px;font-size:20px}
  .rom-gallery-slider__head h2{font-size:34px;line-height:1.05}
  .rom-gallery-slider__viewport{height:auto;aspect-ratio:4/3;border-radius:18px;box-shadow:0 10px 30px rgba(36,75,52,.09)}
  .rom-gallery-slide{background-position:center center!important}
  .rom-gallery-slider__nav{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  .rom-gallery-slider__nav::before{font-size:30px!important}
  .rom-gallery-slider__prev{left:10px!important}.rom-gallery-slider__next{right:10px!important}
  .rom-gallery-slider__dots{gap:7px;margin-top:12px;overflow:hidden}
  .rom-gallery-slider__dots button{width:7px;height:7px;min-width:7px}.rom-gallery-slider__dots button.is-active{width:22px}

  .event-banner-section{padding:34px 16px}
  .event-banner{min-height:0;border-radius:18px;background-image:linear-gradient(180deg,rgba(252,250,245,.98) 0%,rgba(252,250,245,.94) 56%,rgba(252,250,245,.24) 100%),var(--event-bg);background-position:center bottom;box-shadow:0 10px 30px rgba(36,75,52,.08)}
  .event-banner__content{width:100%;min-width:0;padding:25px 18px 210px}
  .event-banner__eyebrow{margin-bottom:10px;font-size:20px}
  .event-banner h2{margin-bottom:14px;font-size:35px;line-height:1}
  .event-banner p{margin-bottom:18px;font-size:14px;line-height:1.55}
  .event-banner ul{gap:10px;margin-bottom:20px}
  .event-banner li{padding-left:30px;font-size:13px;line-height:1.4}
  .event-banner li::before{width:21px;height:21px;font-size:14px;line-height:21px}
  .event-banner__btn{width:100%;min-height:48px;padding:0 16px;border-radius:10px;font-size:14px}

  .rcm-preorder{margin-top:0;padding:22px 16px;display:flex;flex-direction:column;gap:14px;font-size:13px;line-height:1.55;background:#fff;border-top:1px solid rgba(214,202,180,.55);border-bottom:1px solid rgba(214,202,180,.55)}
  .rcm-preorder a{display:flex;min-height:46px;align-items:center;justify-content:center;border-radius:10px;background:#244B34;color:#fff!important;font-weight:800;text-decoration:none!important}
  .rcm-order{margin-top:28px;padding:0 16px;gap:18px}
  .rcm-menu{min-width:0}
  .rcm-tabs{margin:0 -16px 16px;padding:0 16px 5px;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.rcm-tabs::-webkit-scrollbar{display:none}
  .rcm-tabs button{flex:0 0 auto;padding:9px 13px;font-size:12px;white-space:nowrap}
  .rcm-grid{grid-template-columns:1fr;gap:12px}
  .rcm-grid article{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:12px;min-height:174px;border-radius:16px}
  .rcm-grid img{grid-column:1;grid-row:1/5;width:110px;height:100%;min-height:174px;aspect-ratio:auto;object-fit:cover}
  .rcm-grid h3{grid-column:2;margin:13px 12px 2px 0;font-size:17px;line-height:1.2}
  .rcm-grid p{grid-column:2;margin:0 12px 5px 0;font-size:12px;color:#6f756f}
  .rcm-grid article>div{grid-column:2;margin:0 12px 6px 0;font-size:12px;line-height:1.35;color:#5f675f}
  .rcm-grid footer{grid-column:2;margin:4px 12px 12px 0;gap:8px}
  .rcm-grid footer strong{font-size:16px;white-space:nowrap}
  .rcm-add{padding:9px 10px;border-radius:9px;font-size:11px;white-space:nowrap}
  .rcm-cart{padding:18px;border-radius:16px}
  .rcm-cart h2{margin:0 0 14px;font-size:24px}
  .rcm-cart label{margin-top:10px;font-size:12px;font-weight:700}
  .rcm-cart input,.rcm-cart textarea{min-height:42px;margin-top:5px;padding:9px;border:1px solid #dfe4e0;border-radius:9px}.rcm-cart textarea{min-height:80px}
  .rcm-checkout{width:100%;margin-top:14px;min-height:46px}

  .rom-cafe-bottom{padding:36px 16px 48px}
  .rom-recommend{min-height:0;border-radius:18px;background-image:linear-gradient(180deg,rgba(252,250,245,.02) 0%,rgba(252,250,245,.10) 35%,rgba(252,250,245,.96) 60%,#FCFAF5 100%),var(--recommend-bg);background-position:center top;box-shadow:0 10px 30px rgba(36,75,52,.08)}
  .rom-recommend__content{width:100%;min-height:0;padding:210px 18px 20px;justify-content:flex-end}
  .rom-recommend__eyebrow{margin-bottom:6px;font-size:20px}
  .rom-recommend h2{margin-bottom:9px;font-size:34px}
  .rom-recommend p{margin-bottom:15px;font-size:13px;line-height:1.5}
  .rom-recommend__meta{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center}
  .rom-recommend__weight{font-size:13px}.rom-recommend__price{font-size:24px}
  .rom-recommend__btn{grid-column:1/-1;width:100%;min-height:46px;padding:0 16px;border-radius:10px;font-size:14px}
  .rom-faq-row{margin-top:18px;grid-template-columns:1fr;border-radius:16px;box-shadow:none}
  .rom-faq-item{border-right:0;border-bottom:1px solid rgba(214,202,180,.65)}.rom-faq-item:last-child{border-bottom:0}
  .rom-faq-item summary{min-height:68px;padding:12px 14px;grid-template-columns:36px 1fr 18px;gap:11px}
  .rom-faq-icon{width:36px;height:36px;font-size:17px}.rom-faq-title{font-size:14px}.rom-faq-arrow{font-size:20px}
  .rom-faq-content{margin:0;padding:0 14px 15px 61px;font-size:13px;line-height:1.5}

  .event-calculator-section{margin:28px 0}
  .event-calculator-toggle{min-height:52px;padding:10px 16px;border-radius:13px;font-size:14px;line-height:1.25;text-align:center;box-shadow:0 8px 24px rgba(36,75,52,.15)}
  .event-calculator-details[open] .event-calculator-toggle{border-radius:13px 13px 0 0}
  .event-calculator-card{border-radius:0 0 16px 16px}
  .event-calculator-head{padding:20px 14px}.event-calculator-head h2{font-size:28px}.event-calculator-head p{font-size:12px;line-height:1.4}
  .event-calculator-body{padding:12px;grid-template-columns:1fr;gap:12px}
  .event-calc-box{margin-bottom:10px;padding:13px;border-radius:13px}.event-calc-box h3{font-size:14px}
  .event-calc-box label{margin-top:9px;font-size:10px}.event-calc-box input,.event-calc-box select,.event-calc-box textarea{margin-top:4px;padding:10px;font-size:14px;border-radius:9px}
  .event-calc-seg button{padding:9px 5px;font-size:12px}
  .event-calc-check{grid-template-columns:22px minmax(0,1fr) 70px;gap:7px;font-size:12px}.event-calc-check input[type=checkbox]{width:18px;height:18px;padding:0;margin:0}.event-calc-check input[type=number]{width:70px;min-width:0}
  .event-calc-summary{padding:15px;border-radius:14px}.event-calc-summary>strong{margin:14px 0;font-size:32px}.event-calc-summary button{padding:12px;font-size:12px;border-radius:10px}

  .rom-contact{margin-top:34px;gap:24px}
  .rom-contact__left h2{margin-bottom:12px;font-size:38px}.rom-contact__left p{margin-bottom:17px;font-size:14px;line-height:1.5}
  .rom-phone{gap:10px;font-size:21px}.rom-phone span{width:30px;height:30px;font-size:15px}.rom-worktime{margin:5px 0 20px;font-size:12px}
  .rom-contact__buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rom-contact-btn{min-height:46px;padding:8px 10px;border-radius:10px;font-size:12px;text-align:center}
  .rom-map-card{grid-template-columns:1fr;gap:18px;padding:18px;border-radius:16px;box-shadow:0 8px 24px rgba(36,75,52,.06)}
  .rom-map-card h3{margin-bottom:12px;font-size:16px}.rom-map-card p{margin-bottom:14px;font-size:13px;line-height:1.5}.rom-map-card a{font-size:13px}
  .rom-map-img{min-height:190px;border-radius:13px}.rom-map-badge{left:14px;right:14px;max-width:none;padding:13px 15px;border-radius:12px}
}

@media(max-width:390px){
  .rom-cafe-hero h1{font-size:38px}
  .rom-cafe-hero__buttons,.rom-contact__buttons{grid-template-columns:1fr}
  .rom-cafe-card__list{grid-template-columns:1fr}
  .rcm-grid article{grid-template-columns:96px minmax(0,1fr)}
  .rcm-grid img{width:96px}
  .rcm-add{padding:8px;font-size:10px}
}
