/** EventShoot Pricing — deliberately inherits the live theme's colors and typography. */
.es-pricing-page-hero { border-bottom: 1px solid var(--es-line); }
.es-pricing-page-hero h1 { max-width: 1000px; margin: 0; }
.es-pricing-page { padding: 20px 0 clamp(60px, 8vw, 115px); color: var(--es-ink); background: var(--es-white); }
.es-pricing-page *, .es-pricing-page *::before, .es-pricing-page *::after { box-sizing: border-box; }
.es-pricing-section { padding: clamp(52px, 6vw, 86px) 0 0; }
.es-pricing-heading { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); gap: 9px 40px; margin-bottom: 30px; }
.es-pricing-kicker { grid-row: span 2; padding-top: 9px; color: var(--es-accent); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.es-pricing-heading h2 { margin: 0; font-size: clamp(29px, 3.6vw, 43px); font-weight: 500; letter-spacing: -.04em; line-height: 1.12; }
.es-pricing-heading p { grid-column: 2; max-width: 690px; margin: 0; color: var(--es-muted); font-size: 15px; line-height: 1.7; }
.es-pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--es-line); border-left: 1px solid var(--es-line); }
.es-pricing-card { position: relative; min-width: 0; display: flex; flex-direction: column; padding: clamp(24px, 3vw, 38px); background: #fff; border-right: 1px solid var(--es-line); border-bottom: 1px solid var(--es-line); }
.es-pricing-card--featured { background: var(--es-paper); }
.es-pricing-featured-label { display: inline-block; align-self: flex-start; margin-bottom: 17px; color: #775636; font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.es-pricing-card h3 { margin: 0; font-size: clamp(25px, 2.7vw, 33px); font-weight: 500; letter-spacing: -.03em; line-height: 1.18; }
.es-pricing-description { margin: 15px 0 0; color: var(--es-muted); font-size: 14px; line-height: 1.7; }
.es-pricing-amount { display: flex; flex-direction: column; gap: 7px; margin: 30px 0 24px; }
.es-pricing-amount strong { font-family: var(--es-serif); font-size: clamp(37px, 4vw, 51px); line-height: 1.12; letter-spacing: -.04em; font-weight: 500; }
.es-pricing-currency { font-family: var(--es-sans); font-size: 17px; font-weight: 400; letter-spacing: normal; color: var(--es-muted); }
.es-pricing-duration { color: var(--es-muted); font-size: 12px; }
.es-pricing-includes { list-style: none; padding: 19px 0 0; margin: 0 0 28px; border-top: 1px solid var(--es-line); }
.es-pricing-includes li { position: relative; padding: 0 0 11px 20px; font-size: 14px; line-height: 1.55; }
.es-pricing-includes li::before { content: '—'; position: absolute; left: 0; top: 0; color: var(--es-accent); }
.es-pricing-button { display: inline-flex; align-items: center; justify-content: center; min-height: 49px; padding: 11px 23px; margin-top: auto; color: #fff; background: var(--es-ink); border: 1px solid var(--es-ink); border-radius: var(--es-button-radius); font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; text-align: center; text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.es-pricing-button:hover, .es-pricing-button:focus-visible { background: transparent; color: var(--es-ink); }
.es-pricing-button:focus-visible { outline: 2px solid var(--es-accent); outline-offset: 3px; }
.es-pricing-pro-card { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(24px, 3vw, 38px); background: var(--es-paper); border: 1px solid var(--es-line); }
.es-pricing-pro-services { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0 0 24px; list-style: none; }
.es-pricing-pro-services li { padding: 7px 13px; border: 1px solid var(--es-line); font-size: 13px; }
.es-pricing-pro-condition { margin: 0 0 25px; color: var(--es-muted); font-size: 15px; }
.es-pricing-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--es-line); border-left: 1px solid var(--es-line); }
.es-pricing-option { padding: 24px; border-right: 1px solid var(--es-line); border-bottom: 1px solid var(--es-line); }
.es-pricing-option h3 { margin: 0 0 15px; font-size: 20px; font-weight: 500; line-height: 1.32; }
.es-pricing-option-price { margin: 0 0 6px; font-family: var(--es-serif); font-size: 27px; line-height: 1.2; }
.es-pricing-option-note { margin: 0; color: var(--es-muted); font-size: 12px; }
.es-pricing-note { margin: 22px 0 0; padding: 20px 24px; color: var(--es-muted); background: var(--es-paper); border-left: 3px solid var(--es-accent); font-size: 14px; line-height: 1.7; }
@media (max-width: 900px) { .es-pricing-options { grid-template-columns: repeat(2, minmax(0, 1fr)); } .es-pricing-heading { grid-template-columns: minmax(120px, 170px) minmax(0, 1fr); gap: 9px 24px; } }
@media (max-width: 680px) { .es-pricing-heading { display: block; } .es-pricing-kicker { display: block; margin-bottom: 11px; } .es-pricing-heading p { margin-top: 12px; } .es-pricing-grid, .es-pricing-options { grid-template-columns: minmax(0, 1fr); } .es-pricing-card, .es-pricing-option { padding: 26px 22px; } .es-pricing-pro-card { padding: 25px 22px; } .es-pricing-button { width: 100%; } .es-pricing-page { padding-top: 0; } }
@media (prefers-reduced-motion: reduce) { .es-pricing-button { transition: none; } }
