/* The Addison menu template (v2): [derbyflow_menu] with template "addison" (inc/menu-addison.php)
   and the app preview (src/dev/menu/AddisonMenu.tsx, which loads this file and turns the width
   @media queries into @container queries). Layout from The Addison's menu page design; colours
   and fonts come in as --dfa-* from the menu design. Classes are dfa-* under .df-admn so a
   hand-pasted copy of the original page (.admn) on the same site cannot restyle it. */
.elementor-widget:has(.df-admn),.elementor-widget-container:has(.df-admn),.e-con:has(.df-admn),.e-con-inner:has(.df-admn){width:100%!important;max-width:none!important;margin:0!important;padding:0!important;--padding-left:0px;--padding-right:0px}
.df-admn{--dfa-deep:#020A1A;--dfa-navy:#0B1224;--dfa-gold:#E8B33C;--dfa-ivory:#F4EEE3;--dfa-title:Georgia,serif;--dfa-body:Arial,sans-serif;--dfa-bronze:color-mix(in srgb,var(--dfa-gold) 60%,#3a1c00);--dfa-muted:color-mix(in srgb,var(--dfa-ivory) 68%,transparent);--dfa-line:color-mix(in srgb,var(--dfa-bronze) 55%,transparent);width:100%;background:var(--dfa-deep);color:var(--dfa-ivory);font-family:var(--dfa-body);-webkit-font-smoothing:antialiased;text-align:left}
.df-admn,.df-admn *,.df-admn *::before,.df-admn *::after{box-sizing:border-box}
.df-admn h1,.df-admn h2,.df-admn h3,.df-admn h4,.df-admn p,.df-admn ul,.df-admn li{margin:0;padding:0}
.df-admn ul{list-style:none}
.df-admn a{text-decoration:none!important}
.df-admn .dfa-wrap{width:100%;max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,60px)}
.df-admn h1.dfa-hero-title,.df-admn h3.dfa-cat-title,.df-admn h3.dfa-feature-title,.df-admn h4.dfa-name{font-family:var(--dfa-title)!important;font-weight:700!important;font-synthesis:weight;letter-spacing:.02em!important;text-transform:uppercase!important}

/* hero */
.df-admn .dfa-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:350px;padding:38px 0;background:var(--dfa-deep);border-bottom:1px solid color-mix(in srgb,var(--dfa-gold) 36%,transparent)}
.df-admn .dfa-hero-image{position:absolute;inset:0 0 0 auto;width:58%;z-index:-1}
.df-admn .dfa-hero-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 40%}
.df-admn .dfa-hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--dfa-deep) 0%,color-mix(in srgb,var(--dfa-deep) 72%,transparent) 16%,color-mix(in srgb,var(--dfa-deep) 28%,transparent) 42%,color-mix(in srgb,var(--dfa-deep) 18%,transparent) 100%),linear-gradient(0deg,color-mix(in srgb,var(--dfa-deep) 55%,transparent),transparent 45%)}
.df-admn .dfa-hero-inner{position:relative;z-index:2;width:100%;padding:0 clamp(20px,2.4vw,48px)}
.df-admn .dfa-hero-badge{width:74px;margin:0 0 6px}
.df-admn .dfa-hero-badge img{display:block;width:100%;height:auto;object-fit:contain}
.df-admn h1.dfa-hero-title{display:flex;flex-wrap:nowrap;align-items:baseline;gap:clamp(12px,1.4vw,22px);font-size:64px!important;line-height:1.02!important;letter-spacing:normal!important;white-space:nowrap;color:#fff!important}
.df-admn .dfa-hero-title span{display:inline-block}
.df-admn h1.dfa-hero-title .dfa-hero-first{color:#fff!important;-webkit-text-fill-color:#fff!important}
.df-admn h1.dfa-hero-title .dfa-hero-second{color:var(--dfa-gold)!important;-webkit-text-fill-color:var(--dfa-gold)!important}
.df-admn .dfa-hero-lead{width:100%;max-width:820px;margin-top:18px!important;color:#fff;font-family:var(--dfa-body);font-size:clamp(12px,1.05vw,15px);font-weight:300;line-height:1.8}
.df-admn .dfa-hero-divider{display:flex;align-items:center;gap:14px;width:min(360px,100%);margin-top:14px}
.df-admn .dfa-hero-divider::before,.df-admn .dfa-hero-divider::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--dfa-gold) 75%,transparent)}
.df-admn .dfa-hero-divider i{width:10px;height:10px;border:1.5px solid var(--dfa-gold);transform:rotate(45deg);flex:none}

/* tabs */
.df-admn .dfa-tabs{position:relative;z-index:5;display:flex;justify-content:center;background:var(--dfa-navy);border-top:1px solid var(--dfa-line);border-bottom:1px solid var(--dfa-line)}
.df-admn .dfa-tab{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:150px;height:60px;padding:0 30px;cursor:pointer;font-family:var(--dfa-body);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dfa-ivory);border-right:1px solid var(--dfa-line);transition:background .3s ease,color .3s ease}
.df-admn .dfa-tab:first-child{border-left:1px solid var(--dfa-line)}
.df-admn .dfa-tab svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.df-admn .dfa-tab:hover{color:var(--dfa-gold)}
.df-admn .dfa-tab[aria-selected="true"]{background:var(--dfa-gold);color:var(--dfa-deep)}
.df-admn .dfa-tab:focus-visible{outline:2px solid var(--dfa-gold);outline-offset:-4px}

/* body */
.df-admn .dfa-body{position:relative;isolation:isolate;overflow:hidden}
.df-admn .dfa-body[data-photo]::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--dfa-body-photo) center top/cover no-repeat}
.df-admn .dfa-body[data-photo]::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--dfa-deep) 90%,transparent) 0%,color-mix(in srgb,var(--dfa-deep) 94%,transparent) 40%,color-mix(in srgb,var(--dfa-deep) 97%,transparent) 100%)}
.df-admn .dfa-panel{padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(56px,6vw,90px)}
.df-admn .dfa-panel[hidden]{display:none}
.df-admn .dfa-row{display:grid;grid-template-columns:1fr 1fr minmax(260px,.82fr);gap:0}
.df-admn .dfa-row--three{grid-template-columns:1fr 1fr 1fr}
.df-admn .dfa-row+.dfa-row{margin-top:clamp(40px,4vw,60px);padding-top:clamp(40px,4vw,60px);border-top:1px solid color-mix(in srgb,var(--dfa-bronze) 35%,transparent)}
.df-admn .dfa-col{min-width:0;padding:0 clamp(20px,2.4vw,36px)}
.df-admn .dfa-col:first-child{padding-left:0}
.df-admn .dfa-col:last-child{padding-right:0}
.df-admn .dfa-col--line{border-left:1px solid color-mix(in srgb,var(--dfa-bronze) 30%,transparent)}
.df-admn .dfa-col--card{grid-column:3;padding-left:clamp(20px,2.4vw,36px)}
.df-admn .dfa-cat+.dfa-cat{margin-top:clamp(40px,4vw,56px)}
.df-admn .dfa-cat-head{display:flex;align-items:center;gap:14px}
.df-admn h3.dfa-cat-title{font-size:clamp(24px,2.1vw,32px)!important;line-height:1.05!important;color:#fff!important;white-space:nowrap}
.df-admn .dfa-rule{flex:1;height:1px;background:linear-gradient(90deg,var(--dfa-bronze),color-mix(in srgb,var(--dfa-bronze) 20%,transparent))}
.df-admn .dfa-cat-note{margin-top:10px!important;color:var(--dfa-gold);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* items */
.df-admn .dfa-list{margin-top:22px!important}
.df-admn .dfa-item{padding:15px 0 16px;border-bottom:1px solid color-mix(in srgb,var(--dfa-bronze) 20%,transparent)}
.df-admn .dfa-item:first-child{padding-top:0}
.df-admn .dfa-item:last-child{border-bottom:0}
.df-admn .dfa-item-top{display:flex;align-items:baseline;gap:12px}
.df-admn h4.dfa-name{font-size:16px!important;line-height:1.25!important;color:var(--dfa-ivory)!important;min-width:0;overflow-wrap:anywhere}
.df-admn .dfa-dots{flex:1;min-width:20px;height:1px;transform:translateY(-4px);background:color-mix(in srgb,var(--dfa-bronze) 45%,transparent)}
.df-admn .dfa-price{flex:none;font-family:var(--dfa-title);font-size:19px;line-height:1;color:var(--dfa-gold);white-space:nowrap;font-variant-numeric:lining-nums}
.df-admn .dfa-desc{margin-top:6px!important;color:var(--dfa-muted);font-size:13px;font-weight:300;line-height:1.6}
.df-admn .dfa-item:hover .dfa-name{color:var(--dfa-gold)!important}

/* cards */
.df-admn .dfa-feature{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 26px 32px;border:1px solid color-mix(in srgb,var(--dfa-gold) 55%,transparent);outline:1px solid color-mix(in srgb,var(--dfa-bronze) 35%,transparent);outline-offset:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--dfa-navy) 85%,#ffffff 6%) 0%,var(--dfa-navy) 100%);box-shadow:0 26px 50px -30px rgba(0,0,0,.8)}
.df-admn .dfa-feature+.dfa-feature{margin-top:30px}
.df-admn .dfa-feature--plain{padding-top:34px}
.df-admn .dfa-feature-kicker{display:flex;align-items:center;gap:8px;color:var(--dfa-gold);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.df-admn .dfa-feature-kicker i{font-style:normal;font-size:8px}
.df-admn .dfa-feature-img{width:min(190px,70%);aspect-ratio:1;margin-top:22px;border-radius:50%;overflow:hidden;border:3px solid var(--dfa-bronze);box-shadow:0 0 0 6px color-mix(in srgb,var(--dfa-gold) 12%,transparent),0 16px 30px rgba(0,0,0,.5)}
.df-admn .dfa-feature-img img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover}
.df-admn h3.dfa-feature-title{margin-top:22px!important;font-size:clamp(24px,2vw,30px)!important;line-height:1.05!important;color:#fff!important}
.df-admn .dfa-feature-price{margin-top:12px!important;font-family:var(--dfa-title);font-size:26px;line-height:1;color:var(--dfa-gold)}
.df-admn .dfa-feature-desc{margin-top:14px!important;max-width:280px;color:var(--dfa-muted);font-size:14px;font-weight:300;line-height:1.65}

/* diamond-cut button */
.df-admn a.dfa-btn{position:relative!important;isolation:isolate!important;overflow:hidden!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;height:52px!important;min-height:52px!important;padding:0 26px!important;margin-top:22px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--dfa-gold)!important;color:var(--dfa-gold)!important;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%);font-family:var(--dfa-body)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.06em!important;line-height:1.2!important;text-transform:uppercase!important;white-space:nowrap!important;transition:color .3s ease,transform .3s ease!important}
.df-admn a.dfa-btn::before{content:""!important;position:absolute!important;z-index:-2!important;inset:1.5px!important;background:var(--dfa-navy)!important;clip-path:polygon(11px 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,11px 100%,0 50%)}
.df-admn a.dfa-btn::after{content:""!important;position:absolute!important;z-index:-1!important;top:1.5px!important;bottom:1.5px!important;left:1.5px!important;width:0;background:var(--dfa-gold)!important;pointer-events:none;transition:width .45s cubic-bezier(.77,0,.18,1)!important}
.df-admn a.dfa-btn:hover::after,.df-admn a.dfa-btn:focus-visible::after{width:calc(100% - 3px)}
.df-admn a.dfa-btn:hover,.df-admn a.dfa-btn:focus-visible{color:var(--dfa-navy)!important;transform:translateY(-2px)!important}
.df-admn a.dfa-btn:focus-visible{outline:2px solid var(--dfa-gold)!important;outline-offset:4px!important}
.df-admn .dfa-btn-gem{position:relative;z-index:2;display:inline-block;width:7px;height:7px;flex:none;border:1px solid currentColor;transform:rotate(45deg)}
.df-admn .dfa-btn-label{position:relative;z-index:2;color:inherit!important}
.df-admn .dfa-btn-arrow{position:relative;z-index:2;width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.df-admn a.dfa-btn:hover .dfa-btn-arrow{transform:translateX(4px)}

/* responsive: hero */
@media (max-width:1024px){.df-admn .dfa-hero-image{left:0;width:100%}.df-admn .dfa-hero-image::after{background:linear-gradient(90deg,color-mix(in srgb,var(--dfa-deep) 95%,transparent),color-mix(in srgb,var(--dfa-deep) 60%,transparent))}}
@media (max-width:900px){.df-admn h1.dfa-hero-title{font-size:clamp(42px,7vw,64px)!important}}
@media (max-width:600px){.df-admn .dfa-hero{min-height:360px;padding:42px 0}.df-admn .dfa-hero-badge{width:58px;margin-bottom:5px}.df-admn h1.dfa-hero-title{font-size:clamp(27px,7.2vw,42px)!important;gap:8px}.df-admn .dfa-hero-lead{width:auto;max-width:100%;font-size:12px;line-height:1.75}.df-admn .dfa-hero-divider{width:min(260px,100%)}}
@media (max-width:380px){.df-admn .dfa-hero{min-height:345px;padding:36px 0}.df-admn h1.dfa-hero-title{font-size:clamp(24px,7.1vw,27px)!important}}

/* responsive: menu */
@media (max-width:1100px){.df-admn .dfa-row,.df-admn .dfa-row--three{grid-template-columns:1fr 1fr}.df-admn .dfa-col--card{grid-column:1/-1;padding:0;margin-top:44px;display:flex;flex-direction:column;align-items:center}.df-admn .dfa-col--card .dfa-feature{width:100%;max-width:520px}.df-admn .dfa-row .dfa-col:nth-child(3).dfa-col--line{grid-column:1/-1;border-left:0;padding:0;margin-top:44px}}
@media (max-width:767px){.df-admn .dfa-tab{flex:1;min-width:0;height:56px;padding:0 12px}.df-admn .dfa-row,.df-admn .dfa-row--three{grid-template-columns:1fr}.df-admn .dfa-col,.df-admn .dfa-col:first-child,.df-admn .dfa-col:last-child{padding:0}.df-admn .dfa-col--line{border-left:0}.df-admn .dfa-col+.dfa-col{margin-top:44px}.df-admn .dfa-col--card{margin-top:44px}.df-admn h4.dfa-name{font-size:15px!important}.df-admn .dfa-price{font-size:17px}.df-admn a.dfa-btn{min-height:48px!important;height:48px!important;padding:0 18px!important;font-size:11px!important;gap:9px!important}}
@media (max-width:420px){.df-admn a.dfa-btn{width:100%!important}.df-admn h3.dfa-cat-title{white-space:normal}}
@media (prefers-reduced-motion:reduce){.df-admn a.dfa-btn,.df-admn a.dfa-btn::after,.df-admn .dfa-btn-arrow,.df-admn .dfa-tab{transition:none!important}}
